Skip to main content
Glama

Create an automation

create_automation

Create a chatbot flow for the connected accounts. Without graph it creates an empty one to fill in later; with graph it validates and saves the whole thing. A flow can send messages to the people who trigger it, tag and update those contacts, enroll them in sequences and notify the team; on a comment trigger it can also answer in PUBLIC on any network with comments (comment_reply, or ai / ai_agent with replyIn "public" — the only option on YouTube, LinkedIn, Threads and TikTok). Steps that call external services are not available here. Always created INACTIVE: review it with preview_automation and enable it with set_automation_active after the user agrees.

Input Schema

NameRequiredDescriptionDefault
nameYes
graphNoNode graph. Every graph begins with a `start` node: {"start":"start","nodes":[{"id":"start","type":"start","next":"n1"},{"id":"n1","type":"message","text":"Hi","next":"n2"},…]}. See get_automation_node_types.
triggerNoWhat starts it: {"type":"keyword","keywords":["price"]} | {"type":"comment","keywords":[…],"scope":"any"|"next"|"existing","postIds":[…]} | {"type":"story"} | {"type":"welcome"} | {"type":"manual"}. On a comment trigger, `scope` picks the posts it watches: "any" = every post; "next" = the next post that gets PUBLISHED after this is saved (drafts and scheduled posts do not claim it; needs accountIds); "existing" = the posts in `postIds` (post URLs or native ids). Add `"oncePerContact":true` to any trigger except welcome so a person who already went through the flow never gets it again (repeating the keyword or commenting again does nothing). On a comment trigger, add `"onceScope":"post"` to make it once per person PER POST instead (commenting on another post does get it).
accountIdsNoAccounts it applies to. Empty = every account of the organization.
workspaceIdNoWorkspace to work on (an id from list_workspaces). Not needed when this connection is tied to one workspace, or when you pass an account: the account's workspace is used.
idempotencyKeyNoOptional. A unique id for this action (16-128 chars: letters, digits, _ : . -). If you are unsure whether a call went through (timeout, network error), repeat it with the SAME idempotencyKey and the same arguments: you get the original result and nothing is done twice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only mark it as a non-read-only, non-idempotent write; the description adds real behavioral context beyond that: the flow is ALWAYS created inactive, graph is validated on save, and certain node types are unavailable here. The inactive-by-default + mandatory review/enable cycle is exactly the kind of trait an agent cannot get from annotations.

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

Conciseness4/5

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

Front-loaded with the core action and the two modes, then the workflow. The middle sentence cataloguing what a flow can do (tag contacts, enroll in sequences, public comment replies) is dense and partly tangential to invoking this tool, costing some tightness.

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?

For a 6-param tool with nested objects and no output schema, it covers creation modes, validation, inactive default, scope limitations, and the follow-up workflow. It never hints at what the call returns (e.g. the new automation id), which is the main remaining gap.

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?

Schema coverage is 83% (baseline 3), and the description still adds meaning: 'Without graph it creates an empty one to fill in later; with graph it validates and saves the whole thing' clarifies the graph parameter's two contracts. Trigger semantics are largely left to the schema, which already documents them thoroughly.

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

Purpose4/5

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

Specific verb+resource ('Create a chatbot flow for the connected accounts') and it spells out the two creation modes (empty vs. validated full graph). It never names the obvious sibling create_automation_from_template, so the agent must infer the difference from context rather than being told.

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

Usage Guidelines5/5

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

Gives an explicit post-creation workflow naming the alternatives to use next ('review it with preview_automation and enable it with set_automation_active after the user agrees') plus a clear exclusion ('Steps that call external services are not available here'). Both when-to-use-next and what-is-not-supported are stated.

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