mailerpress/delete-contact deletes a single contact record and their associated engagement history. It requires confirm_email matching the stored address.
Deleting and unsubscribing are different operations with different purposes.
Before you run it
The contact record and their engagement history both go, permanently. The history is the part that cannot be reconstructed: every open, click and campaign they received. For a contact who asked to be removed that is correct and required; for a contact being tidied away it destroys the record of what they were sent, which is the evidence you would want if they later ask.
At a glance
| Ability | mailerpress/delete-contact |
| Toolset | MailerPress — toolset/mailerpress |
| Group | MailerPress › Contacts |
| Requires | AcrossAI Pro, plus MailerPress active on the site |
| Capability | manage_options |
| Safety | Destructive and irreversible — deletes the contact and their engagement history. Requires confirm_email. |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
Unsubscribing stops sending and keeps the record, including the record of what they were sent and when. Deleting removes both.
For a data-subject erasure request, deletion is the correct response and the loss of history is the point.
For anything else it is usually the wrong operation. A deleted contact takes with them the evidence of what they consented to and what they received — which is exactly what you would need if a complaint arrives afterwards.
The email confirmation is checked against the stored address, so a stale address from an earlier read fails rather than deleting somebody who was updated since.
Idempotent: deleting an already-deleted contact is a no-op.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
id | integer | Yes | The contact. |
confirm_email | string | Yes | Must exactly match the contact’s stored email. |
confirm | boolean | Yes — must be true | The irreversibility gate. Without it the call is refused before anything is touched. |
What comes back
| Name | Type | What it is |
|---|---|---|
deleted | boolean | Whether the contact was removed. |
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:
Delete this contact — they asked to be removed.
It resolves to one call:
{
"ability": "mailerpress/delete-contact",
"parameters": {
"id": 118,
"confirm_email": "sam@example.com",
"confirm": true
}
}Worth knowing
- Engagement history goes with the record and cannot be reconstructed.
- Correct for an erasure request; usually wrong for tidying.
- Unsubscribing stops sending and keeps the evidence.
- The email is checked live, catching an address changed since your read.
Related abilities
- MailerPress Update Contact — unsubscribe instead
- MailerPress Bulk Delete Contacts — several at once
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category