mailerpress/get-contact-campaign-history returns every campaign that reached this contact, through list membership or tag targeting at the time of send.
“At the time of send” is the important qualification.
At a glance
| Ability | mailerpress/get-contact-campaign-history |
| Toolset | MailerPress — toolset/mailerpress |
| Group | MailerPress › Contacts |
| Requires | AcrossAI Pro, plus MailerPress active on the site |
| Capability | manage_options |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
Targeting is evaluated when a campaign sends. A contact who was on a list in March and left in April received the March campaign and not the April one, and their current list membership explains neither.
So this history is not derivable from the contact’s current state — it is a record of what was true at each send.
That makes it the answer to “why did this person get that email”, which is a question with legal weight on a marketing list and one the current record cannot answer.
It complements mailerpress/get-contact-activity by pivoting on the campaign axis: that one is what they did, this one is what they were sent.
A campaign in this history with no corresponding activity means they received it and did nothing, which is the normal case.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
contact_id | integer | Yes | The contact. |
page | integer | No | Page number. |
What comes back
| Name | Type | What it is |
|---|---|---|
campaigns | array | Every campaign that reached this contact. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Why did this person receive that email?
It resolves to one call:
{
"ability": "mailerpress/get-contact-campaign-history",
"parameters": {
"contact_id": 118
}
}Worth knowing
- Targeting is evaluated at send time, so current membership does not explain the history.
- This is the only answer to “why did they get that”, which can matter legally.
- Received-and-did-nothing is the normal case.
- Read-only.
Related abilities
- MailerPress Get Contact Activity — what they did with them
- MailerPress Get Campaign Logs — the campaign-side view
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category