Skip to main content
Glama

Enroll contact in an automation

enroll_automation

Start an automation for a contact — locate it by automation_id or automation_name (case-insensitive; names come from list_automations) and the contact by contact_id or email. Google steps (Gmail send, Calendar event, Drive file, Sheets row) do NOT run immediately: they come back in pending_google_approvals with status awaiting_approval until the account owner approves them in the app.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "enroll_automation"
  }
}

Input Schema

NameRequiredDescriptionDefault
emailNoThe contact email address. Use to locate a contact when you do not have its id, or to set a new email on update_contact.
contact_idNoThe contact id (uuid) from find_contact / list_contacts / search_leads.
automation_idNoAutomation id (uuid) — or use automation_name.
automation_nameNoAutomation name — case-insensitive match against list_automations.

Output Schema

NameRequiredDescriptionDefault
okNo
errorNoPresent only when ok is false.
run_idNo
statusNo
enrollment_idNo
google_writesNo
pending_google_approvalsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / google_writes
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / pending_google_approvals
      Added value: +{
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

It discloses behavior that annotations cannot convey: Google steps (Gmail, Calendar, Drive, Sheets) do not execute immediately; they return in pending_google_approvals with status awaiting_approval until the owner approves them. That is the key operational trait here. It does not address duplicate enrollment or the side effects of a second run, although idempotentHint=false makes that relevant.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with zero waste: the action and lookup strategy come first, followed by the critical delayed-execution caveat. The reader learns the essential constraint before deciding to call the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values do not need explaining, and the description covers the key approval-flow caveat. The remaining gap is the lack of required parameters: with 0 required fields, an agent cannot tell from the description whether an automation identifier and a contact identifier are each mandatory.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers 100% of the parameters, so 3 is the baseline. The description adds the semantics of how the parameters pair (one automation identifier plus one contact identifier) and highlights the case-insensitive name matching, although that detail is already restated in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

It gives a specific verb and resource ("Start an automation for a contact") and immediately distinguishes the two lookups: the automation and the contact. Naming list_automations as the source of names further separates it from the read-only siblings get_automation and list_automations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear guidance on how to select inputs: it explains that automation_id and automation_name are alternatives, that contact_id and email are alternatives, that names come from list_automations, and that name matching is case-insensitive. It does not explain when not to use this tool or what happens if the contact has already been enrolled, so it stops short of full alternatives/exclusions guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources