Skip to content
PynPyn

Step options

A step is stored as a small document inside its automation version or campaign. The tables name each field as the app labels it, with the value it holds. The same shape is what the MCP tools and exports use, so it is also the reference for anyone automating Pyn.

Field Label in the app Values
id A unique id Pyn assigns.
title Step title Free text; empty shows the step type.
type Chosen in Add Step send-message, send-channel-message, invite-to-calendar-event, send-channel-invite, raise-ticket, add-message-to-context; see below.
state Enabled / Disabled enabled or disabled. A disabled step never sends.
schedule.type relative in an automation, absolute in a campaign.
schedule.offset Schedule For relative: a duration such as { "days": -7 } or { "weeks": 2 }; negative is before the reference date.
schedule.date Scheduled date For absolute: a calendar date, 2026-03-02.
schedule.hour, schedule.minute at 0 to 23 and 0 to 59.
schedule.timezone in recipient, or a time zone name such as Australia/Sydney.
schedule.deliverOn Days of Week One or more of MONDAY to SUNDAY.
schedule.onSkippableDate On Non-Delivery Days deliver-anyway, deliver-before (previous delivery day) or deliver-after (next delivery day).
audience Audience tab lifecycle (any of current, joiner, leave, terminated), includeGroups, excludeGroups (group ids). Absent means current employees only.
skipIfOverdue Skip if overdue at enrollment true to skip a step whose date has passed when someone enrols.
reminders Reminders Up to three in the step drawer (Add reminder disappears at three), each with offset (days after send) and enabled. The schema accepts up to ten, so a step written through the API or an MCP server can carry more.

send-message (a direct message or email) and send-channel-message (a channel post) add:

Field Label Values
medium Fixed by the step type slack or email. teams and sms exist in the schema but no step in the dialog creates them.
sender From A sender id. Absent means the workspace default.
conditionalSender From A conditional sender id. A step has one of sender or conditionalSender, never both.
recipient To A recipient, see below. A channel post’s recipient is a channel.
ccRecipients Cc Up to three recipients.
subject Subject A single-line document, email only.
message The editor The composed message.
body, html Email body body: "html" with the Liquid HTML in html for a Raw HTML email; otherwise the composed message is the body. Email only.
deactivateUnfurlLinks, deactivateUnfurlMedia Advanced true to switch off Slack previews.
escalations Escalations Up to three, each with offset (days after send), recipient (any recipient except a group) and enabled.
Shape Label Fields
Relative Employee, Manager, Skip-level Manager, Buddy, HRBP type: "relative", recipient one of employee, manager, skip-manager, buddy, hrbp; optional address of primary or personal.
A person People type: "employee", recipient the employee id, optional address.
A group Groups (campaign steps) type: "group", recipient the group id. Every member receives the step.
A channel Channels type: "channel", recipient the channel id.
A custom email address Custom Email Recipients type: "custom-email", recipient the custom email recipient id.
Type Label in Add Step Extra fields
invite-to-calendar-event Invite to Calendar Event recipient; eventId (the calendar event); inviteTo of next-occurrence, next-occurrence-reference-date or all-occurrences.
send-channel-invite Add to Channel sender; recipient (who is added); channel (the channel id); medium: "slack".
raise-ticket Raise Ticket integration (the Jira connection), project, issueType, summary (single line), description; medium: "jira". No recipient.
add-message-to-context Add Message to Employee Context and the other AI & Context rows recipient (whose context).
send-acknowledgement, send-content, send-content-link Not offered Older message types still accepted in existing automations; new steps use buttons in a send-message step instead.

A campaign template is a list of milestones, each with id, title, emoji, color (a hex colour), date (a calendar date) and steps (steps as above, with absolute schedules). Enrolling a milestone turns it into a campaign with that date as its reference date. See Campaign templates.