mailerpress/update-contact modifies a single contact by ID: email, name, status, list membership, tag membership and custom-field values.
Only the fields you supply are changed; omitted fields are preserved.
At a glance
| Ability | mailerpress/update-contact |
| Toolset | MailerPress — toolset/mailerpress |
| Group | MailerPress › Contacts |
| Requires | AcrossAI Pro, plus MailerPress active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
List and tag membership are add-and-remove rather than replace, which means a call can move somebody between lists without knowing what else they were on.
Status is the field to be careful with. Setting a contact to subscribed who had unsubscribed reverses a decision they made, and in most jurisdictions sending to them afterwards is unlawful.
MailerPress will let you do it. Nothing here stops it, and nothing records that it happened.
Changing an email address is the other consequential edit: engagement history follows the contact record rather than the address, so the history survives — but anything external keyed on the old address no longer matches.
Custom-field values use the field keys, which differ between the free and Pro custom-field systems on the same site.
Idempotent.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
id | integer | Yes | The contact. |
email | string | No | A new email address. |
first_name | string | No | First name. |
last_name | string | No | Last name. |
status | string | No | Subscription status. |
add_lists | array | No | Lists to join. |
remove_lists | array | No | Lists to leave. |
add_tags | array | No | Tags to apply. |
remove_tags | array | No | Tags to remove. |
custom_fields | object | No | Custom-field values by key. |
What comes back
| Name | Type | What it is |
|---|---|---|
contact | object | The contact after the write. |
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:
Add this contact to the customers list.
It resolves to one call:
{
"ability": "mailerpress/update-contact",
"parameters": {
"id": 118,
"add_lists": [5]
}
}Worth knowing
- Re-subscribing somebody who unsubscribed reverses their decision, and nothing stops it.
- List and tag changes are add-and-remove, not replace.
- Engagement history follows the record, not the address.
- Idempotent.
Related abilities
- MailerPress Get Contact By Email — read the current state
- MailerPress Bulk Update Contacts — the same change in bulk
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category