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
- Send Luma invites
- Record invites you sent
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.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 returnsdata[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: truemeans 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 exampleactivation_idon status), or an argument the action does not use, which is refused, never ignored.destination_not_supported: anydestination_typeother thanluma_eventorexternal.insufficient_scope: preview and confirm needmcp:tools:writeon an OAuth token. events, status and funnel need no scope.entitlement_required: the plan lacks outbound agent connections.send_outcome_unknown: retry with the sameclient_request_id.internal_error: retry once.
Related
- save_list: make the List first.
- get_lists: find the
list_id. - get_event_details: read the logged invites back.
- Playbook: Fill the room in the two weeks before.