Lifecycle events

The 9 MCP tools in Lifecycle events, granted with the lifecycle scope under Product configuration.

To let an assistant use these tools, grant Product configuration on the consent screen, or just Lifecycle events under its Fine-tune. The scope is lifecycle. Read tools work with Read only or Read & write access; write tools only with Read & write.

Your assistant doesn't see these tools straight away. It finds them with search_tools or describe_tools, and runs one with use_tool, passing its name and arguments. Most assistants do this for you: just ask for what you want.

What your assistant is told about this group

What happens automatically at key moments for a policy or application, such as a quote being issued or a renewal coming up. Each event has actions, such as send_message (a message to the customer) and notify_team (an alert to your team). Events tied to a date (a renewal, say) or to a spell of inactivity have timing you can set. You can send a test, and see what was sent in the activity feed. Changes take effect when the next release is published; until then the events in the live release keep running.

The descriptions below are the ones your assistant reads, so they're written for it. When a connection covers more than one organisation, the assistant passes org (the organisation's slug, from list_orgs) to say which one.

list_lifecycle_events

Read List lifecycle events

A product's lifecycle events with their actions, plus the events you can still add. Changes take effect when the product's next release is published.

Arguments

FieldTypeDescription
product_id required string
org string Organisation slug: required when this authorization covers more than one organisation (see list_orgs)

create_lifecycle_event

Write Add a lifecycle event

Configure a lifecycle event on a product (see list_lifecycle_events meta.addable for available keys). Add actions to it with create_lifecycle_action.

Arguments

FieldTypeDescription
product_id required string
event_key required string e.g. quote.issued, policy.anniversary
org string Organisation slug: required when this authorization covers more than one organisation (see list_orgs)

update_lifecycle_event_timing

Write Update lifecycle event timing

When date-based events fire. lead_time_days: how many days BEFORE the date (a renewal, say) the event fires. after_days: for events about inactivity, how many days without activity before it fires. Only the values you pass change.

Arguments

FieldTypeDescription
id required string Lifecycle event id
lead_time_days integer
after_days integer
org string Organisation slug: required when this authorization covers more than one organisation (see list_orgs)

delete_lifecycle_event

Write Remove a lifecycle event

Remove a configured lifecycle event. Refused while it still has actions: delete those first.

Arguments

FieldTypeDescription
id required string Lifecycle event id
org string Organisation slug: required when this authorization covers more than one organisation (see list_orgs)

test_lifecycle_event

Write Send a lifecycle event test

Send a sample render of an event's message actions to a real inbox (and phone for SMS) so it can be checked without waiting for a customer event.

Arguments

FieldTypeDescription
id required string Lifecycle event id
email string Defaults to the authorizing user's email
phone string Needed for SMS actions
org string Organisation slug: required when this authorization covers more than one organisation (see list_orgs)

create_lifecycle_action

Write Add a lifecycle action

Add an action to a lifecycle event: send_message (email/sms/whatsapp to the customer, optionally with pinned document attachments and a reply agent), notify_team (internal alert), webhook (POST to an outbound webhook connection), call_endpoint (call a custom integration endpoint: connection_id + endpoint_id) or pas_sync (policy sync events only). Webhook and endpoint calls reach another system: confirm first.

Arguments

FieldTypeDescription
lifecycle_event_id required string
org string Organisation slug: required when this authorization covers more than one organisation (see list_orgs)
action_type required string One of: "send_message", "notify_team", "webhook", "call_endpoint", "pas_sync"
enabled boolean
channel string send_message only One of: "email", "sms", "whatsapp"
template_key string Built-in message template key, or a custom message template's id (WhatsApp: template friendly_name)
offset_seconds integer Delay AFTER the event fires (0 = immediately)
agent_id string Choosing a reply agent IS enabling replies
sending_agent_id string
email_template_key string Built-in email chrome (email channel only; beats email_template_id)
email_template_id string Custom email design id (email channel only)
document_version_ids array of string Document versions to attach (email only; must belong to the product: see get_document versions)
recipient_scope string notify_team only One of: "team", "members"
recipient_user_ids array of string notify_team with scope=members
connection_id string webhook: an outbound webhook connection; pas_sync: the PAS connection; call_endpoint: the definition's managed connection (managed_connection.id on get_integration_definition)
endpoint_id string call_endpoint only: the custom integration endpoint to call
purpose string send_message only: what the message is for. Omit to follow the event's default (chasers are marketing, policy, payment and claim messages essential). essential: a service message they get even after saying no to service messages. first_party_marketing: only sent with their marketing consent. One of: "service", "essential", "first_party_marketing"
required_basis string send_message only: consent = only people who gave their consent for this (a soft opt-in isn't enough). Omit to follow the consent policy. One of: "consent"
consent_fallback string send_message only: send on this channel instead when the message's own isn't allowed for the person (same purpose and basis rule there). Omit to not send. One of: "email", "sms"

update_lifecycle_action

Write Update a lifecycle action

Replace a lifecycle action's settings. Pass ALL the settings for its type: any message field you leave out is cleared, as on the dashboard form. Changes to the documents it attaches are recorded in the activity log, before and after.

Arguments

FieldTypeDescription
id required string Action id
org string Organisation slug: required when this authorization covers more than one organisation (see list_orgs)
action_type string One of: "send_message", "notify_team", "webhook", "call_endpoint", "pas_sync"
enabled boolean
channel string send_message only One of: "email", "sms", "whatsapp"
template_key string Built-in message template key, or a custom message template's id (WhatsApp: template friendly_name)
offset_seconds integer Delay AFTER the event fires (0 = immediately)
agent_id string Choosing a reply agent IS enabling replies
sending_agent_id string
email_template_key string Built-in email chrome (email channel only; beats email_template_id)
email_template_id string Custom email design id (email channel only)
document_version_ids array of string Document versions to attach (email only; must belong to the product: see get_document versions)
recipient_scope string notify_team only One of: "team", "members"
recipient_user_ids array of string notify_team with scope=members
connection_id string webhook: an outbound webhook connection; pas_sync: the PAS connection; call_endpoint: the definition's managed connection (managed_connection.id on get_integration_definition)
endpoint_id string call_endpoint only: the custom integration endpoint to call
purpose string send_message only: what the message is for. Omit to follow the event's default (chasers are marketing, policy, payment and claim messages essential). essential: a service message they get even after saying no to service messages. first_party_marketing: only sent with their marketing consent. One of: "service", "essential", "first_party_marketing"
required_basis string send_message only: consent = only people who gave their consent for this (a soft opt-in isn't enough). Omit to follow the consent policy. One of: "consent"
consent_fallback string send_message only: send on this channel instead when the message's own isn't allowed for the person (same purpose and basis rule there). Omit to not send. One of: "email", "sms"

delete_lifecycle_action

Write Remove a lifecycle action

Remove an action from a lifecycle event. Required actions (e.g. compliance floors) can't be removed.

Arguments

FieldTypeDescription
id required string Action id
org string Organisation slug: required when this authorization covers more than one organisation (see list_orgs)

list_lifecycle_event_logs

Read List lifecycle event logs

Read-only activity feed of what happened when a product's lifecycle events fired: delivered, skipped (with reason) or failed (with error), newest first.

Arguments

FieldTypeDescription
product_id required string
status string One of: "dispatched", "delivered", "skipped", "failed"
event_key string
from string ISO date (YYYY-MM-DD)
to string ISO date (YYYY-MM-DD)
limit integer Max rows, default 50, cap 200
org string Organisation slug: required when this authorization covers more than one organisation (see list_orgs)

Stuck, or something missing?

Get in touch and a person on the team will help.

Contact us