A routine lives in Claude Code on the web: a saved prompt + repositories + connectors, packaged so it can run on a schedule, on a GitHub event, or over HTTP. Ambrose uses the HTTP entry point — you register a routine once, and Ambrose fires it on your behalf, returning a link to the live Claude Code session.
1 · Get the routine's API trigger token
trig_… id) and a bearer token (sk-ant-oat01-…). Copy both now — the token is shown once and can't be retrieved later. The token is scoped to this one routine: it can only trigger it, and grants no read access.2 · Add the routine to Ambrose
- Name — a friendly label like
Nightly Book Report. This is the name you'll use everywhere else, including in Routines. - Routine URL or ID — paste the full
https://claude.ai/code/routines/trig_…URL or just the baretrig_…id. Ambrose extracts the id either way. - API token — the
sk-ant-oat01-…token from step 1. - Description (optional but recommended) — one line on what the routine does, so the AI picks the right one when you have several.
3 · Trigger it from chat, an agent, or a team
Once a routine is registered, every agent, team, and the Ambrose chat can fire it. Just ask in plain English and name the routine:
Run the Claude Routine "Nightly Book Report".
You can also pass context for that run, which Claude Code receives alongside the routine's saved prompt:
Run the Claude Routine "Incident Triage" with this alert: SEN-4521 fired in prod, 500s on /checkout.
Behind the scenes Ambrose exposes two tools — list_claude_routines (so the AI can see what's available) and trigger_claude_routine (which starts it). The AI matches the name you typed to a registered routine, fires it, and replies with a link to the live session. It does not wait for the routine to finish.
4 · Run a routine from a Routine
This is the most common use: have a Routine fire a routine on a schedule. In the routine's prompt body, write the same plain-English instruction, using the exact Name you gave the routine in Ambrose, in quotes:
Run the Claude Routine "Nightly Book Report".
| What | Cron | Target | Routine prompt |
|---|---|---|---|
| Nightly report | 0 22 * * * | Agent: Ambrose | Run the Claude Routine "Nightly Book Report". |
| Weekly repo audit | 0 6 * * 1 | Agent: Riley | Run the Claude Routine "Repo Security Audit" and post the session link to Slack #eng. |
| Daily data refresh | 0 5 * * * | Team: Ops | Run the Claude Routine "Refresh Dashboards" with today's date as context. |
Add the routine the usual way — agent or team detail → Routines tab. See What routines do and Cron syntax.
Troubleshooting
- "Add failed" / not found — double-check you pasted a valid
trig_…id (or the full routine URL) and the token, and that all three required fields (Name, Routine, Token) are filled. - Test fails with an auth error — the token may have been rotated. Generating a new token in Claude Code revokes the previous one; paste the new token into the routine (edit it and re-enter the token).
- The AI says it can't find the routine — the name in your message must match a registered routine's Name. Open the Claude Routines tab to confirm the spelling, or ask the AI to "list Claude routines".
- Rate limited — routine runs count against your claude.ai plan's daily allowance. Check remaining runs at claude.ai/code/routines.