No.002•

Issue 2026-11-02: Getting started with GrokBot Routines

Let your Bots get to work while you're away: schedule and event triggers, time zones and the first run, writing the prompt as an intent, naming who gets the result, weekday windows by default, self-expiring watches, and pausing, resuming, and testing.

  • Routines
  • Scheduling
  • Automation
  • Getting started

What this issue covers

In the last issue we split one do-everything assistant into a team of Bots with clear roles. Now that the team exists, the next step is to let it clock in on its own: compiling the news every morning, telling you the moment a CI check fails, or handling a certain email as soon as it arrives.

That's what Routines are for. According to the official docs, a routine tells one Bot when to run a workflow: on a schedule, or when something happens. It runs in the cloud, so it keeps going while your laptop is closed. This issue walks through how to use routines well, from scratch.

Five tips you can use today

Each tip comes with an example prompt. Replace the parts in square brackets with your own details and send it to the Bot that should own the job.

Tip 1: Get it working once, then make it a routine

The official docs recommend starting with a one-time task, making it reliable, saving the method as a skill if it helps, and only then automating it. If you schedule an idea that has never worked end to end, you usually just get a string of failed runs.

Creating one is simple: in chat, tell the Bot in plain words what to do, when, and who gets the result. Before it's created, confirm these:

Owning Bot
Which Bot runs it, for example Research Bot
Schedule and time zone
For example "every weekday at 8:00 AM", in the time zone from your settings
Input source
Where the data comes from
Expected result
What gets delivered, in what format
Approval boundary
What must be checked with you first
Missing data
What to do when a source can't be reached
Example prompt · copy and send to your Bot
That news summary was great, and I'd like you to do it regularly. Don't create anything yet. First give me a routine plan:
1. The goal as you understand it, in one sentence;
2. A suggested time and frequency, and why;
3. The data sources;
4. The delivery format and where it goes;
5. What you won't do on your own and will ask me first;
6. What you'll do if a source can't be reached.
Create it once I confirm.

Tip 2: Describe the schedule in plain words, then check When to run

Describe schedules in natural language, like "every weekday at 8:00 AM" or "every 2 hours". They follow the Timezone in Settings, under Bot, and Auto-detect follows your computer. If the work belongs to an office in another city, you can pick a different zone.

After it's created, open the routine and look at When to run. It shows the saved schedule in words. If it's wrong, choose Edit and tell the Bot what to fix. Two common pitfalls:

Remember
  • A new scheduled routine waits for its next scheduled time before its first run
  • To see it work now, open it and choose Test; the result shows up in the Bot's chat
  • A test does real work: it can change files and use connected apps, so use a safe input
Avoid
  • Setting "every day at 8:00 AM" at 8:05 and waiting for it to run today
  • Testing with a real task that sends messages to other people
  • Running it as often as possible: match the cadence to when you'll actually read the result

If what matters is "ready by a certain time" rather than "start at exactly that time", put the deadline in the prompt and let the Bot pick a run time early enough to meet it.

Example prompt · copy and send to your Bot
Set up a routine: every weekday, before [9:00 AM], compile new developments on [topic] into a summary of at most 10 items, each with its source link.
I want the result waiting when I open this chat at [9:00 AM], so pick a run time that's early enough, and tell me the final saved schedule and time zone.

Tip 3: Write the prompt as an intent, and end it with the recipient and the "nothing new" rule

Every run re-reads the prompt you saved. If you write it as a rigid recipe (click here, then call that), the next run breaks as soon as a tool or page changes. It's better to describe the goal and the standard, and let the Bot work out the right method each time.

End the prompt with one line covering two things: who gets the result and where (for example, right here in this chat), and what to do when there's nothing new. In most cases, "if there's nothing new, stay quiet" saves you a lot of noise.

Example prompt · copy and send to your Bot
Save the following as the instruction for this routine:
Goal: every day, check whether [project or topic] has any new change worth my attention, judged by [your criteria].
Rules: use only primary sources and link each item; if a source can't be reached, report the failure instead of reusing old data; don't contact anyone on my behalf.
Delivery: send the result to me, here in this chat, conclusion first and details after; if there's nothing new, send nothing.

Tip 4: Default to weekday daytime hours, and make one-off watches expire

When most people say "check daily" or "keep an eye on it", they mean "regularly", not "including weekends and 3 AM". So a good habit is to run routines on weekdays during waking hours by default, and only ask for weekends or nights when there's a real reason: an incident, a release, or a reminder about your own life (medication, pet care, a daily habit).

The other kind is a one-off watch: "tell me when this pull request merges" or "let me know when this item drops in price". These should end on their own. Once the condition is met, the routine reports once and deletes itself, or it carries a deadline and ends when the deadline passes, so it doesn't keep running and using up usage in the background.

Example prompt · copy and send to your Bot
Keep an eye on [what to watch] and tell me once, in this chat, when [condition] is true.
Rules:
1. Only check on weekdays between [9:00 AM and 6:00 PM], as rarely as still makes sense;
2. After the condition is met and you've told me, delete this routine;
3. If it still hasn't happened by [deadline], tell me that too, then delete it.

Tip 5: Let events wake the Bot instead of polling

Besides schedules, a routine can start when something happens: a Slack message (the Bot is mentioned, a word or phrase appears, you react to a message, or any message), a GitHub event (such as a new pull request or a CI check passing or failing), a Linear, Sentry, or PagerDuty event, an email to the Bot's own address, or a webhook call. Only new activity counts: events from before the trigger existed don't start a run.

Event triggers rely on the matching app being connected to your account, which may need its own connection. The official docs stress keeping the rule narrow. Avoid listeners like "every message in a busy channel": they run often, spend usage, and make it more likely the Bot acts on irrelevant input.

For a webhook, open the routine on desktop: the Webhook section shows the URL and key, and you click a field to copy it. A 200 response means Grok Bot accepted the call and started a run, not that the Bot has finished. Check the Bot's chat for the result.

Example prompt · copy and send to your Bot
Set up an event-triggered routine: when a CI check fails on the main branch of [repo name], read the failure logs, find the most likely cause, and give me a short report in this chat (which check failed, your diagnosis, a suggested fix).
Don't change or push any code; diagnose only. Don't message me when checks pass.

Limits you should know

  1. Passwords and cards
    A routine run can't fill a saved login, a card, or other private details on its own, because that needs you in the chat. When it gets to that step, it pings you in chat so you can sign in or approve the fill.
  2. Confirmation cards
    Creating or changing a routine may show a confirmation card with the schedule and instruction, and it saves only after you confirm, because a routine acts while you're away.
  3. Pause and resume
    When you don't need a routine for a while, ask the Bot to pause it and resume it later instead of deleting it. On the phone, the matching control is the Active switch.
  4. Hiding isn't pausing
    Hiding a Bot from the sidebar doesn't stop its routines. Only deleting the Bot removes them too.

Case study: a newsletter team that clocks in on its own

Continuing the fictional lineup from the last issue (not anyone's real setup): a small team publishes a weekly newsletter and maintains a side-project app. Here's a routine for each Bot:

BotRoutineTriggerResult goes to
Research BotCollect new material on the week's topicWeekday morningsIts own chat, nothing sent if nothing new
Writer BotTurn the reading list into a draftOne fixed morning each weekReviewer Bot
Reviewer BotCheck every claim against its sourceWhen a draft arrivesYou
Planner BotSummarize the week's requests and progressMonday morningsYou
Builder BotDiagnose failed CI checksWhen a main-branch check failsYou

Highlight: a relay from schedule to event

Research Bot
Collects material every weekday morning
Writer Bot
Writes the weekly draft
Reviewer Bot
Checks every source
Me
Reads the verdict and decides to publish
  • Research Bot → Writer Bot: reading list
  • Writer Bot → Reviewer Bot: draft
  • Reviewer Bot → Me: review verdict
  • Reviewer Bot ⇢ Writer Bot: sent back if there are problems

Publishing stays with you. In the whole pipeline, you're only interrupted when a decision is needed.

Example prompt · copy and send to your Bot
You're this team's Planner Bot. Design a set of routines so Research Bot, Writer Bot, and Reviewer Bot relay one newsletter issue every week:
1. Which routine each Bot needs, whether it runs on a schedule or an event, and the suggested time;
2. Who gets each routine's result, and what happens when there's nothing new;
3. Which steps must wait for my confirmation.
Give me the plan as a table first; once I confirm, we'll create each routine in its own Bot.

Community picks: common ways to use routines

This time we've rounded up a few common, easy-to-start routine patterns. They're general ideas, so swap in your own times and sources.

A weekday morning briefing

Shortly before you usually start work, combine your calendar, the important bits of unread email, and news from your field into one briefing. What matters is having it ready before you open the chat, not running it as early as possible.

First response when a CI check fails

When a main-branch check fails or a new pull request opens, the Bot reads the logs and drafts a diagnosis, so there's already a first read on the problem when you come online. Diagnosing without touching code is the safest way to start.

A dedicated inbox for notifications

Give a Bot its own email address and send certain services' notifications there. Each email triggers a routine that sorts it, pulls out the key points, and only tells you about what actually needs handling.

One-off "tell me when it happens" watches

Waiting for a pull request to merge, a page to update, or an item to drop in price? Make it a self-expiring routine: it reports once when the condition is met and then deletes itself, leaving nothing behind.

Life reminders that include weekends

Work routines default to weekdays, but reminders about your own life, like medication, pet care, or a daily habit, should run all seven days. Skipping the weekend there would be the bug.

Further reading

Share your own routine setups on X (scrub private details first) with #StudyGrokBot, and the best ones will be featured in future issues.

Exercise for this issue

Spend 15 minutes giving one of your Bots its first routine.

  1. Pick a task
    Choose something you ask a Bot to do by hand every week, and run it once by hand first.
  2. Get a plan
    Send it the Tip 1 prompt and get a routine plan back.
  3. Write the instruction
    Rewrite it the Tip 3 way: state the intent, name the recipient, and add "send nothing if there's nothing new".
  4. Set the time
    Following Tips 2 and 4, put it on weekday daytime hours, then check When to run and the time zone after it's created.
  5. Test once
    Choose Test with a safe input, read the result in chat, and ask the Bot to edit it if it's not right.
Tomorrow
Stay tuned for the next issue

Study GrokBot: GrokBot teaches you how to use GrokBot, updating daily with various GrokBot tips and tricks, as well as creations and gameplay shared by experts.

Quick answers

How is a routine different from a normal chat?

In a chat you send a message and the Bot works once. A routine saves a prompt with a trigger, and the Bot starts on its own when the time comes or the event happens. It runs in the cloud even when you're offline or your laptop is closed, and the result shows up in the Bot's chat.

How do I create a routine?

Just tell the Bot that should own the job, in chat, what to do, when, and who gets the result. For example, "Every weekday at 9:00 AM, summarize new support tickets in this chat." The Bot creates it, and it appears in that Bot's routines.

Which time zone does a schedule use, and why didn't it run right after I created it?

It uses the Timezone in Settings, under Bot. Auto-detect follows your computer. A new scheduled routine waits for its next scheduled time, so if you set "every day at 8:00 AM" at 8:05, the first run is tomorrow at 8:00 AM. To check it right away, open it and choose Test.

My routine didn't run. What should I check first?

Make sure it isn't Paused, then check that When to run shows the schedule or trigger and time zone you expect. Event triggers only count new activity from after the trigger was created.