Skip to main content
Glama

Create an email automation (draft)

postfjord_create_email_automation

Creates a draft email automation series of 1 to 10 emails triggered by a form signup, tag, or segment, with delays between each send. Nothing sends until approved.

Instructions

For a series of emails that starts by itself; one email to a list is postfjord_draft_campaign, and DM replies on Instagram and Facebook are postfjord_create_automation. Creates an email automation as a draft: a series of 1 to 10 emails that go by themselves to each person who confirmed they want the emails, once something starts it. Triggers: form (they confirm through a signup form, formId from postfjord_list_signup_forms or "any"), tag (a confirmed contact gets the tag, named; a new name makes the tag) or segment (a saved segment id from postfjord_mail_overview). The first email goes right away unless it has a delay; each later one waits delayDays (default 2) or delayHours after the one before. Write the emails in the brand voice (postfjord_get_brand_profile). Nobody gets anything yet: show the person each email and what starts it, then start it with postfjord_set_email_automation only after they approve. Needs email switched on and the Draft scope. On a retry after a timeout or error, send the same idempotency_key: the first answer comes back and nothing is made or sent twice.

Input Schema

NameRequiredDescriptionDefault
nameYesThe name on the Automations screen, for example "Welcome to the spring program".
emailsYes
triggerYes
idempotency_keyNoYour own id for this one action, for example post-20261006-launch. Make a new one for each new thing; send the same one again only when you retry. Left out, the exact same call within 10 minutes counts as a retry.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare the safety profile (readOnly=false, destructive=false); the description adds what actually happens: nothing is sent on creation, the automation stays a draft until explicitly started, and a scope/permission is required. It also explains the idempotency contract in plain terms ('send the same idempotency_key: the first answer comes back and nothing is made or sent twice'), which complements rather than contradicts idempotentHint=false (bare calls are not idempotent; a key makes the retry safe).

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 disambiguating sibling comparisons, then purpose, triggers, approval flow, and retry rules in a sensible order. It is dense and somewhat run-on (long parenthetical trigger clause), but nearly every clause carries actionable information.

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 complex nested tool with no output schema, it covers scope, trigger sourcing, timing defaults, and the human-approval gate. The one gap is what the call returns (e.g., the automation id needed for postfjord_set_email_automation), which the agent must infer.

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?

Adds real semantics beyond the schema: trigger-type meanings and where ids come from (formId from postfjord_list_signup_forms or "any", segmentId from postfjord_mail_overview), that a new tag name creates the tag, and the delayDays default of 2 with first-email-goes-immediately behavior. It does not touch the large block/email body parameters, but those are already documented exhaustively 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?

States a specific verb and resource ('Creates an email automation as a draft') and immediately bounds it ('a series of 1 to 10 emails'). It explicitly distinguishes two siblings: 'one email to a list is postfjord_draft_campaign' and 'DM replies on Instagram and Facebook are postfjord_create_automation', so an agent can route without opening a schema.

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 when-to-use via the sibling routing sentence, and describes the required review-then-launch flow: show the user each email and its trigger, then start with postfjord_set_email_automation only after approval. It also states prerequisites ('Needs email switched on and the Draft scope') and names the alternative for the Instagram/Facebook case.

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

Deploy Server

Other Tools