Docs

Notifier

The Notifier primitive fires an outbound message when one of your Yoke's triggers matches. It supports two channels — email (free) and webhook (Pro) — and uses Mustache-style {{path}} substitution against the entity's payload to template the subject, body, and recipient list.

Configuration

FieldTypeDescription
channelenumemail or webhook.
tostringEmail recipient list. Each entry may be a literal address or a {{path}} reference into the entity payload. Used when channel = "email".
subjectstringEmail subject template. Used when channel = "email".
body_templatestringMessage body template. Used for both channels.
webhook_urlstringDestination URL when channel = "webhook". Must be https:// and pre-allowlisted in your tenant settings.
webhook_secretstringOptional shared secret used to HMAC-sign the webhook body.

{{path}} references resolve against the entity's data_payload for transition and state triggers, against the changed record for record-create or field-change triggers.

Example: Email the customer when an Order is fulfilled

[[bindings]]
primitive = "fastyoke.notifier"
trigger = { kind = "on_transition", board = "Order", event = "fulfill" }
config = {
  channel = "email",
  to = ["{{owner_email}}"],
  subject = "Order {{order_number}} fulfilled",
  body_template = "Order {{order_number}} for {{customer_name}} has been fulfilled."
}

Example: Webhook on every state change of a Ticket

[[bindings]]
primitive = "fastyoke.notifier"
trigger = { kind = "on_state_entry", board = "Ticket", state = "Resolved" }
config = {
  channel = "webhook",
  webhook_url = "https://hooks.example.com/yoke/ticket-resolved",
  webhook_secret = "<your-shared-secret>",
  body_template = "{\"ticket_id\": \"{{id}}\", \"customer\": \"{{customer_name}}\"}"
}

When to use it

  • Customer-facing email on lifecycle events (order shipped, quote sent, appointment confirmed).
  • Operator alerts on edge cases that don't warrant a full FSM transition.
  • Outbound webhook bridging to a third-party system that isn't a first-class connector yet.

What it can't do

  • Render a PDF attachment — use PDF Generator and attach the resulting file_id in a follow-up step.
  • Block a transition until the recipient acknowledges — use Approval Gate.
  • Exceed the rate limit. Notifier is capped at 100 invocations per tenant per minute across all notifier bindings; excess invocations are skipped and recorded.