Automation
PostClaw Automation lets you chain AI skills into pipelines that run on a schedule — fully hands-off content publishing.
Concepts
| Term | Description |
|---|---|
| Skill | A single AI step: draft, rewrite, translate, generate image, etc. |
| Workflow | An ordered chain of skills with a defined input and output |
| Automation | A workflow bound to a schedule (cron) and a source |
| Run | One execution of a workflow, recorded in run history |
Creating a Workflow
- Go to Settings → Automation → Workflows
- Click New Workflow
- Add steps in order:
[Source: RSS Feed]
→ Skill: Summarize Article
→ Skill: Rewrite for LinkedIn tone
→ Skill: Generate header image
→ Output: LinkedIn post (scheduled)
Skills can pass context to the next step via {{output}} variables.
Source Types
| Source | Description |
|---|---|
| RSS Feed | Fetch latest articles on a schedule |
| Webhook | HTTP POST triggers the workflow |
| Manual | Run on demand from the UI or API |
| Cron | Pure time-based, no external source needed |
Cron Scheduling
Use standard 5-field cron expressions:
# Every weekday at 9 AM UTC
0 9 * * 1-5
# Every Monday and Thursday at 12 PM UTC
0 12 * * 1,4
# Every hour
0 * * * *
The UI includes a cron builder if you prefer visual configuration.
Attaching a schedule to an existing workflow registers the job right away. If the schedule itself is switched off, the job stays off — scheduling a disabled workflow never starts it running in the background.
Scheduled Runs Match What You Tested
A workflow now executes the same way no matter how it starts.
Previously this was not true. Pressing Run in the Studio always followed your graph exactly. On a cron tick, only workflows containing branching (if/else or loop) did the same — a straight-line workflow was instead handed to the AI as a description of what you wanted, and the model decided which steps to call. Step order, per-step settings and per-step model choice were binding when you tested and merely advisory when the schedule fired.
Both paths are now identical. If you verify a workflow with Run, the cron firing will do the same thing.
Run History
Every execution is recorded, including the ones that previously left no trace: cron firings, Generate in the composer, the blog generate drawer, and Run now on the dashboard. Only Studio runs used to appear in run history.
Two rules worth knowing:
- A run that is skipped — because another run holds the lock, or you are out of credits, or you hit your plan’s run cap — is not recorded. It never executed, so counting it would misreport your usage.
- A run that finishes without producing content is recorded as an error, not as a quiet success.
Approval Gate
Add an Approve step to pause the pipeline and wait for human review before publishing:
- Automation runs, stops at approval gate
- You receive a notification (email or in-app)
- Review the draft — approve or reject with feedback
- On approval, the pipeline continues to publish
Recommended for brand accounts or high-stakes content.
Per-Step Settings
Each step carries its own settings, applied only to that step:
- Model — pick a different model for this step
- Your own API key (BYOK) — use your provider key for this step
- Generation parameters — creativity and length controls
- Prompt — type it directly on the step in the canvas, or in the side panel
- Retry — how many times to retry, how long to wait, and what counts as worth retrying
These controls used to be collected and then ignored. The practical consequence was a billing one: if you picked your own BYOK model for a step, the run quietly used the built-in model instead and still drew down your PostClaw credits. Now the setting is honoured.
A prompt typed directly onto a step in the canvas also used to be lost on save — the step looked empty when you reopened it, and the run used the previous step’s output instead. That is fixed.
Step dropdowns now offer only values the step actually accepts. Some previously listed options that would fail, and one required setting rendered as a free-text box and silently defaulted.
Retry and timeouts
Retry is now available on every tool step. It used to appear on only a few step types, which left the AI-backed steps — the ones most exposed to a slow provider — as the ones you could not protect.
Each step is allowed 120 seconds. A workload that normally finishes just under that will fail intermittently rather than consistently, so retry is worth enabling on steps that call an external model.
Steps that publish or otherwise change something outside PostClaw are excluded from retry, so a retry can never double-post.
Webhook and Variables
Webhook bodies now substitute variables before sending:
{{input}}— the workflow’s input{{prev.text}}— the previous step’s output{{step.<id>.output}}— a specific step’s output
Previously the body was sent exactly as written, so a Slack payload like {"text":"{{prev.text}}"} arrived with the literal braces in it.
Two related fixes: a transform step’s Input field now works (it previously always read the immediately preceding step regardless of what you chose), and the format step’s “truncate if over limit” checkbox is now honoured.
Failures Are Reported as Failures
A recurring problem: a step failed, something covered for it, and the run was recorded as a success. These now stop the run instead.
| Situation | What used to happen |
|---|---|
| A news, trending or template lookup finds nothing | The message “no results in this window” was treated as the step’s content, fed into the next step, and the model wrote a post about the absence of data — billed, drafted, and logged as successful |
| A crawl is blocked or the site fails to respond | The error text became the step’s output and the next step wrote about it |
| A condition references a field that cannot be read | The false branch ran, the true branch was pruned, and the run reported success — indistinguishable from a genuine non-match |
Crawling several URLs still keeps partial results: if some succeed, the run continues with those. Only an all-failed crawl becomes an error.
The same “nothing found” answer is still a normal reply in chat — this stricter treatment applies to workflows only.
Available Steps
Three source steps now work that previously could not:
| Step | What was wrong |
|---|---|
| News source | It silently fell back to whatever prompt text was nearby. Your workflow said “News” and generated from something else entirely, with no way to tell |
| Trending source | Failed outright with “requires agent mode” on scheduled and Studio runs, while the same step worked in chat |
| Deep Research | Was never wired to its implementation, so it tried to load a skill under that name and failed |
News steps also fail loudly when the newest item is older than the freshness window, instead of quietly republishing month-old news.
Steps you can no longer add
Assemble video, Generate subtitles and Reference have been removed from the step picker because nothing in a workflow can supply what they need — adding one guaranteed a failed run. Existing workflows that already use them continue to render and run. They will return once the missing pieces land.
Generated Images Reach the Draft
A workflow that generates an image and creates a draft used to lose the image when run from the Studio — it was generated, billed, and then discarded, so the draft arrived with no media. The same workflow attached its image correctly when the schedule fired. Both paths now behave the same.
Templates and Saving
Workflow templates now come with starter content, and a template’s starter prompt is visible the first time you open it.
Saving and reopening a workflow no longer drops settings — step connections, output channels and source configuration all survive the round trip.
Skills Catalog
Skills available in workflows:
| Skill | Input | Output |
|---|---|---|
| Draft Post | Topic / URL | Social post text |
| Rewrite | Text + tone | Rewritten text |
| Translate | Text + language | Translated text |
| Summarize | Long article | Summary paragraph |
| Generate Image | Prompt | Image URL |
| Extract Hashtags | Post text | Hashtag list |
| Schedule Post | Post + datetime | Published post |
PostClaw ships with 66+ built-in AI skills across chat (write captions, threads, hashtags, translate, tone, SEO, variants…), image generation, and video generation. Every skill is available to every tier — Free, Pro, and Business all have full access to the catalog. Only your monthly AI credits and the number of custom (user-created) skill slots scale with your plan.
Quota and Limits
Each skill execution deducts AI credits based on the tokens it uses — not against a skill-access tier.
| Plan | Automation Runs/Month |
|---|---|
| Free | 10 |
| Pro | 200 |
| Business | 1,000 |
BYOK users have no run limit — you pay the AI provider directly.
API Trigger (Coming Soon)
API trigger is part of the upcoming public API. See the API Reference for planned endpoints.