List recipients
Recipients of a campaign, searchable and filterable by what they did.
MCP tool mailshake_read → list_recipients
read
Lists the recipients of one campaign, 100 to a page, with their custom fields and whether they are paused. filter_action keeps only recipients who opened, clicked, replied, were sent a message, bounced, are paused or have problems (a missing text replacement or a failed send). negate flips the filter, so opened with negate returns recipients who never opened. Pass next_token back for the next page.
Parameters
| Name | Type | Description |
|---|---|---|
| campaign_id integer required | integer | Campaign ID from list_campaigns. |
| filter_action enum | enum | opened, clicked, replied, was_sent, bounced, paused or has_problems. |
| negate boolean | boolean | true to find recipients who did NOT take the filter_action. Default: false. |
| search string | string | Only recipients matching this name or email address. |
| per_page integer | integer | 1 to 100. Default: 100. |
| next_token string | string | Next page token from the previous call. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "mailshake_read",
"arguments": {
"operation": "list_recipients",
"arguments": {
"campaign_id": 1
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"results": [
{
"id": 771204,
"email_address": "dana@brightpath.example",
"full_name": "Dana Whitfield",
"is_paused": false,
"fields": {
"company": "Brightpath"
}
},
{
"id": 771205,
"email_address": "omar@lumenlabs.example",
"full_name": "Omar Haddad",
"is_paused": false,
"fields": {
"company": "Lumen Labs"
}
}
],
"next_token": null
},
"isError": false
}