Skip to main content
This tool SENDS REAL INVITES. With destination_type: "luma_event" (the default), action: "confirm" sends Luma invites to real people, and a send cannot be recalled. It only sends after a preview and the user’s explicit confirmation. With destination_type: "external" it sends nothing: it records invites the user already sent themselves.
activate_list is the step after save_list. It takes a list_id and either sends the List to a Luma event the user names, or records that the user invited these people on their own so the List’s funnel counts them. It also reports a send’s progress and the invited-to-approved funnel. Follows the heyBTW MCP rules.

When to use it

  • “Send the LA dinner List as Luma invites.”
  • “I emailed these 20 people myself yesterday. Record them as invited to the SF Open House.”
  • “Did my send go out?”
  • “How many people from that List approved?”

Parameters

Workflow

1

List the destinations

Call action: "events". It lists only Luma events this workspace can send to. A collab with no linked Luma event does not appear, and an empty list with credential_available: true means no sendable Luma event exists yet.
2

Ask the user which event

Never choose for them, even when exactly one is listed.
3

Preview

Call action: "preview" with list_id and that target_event_id. Nothing is sent.
4

Show the confirmation payload

Present the eligible count, excluded reasons, the event name and date, the trailing 7-day invite usage, and the invite log note. When any members are imported, relay the provenance coverage note word for word.
5

Confirm only on an explicit go-ahead

Call action: "confirm" with the same target_event_id and a fresh client_request_id. Over 2,500 eligible, pass typed_count. If the preview exceeded the weekly reference, pass weekly_warning_acknowledged: true.
6

Check progress

Call action: "status" with the activation_id.
Both doors apply the same eligibility rule. A member with no event history, CRM relationship or import in this workspace is excluded, not invited. Members already recorded or sent for the same List and destination are excluded as previously sent. Never tell the user every member was invited. If a confirm fails with send_outcome_unknown, retry with the same client_request_id. The server dedupes on it and a retry can never double-send. Any other repeat is not free: a grown dynamic List re-sends the delta.

Invite log

invite_log decides whether the confirm writes one invite record per person (person, with who sent it) or only this activation’s counts (count). Omitted, it is person up to 2,500 recipients and count above. The preview serves invite_log and invite_log_basis (default_threshold or user_set) and a note: relay it before the user confirms. Never record an activate_list send again with record_observation.

Response

Each action returns data[0].action and data[0].result. A Luma preview and confirm were not captured for this page, because the workspace has no sendable Luma event and a confirm would send. Those shapes are from the tool’s code and contract. This funnel sample is trimmed from a real call today on a test List recorded as external.

Rules the agent must follow

  • Never confirm a Luma send without the user’s explicit go-ahead on the preview they saw.
  • Never pick the target event or the external door for the user.
  • Relay the imported-members coverage note and the invite log note word for word before confirm.
  • Report funnel entries one per send, each naming its event. Never sum them unless the user asks for a lifetime total.
  • withheld: true means the host’s records are restricted: say “restricted”, never “no one responded”. Its nulls are unknown, not zero.

Errors and gaps

  • invalid_parameter: a missing required parameter (for example activation_id on status), or an argument the action does not use, which is refused, never ignored.
  • destination_not_supported: any destination_type other than luma_event or external.
  • insufficient_scope: preview and confirm need mcp:tools:write on an OAuth token. events, status and funnel need no scope.
  • entitlement_required: the plan lacks outbound agent connections.
  • send_outcome_unknown: retry with the same client_request_id.
  • internal_error: retry once.