Common errors and what they mean
The errors support sees most often, what actually causes each one, and the fix. Covers auth failures, rate limits, missing fields and values a destination app rejected.
<h2>How to read an error</h2><p>Every failed run carries a Syncline code and, underneath it, the message the destination app returned. Ours tells you which category of problem you have. Theirs tells you the specific rule that was broken. Codes beginning with AUTH mean the connection, FIELD means the mapping, RATE and TIMEOUT mean the other app was busy, and FLOW means the flow's own configuration.</p><p>Triage any failure in four moves.</p><ol><li><strong>Open the failed run</strong> from the History tab and read the code at the top.</li><li><strong>Read the destination app's own message</strong> underneath it. When the two disagree, the app is the one describing the actual rule.</li><li><strong>Check whether it repeats.</strong> Filter history to failures over the last day. One failure and a hundred failures are different problems even with the same code.</li><li><strong>Match the code to the table below</strong> and apply the fix, then replay the failed rows rather than waiting for the next trigger.</li></ol><h2>The ones we see most</h2><table><thead><tr><th>Code</th><th>Usual cause</th><th>Fix</th></tr></thead><tbody><tr><td>AUTH_EXPIRED</td><td>Token no longer valid, often after a password change</td><td>Reconnect the account and resume the paused flows</td></tr><tr><td>AUTH_SCOPE</td><td>The flow gained an action the connection was not approved for</td><td>Reconnect and approve the extra scope</td></tr><tr><td>FIELD_REQUIRED</td><td>A required destination field was empty on this record</td><td>Set a default value on that mapping row</td></tr><tr><td>FIELD_TYPE</td><td>Text arrived where a number or date was expected</td><td>Check the source value, then the cast rules</td></tr><tr><td>FIELD_OPTION</td><td>A select value does not exist in the destination</td><td>Add the option, or map to one that exists</td></tr><tr><td>RESOURCE_GONE</td><td>The board, base, channel or database was deleted or renamed</td><td>Point the flow at the replacement</td></tr><tr><td>RATE_LIMITED</td><td>The other app is throttling us, usually during a bulk import</td><td>Nothing, we retry three times automatically</td></tr><tr><td>TIMEOUT</td><td>The destination app did not answer within thirty seconds</td><td>Nothing, unless it repeats, then check their status page</td></tr><tr><td>DUPLICATE_BLOCKED</td><td>Matching found an existing record and the rule said do not write</td><td>Expected behaviour, no action needed</td></tr><tr><td>FLOW_PAUSED</td><td>Task limit reached or a connection went amber</td><td>Upgrade, or repair the connection</td></tr><tr><td>FILE_TOO_LARGE</td><td>An attachment is over the destination app's limit</td><td>We send a link instead, so usually nothing</td></tr></tbody></table><blockquote><p>Note: RATE_LIMITED and TIMEOUT are the two you can safely ignore when they appear once or twice a day. They are the normal weather of talking to somebody else's API. Worry when the same record fails all three attempts, which shows in the history as a final failure rather than a retry.</p></blockquote><h2>Errors that are not really errors</h2><p>Two statuses look alarming and are not. <em>Skipped</em> means your filter did its job. <em>Duplicate blocked</em> means matching found an existing record and your update rule said to leave it alone. Neither consumes a task and neither needs attention.</p><h3>When nothing in the table matches</h3><p>Copy the run ID from the top of the run detail page and send it to support with one sentence about what you expected instead. The run ID gives us the mapped values, the response and the flow version in one lookup, which turns a long conversation into a short one.</p><p>Before you write, check the status page. If an app connection is showing degraded there, the error in front of you is probably the same incident, and it will clear without anyone editing a flow.</p>
Related
read-the-run-history, reconnect-an-expired-connection, map-fields-between-two-apps