Create a Grok Bot routine that stays reliable
Create a Grok Bot routine with a bounded input, exact output, stop condition, action cap, freshness check, approval rule and test cases.
Start with a task that already works
Run the workflow as a one-time task. Correct the instructions until the result is reviewable, save the process as a skill, then schedule it. Automation does not repair an unclear process.
Copy this routine template
Trigger: Run [schedule or event].
Read: Use only [named source] and only records [bounded by date, status or ID].
Freshness: Continue only when the source is newer than [limit].
Produce: Create [exact file, rows, drafts or message] in [location and format].
Approval: Stop before [send, publish, pay, delete, permission or production change].
Cap: Process at most [number] items.
Exceptions: If data is missing, conflicting or stale, report it and do not guess.
Stop: After the output and heartbeat are written, take no further action.
Test three paths
- Normal: valid current input produces the expected output.
- Missing: a required field or source produces an exception, not an invented value.
- Stale or excessive: old data or too many records triggers the stop rule.
Run all three supervised. Record what a correct result looks like before turning on the schedule.
Keep it observable
Append one heartbeat line with the routine name, run time, source timestamp, records processed, exceptions and output location. A run that completed against stale data should be marked failed.
Limits
50 routines per Bot. 20 most recent run records per routine. Long-inactive routines pause automatically. Event triggers exist via Cursor integrations (Slack message, GitHub notification).
Reviewed 1 Sep 2026 · How we review guides · See changelog.