Tishtar
Home / Docs / Troubleshooting: How to Diagnose & Fix Failed Routine Executions

Troubleshooting: How to Diagnose & Fix Failed Routine Executions

Step-by-step diagnostic guide for failed routine runs: handling target site layout shifts, dynamic JS content, bot protection, and refining prompt rules.

When an autonomous routine in your dashboard shows a status of Execution Failed (or you receive an error alert), it usually indicates that the target web source changed its underlying layout, encountered a temporary network glitch, or returned non-parsable content.

This guide walks you through diagnosing the root cause and resolving it in under 2 minutes.


3 Most Common Causes of Failed Runs

┌─────────────────────────────────┐     ┌───────────────────────────────────┐
│ Root Cause                      │ ──► │ Immediate Solution                │
├─────────────────────────────────┤     ├───────────────────────────────────┤
│ 1. Target URL Redirect or 404   │ ──► │ Update URL to direct canonical    │
│ 2. Dynamic JS / Client Loading  │ ──► │ Switch to rendered snapshot mode  │
│ 3. Overly Strict Prompt Regex   │ ──► │ Relax prompt trigger conditions   │
└─────────────────────────────────┘     └───────────────────────────────────┘

Step 1: Inspect the Raw Execution Log

  1. Go to your Tishtar Dashboard -> Routines.
  2. Click on the routine that failed, then switch to the Runs History tab.
  3. Tap on the failed execution timestamp.
  4. Review the Error Message and HTTP Status Code:
    • 404 Not Found / 301 Moved Permanently: The competitor or portal moved the page. Update your routine URL with the new canonical address.
    • 403 Forbidden / Bot Verification Challenge: The target website added strict bot protection or IP geoblocking. Point your routine to a public RSS feed, sitemap, or API endpoint where available.
    • PARSER_EMPTY_BODY: The webpage loads its entire text dynamically via client-side JavaScript frameworks.

Step 2: Use “Live Test” to Debug in Real-Time

Never guess whether your prompt fixes the issue.

  1. Open the routine inside Tishtar Studio.
  2. In the top navigation bar, click the “Live Test” button (⚡).
  3. Tishtar will immediately fetch the target URL in real-time and display the extracted raw text payload in the split-screen debugger.
  4. If the raw text contains your target numbers (e.g., pricing or tender descriptions), the fetcher is working, and you only need to adjust your extraction prompt.

Step 3: Refine Extraction Prompts

If your prompt was too rigid, small cosmetic updates on the target website can cause the parser to return empty results.

  • Rigid (Fails easily): “Extract the price inside <span class='product-price-v2'>.”
  • Resilient (Production-grade): “Locate the primary product price on the page. Compare against the baseline and only report changes greater than $5.”

Need More Help?

If the target website continues to fail despite correct URLs and prompt tuning:

  • Enable Automatic Retries (up to 3 attempts with exponential backoff) in your routine advanced settings.
  • Check our Upstream Timeout Guide for slow-loading enterprise portals.