Routines are Paperclip’s primitive for automating recurring agent work. Each routine is assigned to a specific agent and defines what to do; one or more triggers define when to do it — on a cron schedule, via webhook, or through a direct API call. You build a routine in two steps: firstDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/bruhsb/paperclip-mcp/llms.txt
Use this file to discover all available pages before exploring further.
paperclip_create_routine to register the workflow and its concurrency policy, then paperclip_add_routine_trigger to attach one or more triggers. Once running, you can inspect past executions with paperclip_list_routine_runs or fire the routine on-demand at any time with paperclip_run_routine.
Triggers are managed independently of the routine record. Changing a cron schedule requires
paperclip_update_routine_trigger, not paperclip_update_routine.paperclip_list_routines
List all routines defined for the current company.Max routines per page (1–100, default 50).
Number of routines to skip for pagination (default 0).
Output format.
markdown (default) returns human-readable text; json returns a structured object.{ items: Routine[], total, count, offset, limit, has_more, next_offset }. Each item contains id, name, agentId, concurrencyPolicy, catchUpPolicy, createdAt.
Use when: Finding routineId values before adding a trigger or checking overall routine status.
Don’t use when: You need a specific routine’s triggers and run history — use paperclip_get_routine instead.
Errors:
401— Authentication failed → checkPAPERCLIP_API_KEY.403— Permission denied → verifyPAPERCLIP_COMPANY_IDis correct.
paperclip_get_routine
Get a single routine by UUID, including its triggers and recent runs.Routine UUID, e.g.
"rtn_abc123".Output format.
markdown (default) or json.id, name, agentId, triggers[], recentRuns[], concurrencyPolicy, catchUpPolicy.
Use when: Inspecting a routine’s current triggers before modifying them.
Don’t use when: You need all routine IDs — use paperclip_list_routines first to discover them.
Errors:
401— Authentication failed → checkPAPERCLIP_API_KEY.404— Routine not found → verify the ID withpaperclip_list_routines.
paperclip_create_routine
Create a new routine and assign it to an agent. Triggers are added separately.Agent UUID that will execute this routine, e.g.
"agt_abc123".Human-readable routine title, e.g.
"daily-standup".Optional longer description of the routine’s purpose.
Controls what happens when a new run fires while a previous one is still active. Values:
allow, forbid, replace.Controls missed runs after downtime. Values:
skip, run_once.id, title, assigneeAgentId, triggers: [], createdAt.
Use when: Setting up a scheduled workflow for an agent before attaching a cron trigger.
Don’t use when: You want to trigger execution immediately — create the routine first, then call paperclip_run_routine.
Errors:
400— Validation failure → ensuretitleandassigneeAgentIdare non-empty.401— Authentication failed → checkPAPERCLIP_API_KEY.404—assigneeAgentIdnot found → verify withpaperclip_list_agents.
paperclip_update_routine
Update a routine’s title, description, or scheduling policies.Routine UUID to update.
New title for the routine.
New description.
New concurrency policy:
allow, forbid, or replace.New catch-up policy:
skip or run_once.paperclip_update_routine_trigger for that.
Errors:
401— Authentication failed → checkPAPERCLIP_API_KEY.404— Routine not found → verify withpaperclip_list_routines.
paperclip_add_routine_trigger
Add a trigger to an existing routine. Supportsschedule (cron), webhook, and api trigger kinds.
Routine UUID to attach the trigger to.
Trigger kind. Use
schedule for cron-based execution, webhook for HTTP-based invocation, or api for programmatic triggering.5-field cron expression. Required when
kind is "schedule". Must match the pattern <minute> <hour> <day> <month> <weekday>, e.g. "*/5 * * * *" for every 5 minutes.IANA timezone for the cron schedule, e.g.
"America/New_York". Defaults to "UTC".id, routineId, kind, cronExpression, createdAt.
Use when: Scheduling a routine to run every 5 minutes after creating it.
Don’t use when: The trigger already exists — use paperclip_update_routine_trigger to modify it.
Errors:
400— Invalid cron expression → must be a 5-field cron, e.g."*/5 * * * *".401— Authentication failed → checkPAPERCLIP_API_KEY.404— Routine not found → verify the ID withpaperclip_list_routines.
paperclip_update_routine_trigger
Update an existing routine trigger’s kind or cron schedule.Routine trigger UUID to update, e.g.
"trg_abc123". Retrieve this from paperclip_get_routine.New trigger kind.
New 5-field cron expression for
schedule triggers, e.g. "0 9 * * 1-5".New IANA timezone for
schedule triggers.id, routineId, kind, cronExpression, updatedAt.
Use when: Changing a routine from every 5 minutes to daily at 9 AM on weekdays.
Don’t use when: You need to add a new trigger — use paperclip_add_routine_trigger instead.
Errors:
400— Invalid cron expression → ensure 5 whitespace-separated fields.401— Authentication failed → checkPAPERCLIP_API_KEY.404— Trigger not found → verify the ID withpaperclip_get_routine.
paperclip_delete_routine_trigger
Delete a routine trigger. The routine itself is not deleted.Routine trigger UUID to delete. Retrieve this from
paperclip_get_routine.paperclip_delete_routine for that.
Errors:
401— Authentication failed → checkPAPERCLIP_API_KEY.404— Trigger not found → verify the ID withpaperclip_get_routine.
paperclip_run_routine
Manually trigger a routine run immediately, bypassing its schedule.Routine UUID to run, e.g.
"rtn_abc123".Agent UUID to run the routine. Overrides the routine’s default
assigneeAgentId for this run only.id, routineId, status, startedAt.
Use when: Testing a routine on-demand before its next scheduled fire, or triggering a one-off execution.
Don’t use when: You want to check past runs — use paperclip_list_routine_runs instead.
Errors:
401— Authentication failed → checkPAPERCLIP_API_KEY.404— Routine not found → verify the ID withpaperclip_list_routines.409— Concurrency policy forbids a concurrent run → wait for the active run to finish, or updateconcurrencyPolicytoreplace.
paperclip_list_routine_runs
List historical runs for a routine, ordered most-recent first.Routine UUID whose run history to retrieve.
Max runs per page (1–100, default 50).
Number of runs to skip for pagination (default 0).
Output format.
markdown (default) or json.{ items: Run[], total, count, offset, limit, has_more, next_offset }. Each item contains id, routineId, status, startedAt, finishedAt, triggerId.
Use when: Auditing whether a scheduled routine has been firing and completing successfully.
Don’t use when: You need the routine’s triggers or settings — use paperclip_get_routine instead.
Errors:
401— Authentication failed → checkPAPERCLIP_API_KEY.404— Routine not found → verify the ID withpaperclip_list_routines.