Skip to main content
Glama

Create or update an automation

automation_upsert
Idempotent

Create an automation, or update one by passing _id. The flow graph uses the same node/edge shape as the automations builder in the web app — read an existing one with automation_get before authoring a new graph by hand. Setting isActive: true makes it run against live events, which can message real people — leave it false while drafting and get an explicit yes before activating. It replaces the whole flow graph rather than patching it, so pass the complete graph. It does not touch any campaign sequence (flow_set). There is no tool to delete an automation.

Input Schema

NameRequiredDescriptionDefault
_idNoOmit to create a new automation.
flowNoWorkflow graph — nodes and edges.
titleYesShort label.
isActiveNoWhether it runs. Keep false while drafting.
descriptionYesLonger explanatory text.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations, the description discloses critical behavior: the whole `flow` graph is replaced rather than patched, activation makes the automation run against live events and can message real people, and campaign sequences are untouched. These details materially change how an agent should invoke the tool.

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?

The description is front-loaded with create-or-update behavior, then moves through graph shape, activation risk, replacement semantics, and scope. Every sentence contributes operational guidance with no filler.

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 nested, mutation-style tool with no output schema, the description covers the important invocation and safety context. It does not explain what the call returns, which is a minor gap, but the core behavior and graph-replacement semantics are sufficiently complete.

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 100%, so the schema already defines all five parameters. The description adds valuable meaning for key parameters, especially `_id` for update mode, the replacement semantics of `flow`, and the live-event risk of `isActive`; however, it does not detail the internal node/edge shape beyond pointing to the builder and `automation_get`.

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?

The description states a specific upsert operation for automations and clearly distinguishes creation (omit `_id`) from update (pass `_id`). It also names related tools (`automation_get`, `flow_set`) so the agent can separate this from neighboring operations.

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?

It gives explicit workflow guidance: read an existing graph with `automation_get` before hand-authoring, keep `isActive` false while drafting, and get explicit approval before activating. It also names exclusions, including `flow_set` and the absence of a delete tool.

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