Troubleshooting automations
How to diagnose a failing APIANT automation with Claude or the assistant, and the causes and fixes for the most common failures - 401 turn-offs, empty mapped values, polling triggers that do not fire, webhooks that start no run, and usage limits.
Claude and the in-app assistant can each diagnose a failing automation: both read the run history, find the step that failed and its recorded input and output, explain the cause, and propose a fix.
Diagnose with Claude or the assistant
In Claude Code, ask in plain English:
- "Why did the last run of the Shopify to QuickBooks sync fail?"
- "What failed across my automations today?"
- "The HubSpot contact sync hasn't run since Tuesday. Find out why."
Claude opens the failed run, reads each step's input, output and error, and shows how each mapped value was resolved, which is how an empty value is traced to its source. When Claude finds the cause, it proposes a fix, applies it when you agree, and tests the automation again.
In the browser, select Ask about this on a failed run in Execution History, or in the automation's gear menu on the dashboard. The assistant starts a conversation about that run. See Ask about an automation or a failed run.
The automation was turned off
| Cause | How to tell | Fix |
|---|---|---|
| An app returned HTTP 401 | An alert says a 401 error turned off the automation and to reconnect the account, and the last run failed with http 401 | Reconnect the account on the Connections page, then turn the automation back on |
| Turn off automation on any alert is on | The last run ended in an error | Fix the error, then turn the automation back on. The setting is in the gear menu under Processing > Alert handling. |
| The account was disconnected | The app account no longer appears on the Connections page | Connect the account again and turn the automation back on |
You only receive the turn-off alert if Alert email delivery is set to something other than Never. See Error alerts.
A step fails with an authorization error
| Error | Cause | Fix |
|---|---|---|
http 401 | The token was revoked or the key is no longer valid | Reconnect the account |
http 403, or a message about a missing scope | The connection was not granted a permission the step needs | Select Reconnect on the connection and approve the added permission |
| The connection shows Reconnect needed | The token can no longer be refreshed, or the app needs new consent | Select Reconnect. Turning the automation on without reconnecting fails again. |
A step received an empty or wrong value
Open the run and look at the failing step's input.
| What you see | Cause | Fix |
|---|---|---|
| A field is empty | The earlier step or trigger did not return that field for this record, or the mapping points at a field with a different name | Ask Claude to trace where the value came from. Field names are case-sensitive. |
| A field holds only an ID where a name or email was expected | The trigger returns sparse records | Ask Claude to add a step that fetches the full record by ID |
| A date, phone number or amount is rejected | The two apps use different formats | Ask Claude to convert the value, such as a date format or cents to dollars |
A polling trigger does not start runs
A polling trigger checks the app on a schedule and starts a run only for records it has not seen before.
| Check | Detail |
|---|---|
| The automation is on | The dashboard row shows its state |
| The schedule | Execution History shows when the next check is due. Change it with Edit polling schedule… in the gear menu under Manage. The shortest interval depends on your plan (see Plans, usage and billing); a faster request is raised to the minimum. |
| Execution windows | Edit execution windows… in the gear menu can restrict when the automation runs |
| New records exist | Records seen on an earlier check are not processed again |
| Missed runs | Filter Execution History by Missed to find scheduled checks that never happened, and select Run it now |
A webhook was sent but no run started
| Check | Detail |
|---|---|
The sender got 404 | The URL is wrong or truncated, or the automation was deleted. Ask Claude or the assistant for the URL again and copy it exactly. |
| The automation is off | Deliveries are stored and run when the automation is turned back on |
| The account is over its monthly instant trigger or task limit | Deliveries are stored and run after the monthly reset |
| The same payload was sent twice | A duplicate delivery within the detection window is dropped |
| The app never sent it | For a trigger whose URL you pasted into the app, check the app's webhook settings and its delivery log |
Ask Claude "which automations have unprocessed webhooks?" to see stored deliveries that have not run.
A form, chat widget or web service is unavailable
These pages and URLs are served only while their automation is on. A form or chat widget shows a page saying its automation is not turned on, and a web service returns 503 web service is not active. Turn the automation on. See Forms, chat, web services and tools.
A run is stuck
| Symptom | Cause | Fix |
|---|---|---|
| The run shows Snoozed | It is waiting on a timer, form, approval or automatic retry | Open the run to see what it waits for. Use Wake up to resume a timer now, or ask Claude to cancel the run. |
| A paused run never resumes | Its automation is off. Paused runs wait until it is turned back on. | Turn the automation back on, or cancel the run |
| A run keeps executing | A long loop or a slow app | Select Halt execution… in Execution History, or ask Claude to stop it |
A usage limit was reached
| Limit | What happens |
|---|---|
| Tasks or instant triggers | Webhook deliveries are stored and run after the monthly reset |
| Form submissions | The form page shows a limit message instead of the form |
| Web service calls | Callers receive 429 monthly usage limit reached |
Check usage on the dashboard's usage panel and compare plans on the pricing page. See Plans, usage and billing.
When to contact support
Email support@apiant.com with the automation link and the link to the failed run when the cause is on APIANT's side, for example an error that should be treated as temporary but is not retried, or a 401 from an app that uses 401 for errors unrelated to credentials.