> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ocoya.com/llms.txt
> Use this file to discover all available pages before exploring further.

# A workflow didn't run

> Work through the reasons a workflow stayed quiet, in the order they're most likely.

Open the workflow and look at **View runs** first. That tells you which problem you have:

* **No runs at all** — the trigger never fired. Work through the section below.
* **Runs marked Exited** — it fired and a Filter stopped it deliberately.
* **Runs marked Failed** — it fired and something broke. The run carries the error.

## Nothing ran at all

**Is it live?** A workflow sitting at **Inactive** never fires. New workflows start inactive, and pausing one leaves it that way. See [Switch a workflow on](/help/activate-a-workflow).

**Does it still have errors?** A workflow with an unresolved step can't be set live at all — the red count in the header is the thing to clear.

**Has the trigger actually happened yet?** This is the most common answer, and the timings surprise people:

| Trigger                  | When it really fires                                                      |
| ------------------------ | ------------------------------------------------------------------------- |
| **New RSS item**         | Feeds are checked **every 1–2 hours**, not continuously                   |
| **Product published**    | Only the **first** time a product goes live, and up to **5 minutes** late |
| **Schedule**             | On the interval you set, counted from when it went live                   |
| **New comment**          | Only on the **one post** you picked, not everything you publish           |
| **New mention / New DM** | Facebook and Instagram only                                               |

<Warning>
  Comment, mention and DM triggers run on the Inbox, which supports **Facebook and Instagram only**. A DM workflow on an X or LinkedIn channel will never fire, however healthy the connection looks. See [Inbox](/help/inbox).
</Warning>

**Are you out of credits?** Runs need a credit each. With an empty balance, runs fail rather than silently skipping — check for failed runs carrying:

> You've exceeded the credit limit. Upgrade to get more.

**Are you on a paid plan?** Workflows need one. On the free plan you'll have hit an upgrade prompt when creating it.

## It ran but exited

An **Exited** run means a Filter's condition wasn't met, and the workflow stopped on purpose.

Check the filter's keywords against what actually arrived. Two things catch people:

* The condition is **Contains** or **Does not contain**, and both are case-insensitive — so case isn't your problem, but a hyphen, a plural or an emoji between the words might be.
* A filter with a narrow keyword exits far more often than it proceeds. That's normal. Lots of exits and no failures usually means the filter is working and the keyword is simply rare.

## It ran but failed

The run carries the error. Common causes:

**The channel needs reconnecting.** A Create post or Send DM step fails the same way a scheduled post does when access has lapsed. See [Reconnect a channel](/help/reconnect-a-channel).

**The post broke a network rule.** An AI agent writing without limits in mind can produce a caption too long for the channel, or hashtags beyond what the network allows. See [Character and media limits](/help/channel-limits).

**Credits ran out mid-period.**

## It ran and succeeded, but nothing appeared

Check what the **Create social post** step is set to do. Its **Behavior** decides whether the run publishes the post or leaves it as a draft — a workflow quietly filling Planner with drafts has worked exactly as configured.

Look in [Planner](/help/planner-views) for posts you didn't write. Filtering by date around the run usually finds them.

## It's running too often

Pause it. That stops the runs and the credit spend immediately, and keeps the history so you can see what happened.

A comment or DM trigger fires **once per comment or message**, so a post that does well can produce a lot of runs quickly. If that's the cause, a tighter Filter is the fix — filtered-out runs still cost a credit each, but they won't post.

## Still stuck

[Contact support](https://app.ocoya.com/?modal=support) with the workflow name, roughly when you expected it to fire, and the error text from a failed run if there is one.

## Related

<Columns cols={2}>
  <Card title="Switch a workflow on" icon="play" href="/help/activate-a-workflow">
    Clearing errors, going live, and reading runs.
  </Card>

  <Card title="What are credits?" icon="zap" href="/help/credits">
    Why every run costs one, including failed ones.
  </Card>
</Columns>
