Runs and errors
Every time a workflow is triggered, a run records what it did, step by step.
Where to see them
- In the workflow list, each card shows the runs from the last 30 days and, if any, how many failed (“N failed”).
- Inside the editor, the Runs tab shows the 50 most recent, newest first. Click Refresh to load the latest.
Each row shows the status, the event that started it and when it happened. Tap it to see the detail, and click View on canvas to see its path over the flow: with the version it ran with even if the draft has changed, each step with its result (done, with an error or waiting), the branch each decision took and what didn’t run dimmed. Back to editing returns to the draft.
Run statuses
| Status | Meaning |
|---|---|
| Queued | Created and about to run, or a step failed and it is waiting for its next attempt. The detail shows “Resumes” with the time of that attempt. |
| Running | Running right now. |
| Waiting | Reached a wait step. The detail shows “Resumes” with the date. |
| Completed | Finished every step it had to run. |
| Failed | A step failed with no attempts left. The following steps did not run. |
| Needs attention | A send to the client or to another system was cut off without a response, and repeating it could duplicate it. The run stops until someone checks the destination: It arrived: continue goes on without repeating it; It didn’t arrive: retry sends it again. |
| Canceled | Someone canceled it, or the workflow fell outside the plan or its event stopped existing before it finished. Pausing the workflow cancels nothing: whatever was in progress waits until you resume it. |
Result of each step
In the detail, every evaluated step shows its result:
| Result | Meaning |
|---|---|
| Done | The action completed. |
| Error | The action failed. The reason appears below. |
| Unconfirmed | The send was cut off without a response: it is not known whether it arrived. See No effect happens twice. |
| In progress | The action is running right now. |
| Met | The condition was true and the flow took the “met” branch. |
| Not met | The condition was false and the flow took the “not met” branch. |
| Waiting | The run reached a wait. |
| Deadline passed | A Wait until… step reached its time limit without the condition being met and continued through “If the time runs out”. |
Below each step you see what it sent or what it found, exactly as it was recorded: the subject and message of an email, the values a condition compared, what a lookup returned. If an action needed more than one attempt, you also see which one it is on, for example “Attempt 2 of 6”. The first line of the detail shows which version of the workflow it ran with.
Steps in the branch that was not taken do not appear, because they did not run.
Automatic retries
When an action fails, Cord tells apart what happened:
- It was not done and may go through later. The destination responded with a temporary error (Slack or HubSpot down, an hourly limit used up). Cord retries it on the schedule below.
- It will not change on its own. A connection is missing, the client has no email, the URL is not valid. The run becomes Failed on the first attempt: fix the cause and click Retry.
- It is not known whether it arrived. The send was cut off without a response. What can be repeated without duplicating is retried; the rest stops. See No effect happens twice.
Each step has its own attempts, and every attempt continues from the step that failed: steps already done are not repeated. If the task was created and the Slack message after it failed, the retry only sends the Slack message.
| Attempt | When it runs | Status while it waits |
|---|---|---|
| 1 | When the event happens | Running |
| 2 | About 2 seconds later, in the same run | Running |
| 3 | About 15 seconds later, in the same run | Running |
| 4 | About an hour later | Queued |
| 5 | About 4 hours later | Queued |
| 6 | About 12 hours later | Queued |
| No more attempts | The run becomes Failed with the last error message | Failed |
The waits vary a little on purpose, so that many runs do not retry in the same second, and Cord checks the queue every 5 minutes and whenever something happens in your account, so a queued attempt runs in the first check after the time shown.
No effect happens twice
Before performing an action, Cord records in the history that it is about to try it. If something is cut off halfway, Cord knows that step may have happened and does not repeat it blindly:
| Action | If the send is cut off without a response |
|---|---|
| Create a task | It is repeated: the task carries the step’s mark, and repeating it does not create another one. |
| Send the data to a URL | It is repeated with the same Idempotency-Key header, so your destination recognizes the retry and does not process it twice. |
| Expire the quote, Approve the internal request, Void the invoice | It is repeated: if the previous attempt already did it, the document is already in that state and nothing else happens. |
| Email the team, Slack and Teams | It is repeated: your team may get the alert twice, but it is not lost. |
| Email the client | It is repeated with the step’s key, which travels with the email: the service Cord sends through remembers it for 24 hours and, meanwhile, a second attempt doesn’t reach the client. If your account sends from your Gmail, Gmail doesn’t know that key and the step stays Unconfirmed, like the WhatsApp. |
| Send the client a WhatsApp and Add a note in HubSpot | It is not repeated: what your client sees or another system stores is never sent twice blindly. The step stays Unconfirmed and the run Needs attention until you say whether it arrived. |
A step that was already confirmed is never done again, even if the run is retried.
Retry by hand
On a Failed run, click Retry. It goes back to Queued with the step’s attempts reset, continues from the failed step and runs right away. Use it after fixing the cause, for example after reconnecting HubSpot.
Retry uses the published version: if the cause was in the workflow itself (an empty text, a wrong URL, the WhatsApp variables), fix it, publish and retry; the run continues from the same step even if you moved it. If the run ran with another version, you can also click With the original version (vN) to retry it exactly as it started. If the step where it failed no longer exists in the published version, you see “The step where this run failed no longer exists in the published version. Retry it with the original version.”
In a run that Needs attention, check the destination first. If it arrived, click It arrived: continue: the step counts as done and the run goes on without repeating it. If it didn’t arrive, click It didn’t arrive: retry: Cord does it again. If you no longer want it to continue, click Cancel.
Only failed runs or runs that need attention can be retried; otherwise you see “Only failed runs or runs that need attention can be retried.”
Run it again
There is no button to repeat a run that already finished (Completed or Canceled): repeating it could send the same email to the client twice or create the same task twice. Depending on what you need:
- See what it would do with a real event, without sending anything: use Test in the editor. See Publish, pause and delete.
- Make it really run again: cause the event again, for example by resending the quote. Every new event creates its own run.
- Recover a failed run: Retry, as explained above.
Cancel
On a Queued or Waiting run, click Cancel. It becomes Canceled and no more steps run. What it already did is not undone.
Automatic pause
If a workflow’s last 5 finished runs failed or ended in Needs attention, Cord pauses it so it does not keep failing with every event:
- Nothing in progress is lost: it waits at its step, as in any pause.
- The person who published it and the account owner get an email, and the editor and the workflow list say why it is paused.
- A run that succeeds in between restarts the count.
Review its runs, fix what is failing and click Resume. To hear about every failure as it happens, not only the pause, create another workflow with the A workflow run fails or needs attention trigger that notifies Slack, Teams or the team.
Error messages and what to do
Messages appear in your account’s language.
Tasks
| Message | Cause | What to do |
|---|---|---|
| The task title came out empty. | The title only had event data and it arrived empty. | Add fixed text to the title. |
| The task could not be created. | Cord rejected the task; for example, the quote it was going to be linked to no longer exists. | If the quote was deleted, retrying won’t help. Otherwise, click Retry and, if it persists, write to us. |
| Workflows reached their hourly limit of tasks. | Your workflows created 120 tasks in one hour. | Check whether a workflow triggers more than expected; retry later. |
Team email
| Message | Cause | What to do |
|---|---|---|
| There is nobody to send the email to. | The account has no owner with an email, or no active members. | Check Settings › Team & roles or change To. |
| Email is not available right now. | It could not be delivered to anyone. | Cord retries on its own. If it persists, write to contacto@cordhq.app. |
| Workflows reached their hourly limit of emails. | 30 emails in one hour. | Consider Slack or Teams for frequent alerts. |
Client email
| Message | Cause | What to do |
|---|---|---|
| This event does not carry a quote to act on. | The trigger carries no quote, or the quote no longer exists. | Use a quote or invoice trigger. |
| This event does not carry an invoice to act on. | The event’s invoice no longer exists. | Nothing to retry for that document. |
| The client has no email on file. | The document’s client has no email. | Add the email to the client and click Retry. |
| The message came out empty. | The message only had empty data. | Add fixed text. |
| You reached your plan’s sending limit for this month. | The monthly sending quota ran out (5 on the Free plan). | Wait for next month or upgrade. |
| The email to the client could not be sent. | The email service rejected it, usually because the client’s address isn’t valid, or it stayed overloaded after every retry. A rejection isn’t retried: repeating it changes nothing. | Check the client’s email and click Retry. |
| Workflows reached their hourly limit of emails to clients. | 60 client emails in one hour. | Retry later. |
| Message | Cause | What to do |
|---|---|---|
| Connect WhatsApp in Settings › Integrations to use this action. | WhatsApp is not connected. | Connect WhatsApp and click Retry. |
| The client has no phone with a country code on file. | The client has no phone, or it does not start with + and the country code. |
Edit the client, save the number with + and retry. |
| WhatsApp did not accept your template. Check it in Settings › Integrations: it must be approved and have the same number of variables. | The template is not approved, the name does not match, or the number of variables differs. | If the problem is the template, fix it in Meta or in Settings › Integrations and retry. If it is the step’s variables, fix them and publish: it applies to new events. |
| WhatsApp did not accept the message. It retries on its own. | A temporary rejection. | Nothing; Cord retries. |
| Workflows reached their hourly limit of WhatsApp messages. | 60 messages in one hour. | Retry later. |
Slack
| Message | Cause | What to do |
|---|---|---|
| Connect Slack in Settings › Integrations to use this action. | No Slack URL saved. | Connect Slack and click Retry. |
| Slack did not accept the message. Check the connection in Settings › Integrations. | The webhook was deleted or the app was removed from the channel. | Create a new webhook in Slack, paste the URL and retry. |
| The message came out empty. | The message only had empty data. | Add fixed text. |
| Workflows reached their hourly limit of Slack messages. | 120 messages in one hour. | Retry later. |
Teams
| Message | Cause | What to do |
|---|---|---|
| Connect Microsoft Teams in Settings › Integrations to use this action. | Teams is not connected. | Connect Teams and click Retry. |
| Microsoft no longer accepts the Teams connection. Reconnect it in Settings › Integrations. | With Connect with Microsoft, access expired or was revoked. | Click Reconnect on the card and retry. |
| Teams did not accept the message. Check that the channel or the flow is still active. | The channel no longer exists, you lost access to it, or the Power Automate flow was turned off or deleted. | Pick another channel or paste a new flow URL, and retry. |
| The message came out empty. | The message only had empty data. | Add fixed text. |
| Workflows reached their hourly limit of Teams messages. | 120 messages in one hour. | Retry later. |
HubSpot
| Message | Cause | What to do |
|---|---|---|
| HubSpot needs to be reconnected in Settings › Integrations. | Cord’s access was revoked. | Click Reconnect and retry. |
| HubSpot did not accept this step’s data. Check the setup in Settings › Integrations. | HubSpot is not connected or needs reconnecting; the quote or client has not reached HubSpot yet, or the trigger has no quote or client; or the Deal or Company was deleted in HubSpot. | Check the connection. If the record has not arrived, wait; if it ends Failed, check that stages are complete and that the trigger is about a quote or client. |
| HubSpot did not respond. It retries on its own. | A temporary HubSpot failure. | Nothing; Cord retries. |
| The note came out empty. | The note only had empty data. | Add fixed text. |
| Workflows reached their hourly limit of HubSpot notes. | 120 notes in one hour. | Retry later. |
Send the data to a URL
| Message | Cause | What to do |
|---|---|---|
| The destination URL is not valid or points to an internal server. | The URL is not https or not on a public server. |
Fix the URL and publish. The fix applies to new events; this run keeps the previous URL. |
| The destination URL did not accept the request. | The destination responded with an error or did not respond in time. | Check the destination; Cord retries on the schedule above. |
| Workflows reached their hourly limit of posts to a URL. | 120 posts in one hour. | Retry later. |
Document actions
| Message | Cause | What to do |
|---|---|---|
| This event does not carry a quote to act on. | Expire the quote or Approve the internal request with an event that has no quote. | Use a quote trigger. |
| The quote is no longer in a state that allows this action. | When expiring: the quote was already approved, rejected or expired. | Nothing to retry. |
| Your current plan does not include internal approvals. | Approve the internal request without approvals in your plan. | Internal approvals require the Scale plan or higher. |
| This quote no longer has a pending approval request. | Someone already decided it or it was withdrawn. | Nothing to retry. |
| This event does not carry an invoice to act on. | Void the invoice with an event that has no invoice. | Use an invoice trigger. |
| This invoice cannot be voided: review it in Invoices. | It has payments applied (it needs a credit note) or another rule prevents voiding it. | Review it in Invoices. |
| Workflows reached their hourly limit of changes to quotes. | The hourly cap of workflows for this change. | Check whether a workflow fires more than expected; it retries on its own. |
| Workflows reached their hourly limit of voided invoices. | The hourly cap of workflows for this change. | Check whether a workflow fires more than expected; it retries on its own. |
General
| Message | Cause | What to do |
|---|---|---|
| The workflow was deleted before this run finished. | It was deleted while the run was in progress. | Nothing to retry. |
| The send was cut off without a response and we don’t know whether it arrived. So that no one gets it twice, Cord did not retry it: check at the destination and tell us whether it arrived. | An email or WhatsApp to the client, or a note in HubSpot, was cut off without a response. The run is left in Needs attention. | Check whether it arrived and click It arrived: continue or It didn’t arrive: retry. |
| The person who published this workflow is no longer on the team, so it was paused. Publish it again so it acts with your permissions. | The person who published it left the team or their access was deactivated. No step runs on their behalf. | Publish it again; from then on it acts with your permissions. |
| The person who published this workflow no longer has the permission this step needs, so it was paused. Someone who has it needs to publish it again. | The person who published it had that step’s permission removed. | Have someone with that permission publish it. See Publish, pause and delete. |
| Your current plan does not include this active workflow. | You downgraded and this workflow fell outside the limit. | Pause other workflows or upgrade. See Limits. |
| The event that started this run no longer exists. | The event record was removed. | Nothing to do. |
| The workflow went over the allowed number of steps. | The run went past the maximum number of steps. | Split the rule into two workflows. |
| This action is no longer available. | The run used an action Cord retired. | Edit the workflow and publish again. |
| This lookup is no longer available. | The run used a lookup Cord retired. | Edit the workflow and publish again. |
| Internal error while running the action. | An unexpected Cord failure. | It retries on its own. If it ends Failed, click Retry or write to us. |
The health panel
Above the Workflows list there is a summary of the last 30 days: how many runs there were, how many completed, how many failed, how many need attention and how many are still running or waiting. In the list, each workflow with runs that need attention says so under its run count.
Below it, Why they failed: the five most frequent causes, with how many times each one happened, in which workflow it last happened and when. That is the difference between “something is failing” and “Slack disconnected on Tuesday”: if one cause has 40 failures and the rest have none, you already know what to fix.
The panel shows up as soon as there are runs. If nothing failed in the period, it says so instead of showing an empty list.
Related
- Publish, pause and delete: versions and testing without publishing.
- Limits: hourly caps that can make a step fail.
- Actions: what each action needs to work.