Pre-Built Templates
The four composable workflow patterns Sarudo ships with — scheduled-with-heartbeat, llm-with-retry, sheet-driven-fanout, and approval-loop-drafter.
Available Templates
Sarudo ships with four pre-built workflow patterns that cover almost every automation you are likely to build. Each template is a complete, production-grade shape with the important reliability primitives already wired in — cron scheduling in your configured timezone, silent-failure tripwires (heartbeats) on every non-success exit, and schema-aware HTTP calls that the automation validator can check before activation. You pick a template, fill in its parameters (URL, cron, sheet ID, etc.), and your AI employee hands the rest to n8n. Templates can also be customized after deployment for edge cases the defaults do not cover.
Why four templates and not forty? Hand-rolled n8n workflows — building a graph from scratch, wiring nodes together — is where automation failures come from. Starting every workflow from one of these four patterns collapses the risk: the tricky plumbing (cron timezones, heartbeat on silent skip, column-name sheet reads, LLM truncation retry) is already correct.
scheduled-with-heartbeat
The generic scheduled pipeline — a cron trigger, then an ordered list of HTTP calls to any Sarudo endpoints, then a terminal heartbeat that confirms the run completed. Use this when none of the specialized templates fits your shape. Every HTTP step targets a Sarudo endpoint you choose, so you can compose pretty much any routine chore out of it — scrape a page and log the result, poll an external API and update a CRM deal, run a weekly backup and email a confirmation. The built-in success heartbeat means you get a Telegram ping every time the workflow runs, so a silently broken schedule cannot go unnoticed.
Deploying a scheduled check
Hourly competitor price check with notification.
llm-with-retry
A trigger (manual, schedule, or webhook) plus an LLM generation step plus truncation-aware auto-retry plus delivery. Use this when you need an LLM output on a schedule or on demand — a weekly LinkedIn post, a monthly newsletter draft, an on-demand research brief. The retry-on-truncation is the important part: LLMs silently cut off long responses when they hit their token budget, and this template detects that and tries again with fresh context before declaring the run complete. If the retry still truncates, you get a partial-run heartbeat telling you the output may be missing its tail, so you can review before publishing.
Weekly LinkedIn post generator
Auto-generate and publish a thought leadership post every Monday.
sheet-driven-fanout
Schedule → read a Google Sheet by column header → filter rows → run a task per matching row → optionally mark those rows done. Use this whenever "the list of things to work on" lives in a spreadsheet — leads to enrich, clients to follow up with, webhooks to replay. The column-name read (not positional index) means you can rearrange the sheet without breaking the workflow, and the "mark done" step means each row is processed exactly once even if the workflow runs again before you finish reviewing. Zero-match heartbeats tell you when your filter caught nothing — useful for catching "I accidentally capitalized the status column" drift before it silently ignores every row.
Hourly lead enrichment from a sheet
Enrich leads marked "new" and flip them to "enriched".
approval-loop-drafter
The most specific of the four — the full "pick an approved topic from a calendar, draft it, email it for final approval" drafter pattern. Used for the daily article drafter shipped in the Content Calendar Pipeline, but also applicable to any human-approval-gated content workflow. Schedule fires → reads the calendar sheet by column header → picks the first row where Status=Approved AND Draft Status=Pending → calls the LLM with retry-on-truncation → builds the email (with a truncation banner in the subject if the LLM output came back cut off) → sends the draft to the reviewer → marks the row as sent so it is not picked twice. Success, zero-row, and truncation heartbeats are all wired in.
The approval-loop-drafter backs the daily article workflow in the Content Calendar Pipeline. If that category describes the end-to-end flow you want (research → approval → draft → publish), you do not need to deploy this template manually — the pipeline sets it up for you.
Daily blog article drafter
Draft one approved topic every morning and email it for review.
Composing Templates
Each template is a complete workflow on its own, but the HTTP-call slots inside each template (the "step URLs" in scheduled-with-heartbeat, the "task endpoint" in sheet-driven-fanout, the "delivery endpoint" in llm-with-retry, and so on) can target any Sarudo endpoint — including endpoints that trigger other workflows. That is how you compose richer pipelines: an llm-with-retry workflow can deliver to a webhook that fires a second workflow, or a sheet-driven-fanout can call the approval-loop-drafter's endpoint as its per-row task. You do not hand-wire these compositions — you describe the behavior you want to your AI employee, which picks the base template, fills in the right URLs, and verifies the shape against the automation contract validator before activating.
The automation validator checks every HTTP body in every workflow against the real endpoint schema at activate time. So if you accidentally compose templates with a mismatched field name (the class of bug that caused the 2026-04-22 blog-drafter cascade), the activation is refused before the workflow ever runs — not after it silently drops data.