Sendly onboarding workflow
Turn a plain-language brief into a multi-step workflow, and explain or fix existing ones. A live workflow sends real email to every contact who triggers it, so turning one on needs the user's explicit yes.
Connecting and calling the tools
Every tool in this skill comes from the sendly MCP server, the Sendly connector, and is written here as sendly:<tool>.
- Tools listed by name: call them directly, for example
sendly:list_contacts. - Only
sendly:search_toolsandsendly:execute_typescriptlisted (Code Mode, the default): callsendly:search_toolsfirst, then call each tool insidesendly:execute_typescriptasexternal_<tool>(for exampleexternal_list_contacts); the program mustreturnits result. Scopes, confirmations and gates are identical on both surfaces. - "Tool not found": switch to the Code Mode route instead of retrying the direct call. If
sendly:search_toolsdoes not return the tool either, its OAuth scope was not granted; the user reconnects Sendly and approves that scope. - No
sendlytools at all: Sendly is not connected yet. Install the Sendly power, which adds the server; it signs in with OAuth on first use.
Tools you will use
sendly:list_workflows,sendly:get_workflow: existing workflows and their full definition (trigger and steps).sendly:get_workflow_status: whether a workflow is enabled, its step count, and its execution count.sendly:list_workflow_executions: individual runs, to see where contacts stopped.sendly:list_events: recent events, to check the trigger event actually arrives.sendly:list_templates: templates the email steps can use.sendly:create_workflow: create a workflow from a structured spec. Created withenabled: falseby default.sendly:clone_workflow: copy an existing workflow as a starting point.sendly:edit_workflow: change a workflow's step graph.sendly:update_workflow: change a workflow's settings. Step changes go throughsendly:edit_workflow.sendly:manage_workflow: change a workflow's state. Read its description for the actions it accepts.
Workflow
- For a new workflow, restate the brief as a trigger and a numbered list of steps (for example: on
member.signupsend Welcome, wait 3 days, send Nudge). Confirm it with the user. - Call
sendly:list_templatesand map each email step to a template. Point out steps that have no template yet. - Call
sendly:create_workflow(orsendly:clone_workflowfrom a similar one). Leave it disabled. Report its id and steps. - For an existing workflow, call
sendly:get_workflow_statusandsendly:get_workflow, and describe the trigger and each step in plain words. - If it is not sending: check it is enabled, call
sendly:list_eventsto see whether the trigger event is arriving, and callsendly:list_workflow_executionsto see where runs stop. Report the first cause you find. - To change steps, show the before and after, get an explicit yes, then call
sendly:edit_workflow. - To turn a workflow on, say that it will start sending real email to every contact who triggers it from now on, get an explicit yes, then make the change.
Rules
- Never enable a workflow, or change one that is already enabled, without an explicit yes in this turn.
- Workflows refuse a
fromaddress that is not on a verified domain. If that happens, offer thechecking-email-deliverabilityskill. sendly:edit_workflow,sendly:manage_workflow, andsendly:delete_workfloware annotated destructive, andsendly:update_workflowcan change what a live workflow sends. Call each only after an explicit yes naming the workflow.- Confirm the workflow by name before
sendly:delete_workflow.
