Grok Bot
Grok Bot Skills and Routines: Schedules, Triggers and Fixes
A Grok Bot skill is a reusable set of instructions for a task. A routine tells one Bot when to run a workflow: on a schedule, or when a Slack message, GitHub, Linear, Sentry or PagerDuty event, email or webhook call arrives. Make a task reliable and save it as a skill before you automate it.

On this page
- What is the difference between a Grok Bot skill and a routine?
- How do you save a skill or teach one by demonstration?
- How do you create a routine and set its schedule and time zone?
- How do you test a routine and manage it on desktop and phone?
- How do Slack triggers and webhooks start a routine?
- Why are my routines using up usage so fast?
- Why hasn't my routine run, or why did it fail with a rate limit error?
- What makes a routine safe to run unattended?
What is the difference between a Grok Bot skill and a routine?
A skill holds the method, and a routine holds the timing. Cursor's docs give the order: start with a one-time task, make it reliable, save the method as a skill, and only then automate it.
- Feature
- What it is
- Skill
- A reusable set of instructions for how to do a task
- Routine
- A rule telling one Bot when to run a workflow
- Feature
- Contains
- Skill
- Steps, decision rules, expected output and safety boundaries
- Routine
- An Instruction, plus When to run (schedule or events)
- Feature
- Scope
- Skill
- Available across your Bots, though a Bot may still need the relevant app or login
- Routine
- Owned by one Bot
- Feature
- Runs when
- Skill
- You ask the Bot for it by name
- Routine
- On a schedule, or after a supported event
| Feature | Skill | Routine |
|---|---|---|
| What it is | A reusable set of instructions for how to do a task | A rule telling one Bot when to run a workflow |
| Contains | Steps, decision rules, expected output and safety boundaries | An Instruction, plus When to run (schedule or events) |
| Scope | Available across your Bots, though a Bot may still need the relevant app or login | Owned by one Bot |
| Runs when | You ask the Bot for it by name | On a schedule, or after a supported event |
Follow that order, because a routine runs without you. It runs in the cloud while your laptop is closed, so any gap left in the skill repeats on every run, with nobody watching to catch it.
This exact topic is a hands-on Lesson: Grok Bot identity, routines and permissions — about 7 minutes, free to read.
Rather do it than read about it? Run 11 interactive Cursor walkthroughs in a simulated editor. Free, no account needed.
How do you save a skill or teach one by demonstration?
Ask the Bot directly once a task has gone well. Name the skill and say what it should capture, such as the source systems, risk definitions, output format, and the rule that customer contact always requires approval. A useful skill states when to use it, the required inputs and access, the sequence of work, how to validate the result, what to return, and what requires approval.
To use a skill, ask the Bot for it by name. If the Bot can't find a private skill, open Connect apps in the sidebar, select the connected count next to the title, and enable the skill for the current Bot under Private skills.
Teach a task is the shortcut for browser work. From a one-to-one conversation with the computer view open, choose Teach a task, describe the result, and perform the workflow once. Teaching records visible computer interaction for up to ten minutes and doesn't record microphone audio. Keep secrets out of the demonstration, and use the secure secret request for credentials.
A recording shows the clicks, but it can't show what should happen when the data is missing. Add decision rules, failure handling and approval boundaries to the learned skill, then test it on a safe input before you schedule it. Teach a task is rolling out gradually. If the control is missing, ask the Bot to create a skill from written instructions and a completed task.
How do you create a routine and set its schedule and time zone?
Ask the Bot that should own the job, in chat, and say what it should do and when. Cursor's example is "Every weekday at 9:00 AM, summarize new support tickets in this chat." The Bot creates the routine, and it appears in the Bot's routines. A fuller request also confirms the input source, the expected result, the approval boundary, and what happens when a source is missing, such as reporting the failure instead of using old data.
Schedules use the time zone in Settings > General, under Bot, labeled Timezone. Auto-detect follows the computer you're on, so pick a zone when the routine should follow a different one, such as the office where the work belongs. Plain phrasing works, like "every weekday at 8:00 AM" or "every 2 hours".
Then open the routine and read When to run, which shows the saved schedule in words. If it doesn't match what you meant, choose Edit and tell the Bot what to fix.
A new routine doesn't run when you create it. It waits for its next scheduled time, so a daily 8:00 AM routine set up at 8:05 first runs the next day. Use Test to try it right away.
Editing a routine and adding one both happen in chat, and the apps start the message for you. On desktop, open a routine and choose Edit: Grok BotAn early AI teammate product from SpaceXAI and Cursor that works across apps on a persistent cloud computer and asks for approval on selected actions; launch materials describe it as beta, but Cursor says Beta Services terms do not apply. Press Enter for the full definition. starts a message that begins "Edit your routine:" with the routine's name, and you add what should change. On the phone, Add routine under Routines in the Bot's profile starts a message that begins "Set up a routine to " for you to finish.
How do you test a routine and manage it on desktop and phone?
Open the routine on desktop and choose Test. The button reads Running… until the run finishes, and the result shows up in the Bot's chat. If the test can't start, you see Couldn't start a test run or a message that explains why. Some routines don't show Test at all, and they still run on their schedule or trigger.
A test can navigate websites, change files and call connected tools. Use safe inputs and keep write actions behind approval. Then check whether the run picked current inputs, met the output format, kept a source trail, stopped at the intended approval point and made failures explicit.
On desktop, a Bot's routines are in its details: click the Bot's name, then open the Details tab. On the phone, they're in the Bot's profile.
- Action
- Pause or resume
- Desktop
- The switch on the row, or Pause and Resume
- Phone
- Turn Active off or on
- Action
- See what it does
- Desktop
- Instruction, When to run, and Webhook for webhook routines
- Phone
- Schedule, Next run, Instruction and Run history
- Action
- Change it
- Desktop
- Edit, which starts a message to the Bot
- Phone
- Ask the Bot in chat
- Action
- Test
- Desktop
- Test
- Phone
- Test on desktop
- Action
- Delete
- Desktop
- Delete routine (trash icon), with a confirmation
- Phone
- Swipe the row
| Action | Desktop | Phone |
|---|---|---|
| Pause or resume | The switch on the row, or Pause and Resume | Turn Active off or on |
| See what it does | Instruction, When to run, and Webhook for webhook routines | Schedule, Next run, Instruction and Run history |
| Change it | Edit, which starts a message to the Bot | Ask the Bot in chat |
| Test | Test | Test on desktop |
| Delete | Delete routine (trash icon), with a confirmation | Swipe the row |
Deleting a routine stops future runs and can't be undone. If you delete the Bot itself, its routines go with its profile and conversation. After a long period away, Grok BotAn early AI teammate product from SpaceXAI and Cursor that works across apps on a persistent cloud computer and asks for approval on selected actions; launch materials describe it as beta, but Cursor says Beta Services terms do not apply. Press Enter for the full definition. may ask whether to keep routines running, and it pauses them if you don't respond.
How do Slack triggers and webhooks start a routine?
A Slack trigger is part of a routine, separate from the Slack app. The app lets a Bot post and read as the Slack user you connected. The trigger starts the routine when something happens in Slack. Connect Slack on the Cursor account that owns the Bot before you rely on a trigger, then ask the Bot for the trigger you want.
A routine can start when the Bot is mentioned, when a word or phrase is mentioned, when you react to a message, or on any message. It can watch one channel or all of Slack. Only new activity counts, so messages from before the trigger existed don't start a run.
Keep the rule narrow. Cursor's example is a message in #customer-escalations that contains a ticket link and the phrase "needs repro". Broad listeners such as every new message create noise, spend usage and act on irrelevant input.
For a webhook, ask the Bot to add a webhook trigger, then open the routine on desktop. The Webhook section has three fields, and clicking one copies it:
- POST to
- The URL to send an HTTP POST to.
- key
- The secret. Senders include it as
Authorization: Bearer <key>. - header
- That full header, ready to copy.
You can send a JSON body, and the Bot receives it with the routine instruction. A 200 response means Grok BotAn early AI teammate product from SpaceXAI and Cursor that works across apps on a persistent cloud computer and asks for approval on selected actions; launch materials describe it as beta, but Cursor says Beta Services terms do not apply. Press Enter for the full definition. accepted the call and started a run. It doesn't mean the Bot has finished, so check the Bot's chat for the result. Any other response means no run started. Confirm the routine isn't paused and that the request uses the current key.
Why are my routines using up usage so fast?
Start with how often they run. Each run spends usage, and Cursor says an hourly schedule, a short interval or a Slack trigger on a busy channel can use a week of usage in a day.
If your weekly usage is running out faster than you expect, first pause the routines you don't need. Then ask the Bot to widen schedules and narrow Slack triggers. Only after that, consider a bigger plan or a higher limit on extra usage. A routine that never runs spends nothing, but Test does spend usage, because it performs the work. Plan and limit details are on Grok BotAn early AI teammate product from SpaceXAI and Cursor that works across apps on a persistent cloud computer and asks for approval on selected actions; launch materials describe it as beta, but Cursor says Beta Services terms do not apply. Press Enter for the full definition. pricing.
Why hasn't my routine run, or why did it fail with a rate limit error?
Check these before you assume anything is broken:
- The routine isn't Paused. On the phone, Active is on.
- When to run shows the schedule or trigger you expect, in the right time zone.
- A new schedule waits for its next time. Use Test to run it now.
- For Slack, the message is new, in the channel the trigger watches, and matches its phrase.
- For a webhook, the call returned 200 and used the current key.
On the phone, Run history lists recent runs, each marked Running, Succeeded or Failed, and a failed run shows its reason. No runs yet means nothing has started the routine.
Rate-limit failures read "Automation run rate limit exceeded". Your routines can run up to 300 times an hour in total, and each routine up to 200 times an hour. If one routine keeps hitting its own limit, ask the Bot to narrow its trigger or widen its schedule.
Cursor also lists a known issue: some runs fail with this error because of a limit all Grok BotAn early AI teammate product from SpaceXAI and Cursor that works across apps on a persistent cloud computer and asks for approval on selected actions; launch materials describe it as beta, but Cursor says Beta Services terms do not apply. Press Enter for the full definition. routines share, even when your own routines run less than that. Its engineers are working on a fix. Either way, a run that fails with this error isn't retried automatically, so rerun it with Test or send the webhook call again.
What makes a routine safe to run unattended?
Cursor's docs say routines earn trust the same way people do, and they list four habits:
- Automate preparation before execution.
- Keep sending, purchasing, deleting, publishing and production changes behind approval.
- Report missing or stale sources instead of working around them.
- Re-test after a website, app or source format changes.
Write the third habit into the routine request itself, because a routine that quietly falls back to last week's data looks like a success. Cursor's own example request ends with that rule: "If the source data is unavailable, report the failure instead of using old data."
Approval rules, including what Auto-review stops, are covered in Grok BotAn early AI teammate product from SpaceXAI and Cursor that works across apps on a persistent cloud computer and asks for approval on selected actions; launch materials describe it as beta, but Cursor says Beta Services terms do not apply. Press Enter for the full definition. approvals. Routines that start from email to your Bot's own address are covered in Grok Bot agent email.
Frequently asked questions
Why didn't my new routine run right away?
A new routine waits for its next scheduled time and doesn't run when you create it. A daily 8:00 AM routine set up at 8:05 first runs the next day. Use Test to run it now.
Which time zone do Grok Bot routine schedules use?
Schedules use the time zone in Settings > General, under Bot, labeled Timezone. Auto-detect follows the computer you're on. Pick a zone when the routine should follow a different one, such as the office where the work belongs.
What does a 200 response from a routine webhook mean?
Grok Bot accepted the call and started a run. It doesn't mean the Bot has finished the instruction, so check the Bot's chat for the result. Any other response means a run didn't start.
Does testing a routine perform real actions?
Yes. A test can navigate websites, change files and call connected tools, and it spends usage. Use safe inputs and keep write actions behind approval.
Is a Slack trigger the same as the Slack app?
No. The Slack app lets a Bot post and read as the Slack user you connected. A Slack trigger is part of a routine and starts it when something happens in Slack. Connect Slack on the Cursor account that owns the Bot before you rely on a trigger.
Are routines that fail with a rate limit error retried?
No. A run that fails with "Automation run rate limit exceeded" isn't retried automatically. Rerun it with Test, or send the webhook call again.
Sources & last verified
- Cursor docs: Work with Grok Bot (Skills and routines)
- Cursor Help: Routines
- Cursor docs: Grok Bot settings and notifications
Cursor ships frequently. Facts verified against primary sources on October 28, 2026.