Error Codes
A failed step records an error code and a message. The code is what
try_catch’s catch_codes matches and what decides whether a run is
retryable; the message says what went wrong in that case.
“Retryable” is FlowMint’s classification. A retryable error is retried only on a step with on_error: retry; read
Retries.
Step errors
Section titled “Step errors”| Code | Usual cause | Retryable |
|---|---|---|
config_error | A required setting is empty or invalid, often a placeholder that resolved to nothing; an unknown step type inside a nested list. | No |
invalid_input | A value is out of range, such as text over 1 MB for drive_create_text_file. | No |
credential_not_configured | The Drive or Printavo credential is not stored. | No |
credential_unreadable | The credential is stored but cannot be decrypted, usually after the site’s security keys changed. | Yes |
auth_failed | The other service answered 401 or 403. | No |
external_4xx | The other service rejected the request; for Printavo, also any error in its GraphQL answer. | No |
external_5xx | The other service failed. | Yes |
rate_limited | The other service answered 429. | Yes |
timeout | An HTTP request timed out. | Yes |
network_error | An HTTP request got no answer, such as a DNS failure. | Yes |
file_not_found | The uploaded file is no longer on the server. | No |
file_not_readable | The file exists but cannot be read. | No |
template_not_found | No .html or .txt template file with that name. | No |
email_send_failed | WordPress’s mailer refused the message. | Yes |
entry_not_found | The Promptless Forms entry does not exist. | Yes |
fre_delete_failed | Promptless Forms could not delete the entry. | Yes |
upstream_shape | pre_upsert_records: the list was not a list, too few records arrived, or too many failed. | Yes |
dependency_missing | A required plugin or library is not loaded, such as Promptless CPT Pages for the import step. | No |
unexpected | Any other exception, or an HTTP 3xx when redirects are off. | Yes |
php_error | A PHP error inside a step, such as a wrong value type — a bug to report, which a retry would repeat. Up to version 0.9.0 it left the run Running instead. | No |
validation_failed and permission_denied are also classed as not
retryable, for use by future steps; no current step records them.
Run errors
Section titled “Run errors”These appear as the run’s Error code without a failed step.
| Code | Cause |
|---|---|
workflow_not_found | The workflow was deleted before its queued run started. |
workflow_changed | The workflow’s steps were edited while the run waited to retry, so it could not carry on where it stopped. Replay it. |
retry_stranded | Set when updating from 0.9.0 or earlier on a run that was waiting for a retry that never started. Replay it. |
interrupted | Set when updating from 0.9.0 or earlier on a run left Running for over an hour. Check which steps finished before replaying it. |
enqueue_failed | Action Scheduler refused the job, so the run never started. Rare; check Tools → Scheduled Actions for errors. |
Connector and REST errors
Section titled “Connector and REST errors”These are answers to a request, not run errors.
| Code | Meaning |
|---|---|
connector_disabled | The connector switch is off. |
permission_denied | The user lacks flowmint_manage_workflows. |
invalid_workflow | Saving failed validation; the answer lists errors and warnings. |
invalid_json | The request body, or config, is not JSON text. |
already_exists | A workflow with that id exists. |
workflow_not_found, run_not_found | No such workflow or run. |
cannot_replay | The run is still queued or running. |
unknown_credential_key, not_testable | Not one of the four keys, or a key with no test. |