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
- Go to your Tishtar Dashboard -> Routines.
- Click on the routine that failed, then switch to the Runs History tab.
- Tap on the failed execution timestamp.
- 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.
- Open the routine inside Tishtar Studio.
- In the top navigation bar, click the “Live Test” button (⚡).
- Tishtar will immediately fetch the target URL in real-time and display the extracted raw text payload in the split-screen debugger.
- 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.