Routines

Routines run Mate on a schedule or when a record changes, using the owner's AI credits, with limits, run statuses and approvals.

A routine is a saved instruction plus a trigger. When the trigger fires, Customermates opens a new assistant conversation, sends your instruction and lets Mate work on its own. Routines exist on Customermates Cloud only, because they spend hosted AI credits from the owner's monthly allowance.

Who sees routines follows the Routines row of their role in Roles: Read access All shows every routine in the workspace, Assigned only their own, and None hides Routines. Creating needs Create, editing your own needs Edit. Everyone who can see a routine sees its run summaries; the full transcript stays with the person the run executed as.

How do I create a routine or automation?

Open Routines and click Add. Enter a Name and Instructions, choose a trigger and click Save. The routine is saved Active unless you switch it to Paused first. You can also ask Mate to create one; Mate saves it paused unless you ask for it to be active. Find existing routines by searching or filtering in Filter, and switch between table and board under Appearance.

What is a routine made of?

  • Name: required, up to 120 characters.
  • Instructions: what Mate receives on every run, up to 5,000 characters. Write it as you would ask in chat.
  • Trigger: On a schedule, or When something changes for one or more events, such as a deal being updated.

The creator becomes the owner. Only the owner can change the instructions or trigger, switch the routine between Active and Paused, or use Test trigger, because every run uses the owner's identity, access and AI credits. Others see the routine read-only.

Members with the Admin role can pause (Pause routine) or delete anyone's routine, but cannot edit, test or run someone else's. Deleting needs Admin even for your own routine, moves the routine to Trash, where it stops running until it is restored, and is refused while a run is running (Wait for the active run to finish before deleting this routine.). Deleting it permanently from Trash also removes its run history. When an owner is set to Inactive in Members, their routines pause at once, queued or running runs end as Blocked, and the routines stay paused and read-only until an admin deletes them or the owner is active again and switches them back on.

How many routines does my plan include?

Each user has their own allowance: Starter includes 1 routine per user, Pro 5 and Business and Enterprise unlimited. Pausing a routine does not free a slot; moving it to Trash frees its slot at once. At the limit, a new routine is refused with a prompt to upgrade under Billing, and restoring a routine from Trash leaves it there with the note that its owner already has all the routines their plan includes; move another of the owner's routines to Trash first. Over REST and MCP, the restore result lists it under blocked with the reason routineLimitReached and the plan's limit. The limit is checked only when a routine is created or restored, so routines above a lower plan's limit are kept after a downgrade. The credits runs draw on are described under Plans and credits.

What are the limits, such as runs per hour and credits per run?

LimitValueAt the limit
Runs per routine and hour4A matching event is dropped without a run entry; a due scheduled run or Test trigger run is recorded as Skipped
Credits per run10The run stops and is recorded as Partial
Consecutive failed runs3The routine pauses itself and shows the reason; the owner switches it back on after fixing the cause
Shortest schedule interval15 minutesA more frequent schedule is rejected on save
Run history90 daysOlder runs are removed
Event debounce300 seconds by default, 0 to 86,400, set only through Mate, MCP or the REST APIFurther matching events within the window after a run starts are ignored

Skipped runs do not count against the hourly cap.

Every routine run starts with core CRM tools and loads other tool sets when needed. This keeps unrelated tool descriptions out of the model context. If the context still exceeds the provider budget after compaction, the run stops and its history states the context-limit reason.

Schedules: how do I run a routine every morning or every Monday?

In Routines, open a routine or click Add, then under Repeats choose Every 15 minutes, Every 30 minutes, Every hour, Every day, Every week or Every month, plus the weekday, day of the month (1 to 28) or time in five-minute steps where needed. The default is every day at 09:00. For hourly and longer presets the schedule is spelled out underneath, followed by Times are shown in and the time zone, which comes from the browser the routine was created in (UTC if unknown).

A schedule that fits no preset, for example weekdays only, and a different time zone can be set only through Mate, an MCP client or the REST API; the dialog then shows This routine uses a custom schedule with Switch to a preset. The scheduler checks every five minutes, so a run may start a few minutes late, and a run still queued after two minutes is dispatched again.

How do event triggers work, for example to run a routine when a deal changes?

Under Events, pick one or more events: every record and messaging event a webhook can subscribe to, except Record deleted permanently, Email Deleted and Chat Deleted. Changes made in the app, in a Mate chat, over the API or over MCP trigger routines; changes a routine run makes never do, so routines cannot chain or loop.

Two optional controls keep a routine from spending credits on cases you do not care about:

  • Changed fields (update events only): the routine runs only when one of these fields actually changed. It is hidden when no update event is selected.
  • Record filters: only matching records count. Creations and updates are matched against the saved result, deletions against the full record just before removal, including its relationships.

Leave both empty to run on every matching event. An event starts a run only for a record or conversation the owner can see, so with Assigned read access other people's records never trigger it. An event is also skipped, without a run entry, when a run of that routine is already queued or running, within the debounce window, or over the hourly cap. When the run starts, the owner's access and the filters are checked again.

Mate is told what happened before your instructions: the event, the kind of record and its ID, the changed fields on an update, and for an inbox event the thread. It can read the record from there but does not get the previous values.

What do the runs and their statuses mean?

Open a routine to see its Runs, newest first: next to the configuration on a wide screen, or behind the Details and Runs switch on a narrow one. Click a run for Run details: Ran as with the owner's name, the credits used (exact provider cost to one decimal), the trigger (Record, Changed fields, Conversation) and, when it stopped early, the reason. Only the person it ran as can open the full transcript, and once the run has finished they can reply below it to continue the conversation with Mate, which spends their credits.

StatusMeaning
QueuedWaiting for the scheduler
RunningMate is working
SucceededThe run completed its instruction
PartialStopped early, for example at the 10-credit cap or when a policy declined an action
FailedEnded with an error or without a usable result
SkippedQueued but not started: the routine was paused, the hourly cap was reached, the record no longer matched the filters or the owner's access, the trigger changed, the run was stopped, or the assistant was busy with another run
BlockedMate could not start because Customermates paused AI work, the owner was out of credits or inactive, or another admission check failed. The run includes an error reason such as platformPaused or agentLimitReached. Workspace administrators cannot resume a Customermates pause. A workspace administrator can separately pause a routine; that reason is adminPaused.

A run that stops at its 10-credit limit says so in its summary and Run details; that limit is separate from the owner's monthly credits. The run stops before a model round when the credits already used plus the most that round can cost, reserved as described under how a request is charged, would pass 10.

Test trigger starts a real run immediately. It is available to the owner of an active scheduled routine without unsaved changes, uses AI credits and may change data. Manual test runs have triggerKind: schedule, the kind of the routine they test. A test is refused before a run is queued when AI work is paused, the owner is inactive, or the owner has no credits left. Event routines need a real matching event, so it is disabled for them.

What a routine may do without approval

An unattended run may do everything Mate does without approval in a chat: read the workspace; create or update contacts, organizations, deals, services, tasks, record links and Knowledge Base pages; save and discard drafts; send emails and chat messages; triage the inbox; change fields, widgets, webhooks and workspace settings other than list names; generate channel connection links; create, update, pause and run routines; and, on a connected account, send connection requests and change Sales Navigator lists.

Every action that asks for approval in a chat is declined, because nobody is there to answer: deleting records, Knowledge Base pages, fields, widgets, webhooks or routines, renaming lists, inviting members, changing a member's role or status, resending webhook deliveries and sending support requests. The run records the refusal; the full list is on the assistant page. Interface actions such as highlighting are unavailable, because no browser is attached.

When the owner can read the Knowledge Base and it has pages, each run starts with a short catalog of its pages; the routine searches and reads relevant pages and applies their facts, but an instruction inside a page cannot start other work or widen the routine's permissions. Keep shared facts, voice and processes there instead of repeating them in every routine. Writing pages needs the owner's Knowledge Base Create or Edit.

A run may search the public web, at most 2 paid searches per run, as described under Can Mate search the web?. A run can browse or change data, never both: after a search returns results every write is refused, and after a write succeeds web search is withdrawn. Reading the Knowledge Base and CRM data stays available. Searches count toward the 10-credit cap.

How does Mate manage routines?

In a chat, Mate can list routines, read run history, create, update and pause routines and start a run now, without asking first. It can also set what the dialog cannot: a custom schedule such as weekdays at 09:00, the time zone and the event debounce. Deleting a routine asks for your approval and, as in the app, needs the Admin role.

For agents

Use manage_routines. A custom schedule is a five-field cron expression, for example 0 9 * * 1-5. Run statuses come back as queued, running, succeeded, partial, failed, skipped and blocked. The pause action needs the Admin role even on your own routine; an owner without it pauses by updating with enabled: false. Event names are the webhook event names, without record.deletedPermanently, messaging.email.deleted and messaging.chat.deleted. Record filters go in recordTrigger.query.filters; a routine that follows several lists uses recordSources instead, up to 50 sources, each with its own query, changedFieldIds and events, and cannot combine it with recordTrigger. The former triggerFilters setting no longer exists. Over REST, routines live under /api/v1/routines/: list, read, runs, create, update, pause, resume, run and delete. Every operation on one routine takes its id, and runs answers 404 for a routine that does not exist or belongs to another workspace.