Skip to main content
A flow is built from nodes. One trigger starts it; the rest fetch data, shape the flow, or deliver output. Drag nodes from the editor sidebar and connect them by dragging from a node’s handle to the next node.

Triggers

Every automation has exactly one trigger. It decides when the flow runs.
TriggerFires whenProvides
ScheduleA cron-style schedule you set (every N minutes/hours/days, weekly, monthly, or a custom expression)trigger.event, trigger.fired_at
Post publishedOne of your posts is publishedtrigger.post.*
Post scheduledOne of your posts is scheduledtrigger.post.*
The trigger is created with the automation and can’t be removed — you can only change its type. The schedule editor lets you pick an interval, time, weekdays, or a custom cron expression, and the timezone defaults to your workspace timezone.

Source nodes

Source nodes pull external data into the flow. Both expose two output handles — has items and no items — so you can branch on whether anything new came back.
Reads an RSS/Atom feed from a Feed URL and exposes the matched item as fetched.title, fetched.link, fetched.description, and fetched.pubDate.TryPost remembers which items it has already seen, so the flow only runs for genuinely new entries.
Calls any HTTP endpoint. Configure the URL, method (GET/POST/PUT/PATCH/DELETE), authentication (none, bearer, basic, or API key), headers, and a body template. Auth tokens and passwords are stored encrypted.The JSON response becomes fetched, so you reference any field with {{ fetched.<path> }}. Optional items path, item key path, and item date path settings let it walk a list response and dedupe items the same way the RSS node does.
First run sets a baseline. The first time a source node polls an existing feed or endpoint, it records what’s already there and produces nothing — only items that appear after that trigger the flow.New items fan out. When a source node then finds several new items at once, each one runs the downstream nodes independently — five new feed entries produce five posts. A test run only ever processes the first item, so it stays predictable.

Content node

Generates a post with AI and attaches it to one or more social accounts.
  • Accounts — which connected accounts and content types to post to. The most restrictive selected platform (smallest character limit) drives the generated copy so it fits everywhere.
  • Prompt — your instruction. Reference upstream data with {{ }}, e.g. Write a post about {{ fetched.title }}.
  • Image count0 for text-only (LinkedIn, X, Threads), 1 for a single image, or 2–10 for a carousel. The picker only offers counts the selected accounts support.
  • Use brand voice — when off, the post stays faithful to the source instead of being rewritten in your brand persona. Useful for news curation.
  • Use brand visuals — when off, generated images skip your brand colors and identity.
Provides generated.content and generated.post_url.
The Generate node uses the same content engine as Create with AI — see AI features and Brand profile.

Flow nodes

These shape the path the run takes.
Branches the flow. Compares a field (any {{ }} expression) against a value using one of: contains, not contains, equals, not equals, matches (regex), greater than, or less than. The flow continues down the matching branch.
Pauses the flow for a duration in minutes, hours, or days before continuing. Useful for spacing out actions.

Output nodes

Publishes the post created by an upstream Generate node. Choose a mode:
ModeResult
NowPublishes immediately
ScheduledSchedules it, offset by N minutes from now (default 60)
DraftLeaves it as a draft for you to review
Sends an HTTP request to an external system. Configure the URL, method, headers, and a payload template where you can inject any {{ }} expression.
Stops the automation at that point. Optional — a branch ends on its own when it has no more nodes.

What’s next

Variables and expressions

Pass data between nodes with {{ }}.

Testing and monitoring

Test runs, the invocations log, and metrics.