Cells, Treatments & Offers
Tools for the campaign targeting layer of Aprimo Productivity Management — activity cells, treatments and the cells they attach to, offers, and the associations between them.
This page covers 32 tools, all of them available on request rather than in the default tool list, and 4 destructive.
- Status — In the default tool list means the tool is one of the ~200 Aprimo advertises to every agent out of the box, so the agent discovers and calls it on its own. Available on request means the tool is registered and fully callable, but sits outside that default list — call it by name, or ask Aprimo to extend the list your tenant is served.
- Both statuses work identically when called. Status affects discovery, not capability or authorization.
- Visibility is not authorization. Every tool call executes as the authenticated user, and any tool can return an authorization error if that user lacks rights to the record, task, or file. See the MCP Tool Permission Map.
- Destructive tools are labelled as such. They delete or irreversibly overwrite data, and will not act unless the call sets both
confirmedandconfirmedDestructivetotrue. - Activity and Project labels vary by tenant. Where this page says Activity or Project, your tenant's own configured terminology is substituted at runtime.
Aprimo's MCP Server exposes far more tools than most MCP clients handle well — many degrade or truncate their tool list well below the full catalogue. Rather than let a client truncate arbitrarily, Aprimo advertises a curated set of roughly 200 tools covering the tasks customers most commonly automate. Everything outside that set remains fully supported and callable by name; it simply isn't offered up front. If your integration leans on a tool that is available on request, talk to your Aprimo Customer Success Manager about extending the advertised list for your tenant.
Tools at a Glance
| Tool | Status | What it does |
|---|---|---|
associate_offer_treatments | On request | Associates treatment IDs to an offer, by the offer's ID, in Aprimo Marketing Operations. |
create_activity_cell | On request | Creates a new activity cell in Aprimo Marketing Operations. |
create_activity_cell_treatment | On request | Creates a new activity cell treatment in Aprimo Marketing Operations. |
create_activity_offer | On request | Adds an offer to an activity in Aprimo Marketing Operations. |
create_activity_treatment | On request | Adds a treatment to an activity in Aprimo Marketing Operations. |
create_offer | On request | Creates a new offer in Aprimo Marketing Operations. |
create_treatment | On request | Creates a new treatment in Aprimo Marketing Operations. |
delete_activity_cell | On request | Destructive. Permanently deletes an activity cell by its ID in Aprimo Marketing Operations. |
delete_activity_cell_treatment | On request | Destructive. Permanently deletes an activity cell treatment by its ID in Aprimo Marketing Operations. |
delete_activity_offer | On request | Destructive. Permanently deletes an activity offer by its integer ID in Aprimo Marketing Operations. |
delete_activity_treatment | On request | Destructive. Permanently deletes an activity treatment by its ID in Aprimo Marketing Operations. |
get_activity_cell | On request | Returns a single activity cell by its ID in Aprimo Marketing Operations. |
get_activity_cell_integration | On request | Returns an activity cell's integration record, by the activity cell's integer ID, in Aprimo Marketing Operations. |
get_activity_cell_treatment | On request | Returns a single activity cell treatment by its ID in Aprimo Marketing Operations. |
get_activity_offer | On request | Returns a single activity offer by its integer ID in Aprimo Marketing Operations. |
get_activity_treatment | On request | Returns a single activity treatment by its ID in Aprimo Marketing Operations. |
get_offer | On request | Returns a single offer by its ID in Aprimo Marketing Operations. |
get_offer_treatments | On request | Returns the treatment IDs associated with an offer, by the offer's ID, in Aprimo Marketing Operations. |
get_treatment | On request | Returns a single treatment by its ID in Aprimo Marketing Operations. |
list_activity_cell_treatments | On request | Lists the cell treatments for a given activity cell, by the activity cell's integer ID, in Aprimo Marketing Operations, paged. |
list_activity_cells | On request | Lists the activity cells for a given activity, by the activity's integer ID, in Aprimo Marketing Operations, paged. |
list_activity_offers | On request | Lists the offers associated with an activity, by the activity's integer ID, in Aprimo Marketing Operations. |
list_activity_treatments | On request | Lists the treatments associated with an activity, by the activity's integer ID, in Aprimo Marketing Operations. |
list_offers | On request | Lists offers in Aprimo Marketing Operations, paged and unfiltered. |
search_treatments | On request | Searches treatments in Aprimo Marketing Operations by name, paged. |
update_activity_cell | On request | Updates an existing activity cell by its ID in Aprimo Marketing Operations. |
update_activity_cell_integration | On request | Updates an activity cell's integration record, by the activity cell's integer ID, in Aprimo Marketing Operations. |
update_activity_cell_treatment | On request | Updates an existing activity cell treatment by its ID in Aprimo Marketing Operations. |
update_activity_offer | On request | Updates an existing activity offer by its integer ID in Aprimo Marketing Operations. |
update_activity_treatment | On request | Updates an existing activity treatment by its ID in Aprimo Marketing Operations. |
update_offer | On request | Updates an existing offer by its ID in Aprimo Marketing Operations. |
update_treatment | On request | Updates an existing treatment by its ID in Aprimo Marketing Operations. |
associate_offer_treatments
Available on request
Associates treatment IDs to an offer, by the offer's ID, in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact treatment-ids payload.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
offerId | string | Yes | The offer's ID. |
treatmentIds | string | Yes | JSON payload containing the treatment IDs (PM wire shape) -- e.g. an array of ids or an object naming them, per the user's request. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the exact treatment-ids payload. |
Returns:
| Field | Type | Description |
|---|---|---|
offerId | string (optional) | |
succeeded | boolean | |
raw | object (optional) |
create_activity_cell
Available on request
Creates a new activity cell in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact payload. Returns the created activity cell.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
body | string | Yes | JSON object with the new activity cell's data (PM wire names). |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the payload. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityCellId | integer (optional) | PM's own id field for this resource (activityCellId) -- is set from this after deserialization. |
title | string (optional) | |
championCellId | integer (optional) | |
description | string (optional) | |
activityId | integer (optional) | |
code | string (optional) | |
cellTypeId | integer (optional) | |
activityOfferId | integer (optional) | |
sourceCode | string (optional) | |
estimatedQuantity | integer (optional) | |
actualQuantity | integer (optional) | |
actualResponse | integer (optional) | |
sequence | integer (optional) | |
estimatedRevenue | number (optional) | |
modifiedUser | integer (optional) | |
modifiedDate | string (optional) | |
raw | object (optional) | The complete wire object, verbatim, for full fidelity beyond the typed fields above. |
create_activity_cell_treatment
Available on request
Creates a new activity cell treatment in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact payload. Returns the created activity cell treatment.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
body | string | Yes | JSON object with the new activity cell treatment's data (PM wire names). |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the payload. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityCellTreatmentId | integer (optional) | PM's own id field for this resource (activityCellTreatmentId) -- is set from this after deserialization. |
activityCellId | integer (optional) | The parent activity cell (ActivityCellTools) this cell treatment belongs to. |
channelId | integer (optional) | |
activityTreatmentId | integer (optional) | The activity treatment (ActivityTreatmentTools) this cell treatment references. |
activityWaveId | integer (optional) | |
cellPercentage | number (optional) | |
estResponseRatePercent | number (optional) | |
sequence | integer (optional) | |
raw | object (optional) |
create_activity_offer
Available on request
Adds an offer to an activity in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact payload. Returns the created activity offer.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
body | string | Yes | JSON object with the new activity offer's data (PM wire names). |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the payload. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityOfferId | integer (optional) | PM's own id field for this resource (activityOfferId) -- is set from this after deserialization. |
offerId | integer (optional) | The top-level Offer (OfferTools) this activity offer references. |
activityId | integer (optional) | |
revenuePerOffer | number (optional) | |
raw | object (optional) |
create_activity_treatment
Available on request
Adds a treatment to an activity in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact payload. Returns the created activity treatment.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
body | string | Yes | JSON object with the new activity treatment's data (PM wire names). |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the payload. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityTreatmentId | integer (optional) | PM's own id field for this resource (activityTreatmentId) -- is set from this after deserialization. |
treatmentId | integer (optional) | The top-level Treatment (TreatmentTools) this activity treatment references. |
activityId | integer (optional) | |
currencyCode | integer (optional) | |
raw | object (optional) |
create_offer
Available on request
Creates a new offer in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact payload. Returns the created offer.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
body | string | Yes | JSON object with the new offer's data (PM wire names). |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the payload. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string (optional) | /// Not auto-mapped from the wire's offerId (see the class remarks) -- populated by PmRefDataMapper.MapOffer via a tolerant string/int read after strict deserialization of every other field. |
title | string (optional) | PM's real wire field for this is title, not name -- see the class remarks. |
offerCode | string (optional) | |
typeId | integer (optional) | |
statusId | integer (optional) | |
description | string (optional) | |
ownerId | integer (optional) | |
beginDate | string (optional) | |
expirationDate | string (optional) | |
modifiedUser | integer (optional) | |
modifiedDate | string (optional) | |
activitySpecific | integer (optional) | |
incentiveId | integer (optional) | |
raw | object (optional) | The complete wire object, verbatim (set by the mapper). See the class remarks. |
create_treatment
Available on request
Creates a new treatment in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact payload. Returns the created treatment.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
body | string | Yes | JSON object with the new treatment's data (PM wire names). |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the payload. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string (optional) | |
name | string (optional) | |
description | string (optional) | |
treatmentCode | string (optional) | |
typeId | integer (optional) | |
channelId | integer (optional) | |
activeFlag | boolean (optional) | |
activitySpecific | boolean (optional) | |
currencyCode | integer (optional) | |
modifiedUser | integer (optional) | |
modifiedDate | string (optional) | |
assignedActivityIds | array of integer (optional) | |
raw | object (optional) |
delete_activity_cell
Available on request · Destructive
Permanently deletes an activity cell by its ID in Aprimo Marketing Operations. This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact activity cell with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityCellId | string | Yes | The activity cell's ID to delete. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — deleting an activity cell is permanent and cannot be undone. Set only after stating the exact activity cell to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
deleted | boolean |
This tool deletes or irreversibly overwrites data in the live tenant; the change cannot be rolled back through the API. It will not act unless the call sets both confirmed and confirmedDestructive to true.
delete_activity_cell_treatment
Available on request · Destructive
Permanently deletes an activity cell treatment by its ID in Aprimo Marketing Operations. This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact activity cell treatment with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityCellTreatmentId | string | Yes | The activity cell treatment's ID to delete. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — deleting an activity cell treatment is permanent and cannot be undone. Set only after stating the exact activity cell treatment to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
deleted | boolean |
This tool deletes or irreversibly overwrites data in the live tenant; the change cannot be rolled back through the API. It will not act unless the call sets both confirmed and confirmedDestructive to true.
delete_activity_offer
Available on request · Destructive
Permanently deletes an activity offer by its integer ID in Aprimo Marketing Operations. This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact activity offer with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityOfferId | string | Yes | The activity offer's integer ID to delete. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — deleting an activity offer is permanent and cannot be undone. Set only after stating the exact activity offer to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
deleted | boolean |
This tool deletes or irreversibly overwrites data in the live tenant; the change cannot be rolled back through the API. It will not act unless the call sets both confirmed and confirmedDestructive to true.
delete_activity_treatment
Available on request · Destructive
Permanently deletes an activity treatment by its ID in Aprimo Marketing Operations. This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact activity treatment with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityTreatmentId | string | Yes | The activity treatment's ID to delete. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — deleting an activity treatment is permanent and cannot be undone. Set only after stating the exact activity treatment to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
deleted | boolean |
This tool deletes or irreversibly overwrites data in the live tenant; the change cannot be rolled back through the API. It will not act unless the call sets both confirmed and confirmedDestructive to true.
get_activity_cell
Available on request
Returns a single activity cell by its ID in Aprimo Marketing Operations. Not its integration record (get_activity_cell_integration) or treatment (get_activity_cell_treatment).
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityCellId | string | Yes | The activity cell's ID. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityCellId | integer (optional) | PM's own id field for this resource (activityCellId) -- is set from this after deserialization. |
title | string (optional) | |
championCellId | integer (optional) | |
description | string (optional) | |
activityId | integer (optional) | |
code | string (optional) | |
cellTypeId | integer (optional) | |
activityOfferId | integer (optional) | |
sourceCode | string (optional) | |
estimatedQuantity | integer (optional) | |
actualQuantity | integer (optional) | |
actualResponse | integer (optional) | |
sequence | integer (optional) | |
estimatedRevenue | number (optional) | |
modifiedUser | integer (optional) | |
modifiedDate | string (optional) | |
raw | object (optional) | The complete wire object, verbatim, for full fidelity beyond the typed fields above. |
get_activity_cell_integration
Available on request
Returns an activity cell's integration record, by the activity cell's integer ID, in Aprimo Marketing Operations.
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityCellId | string | Yes | The activity cell's integer ID. |
Returns:
| Field | Type | Description |
|---|---|---|
activityCellId | integer (optional) | |
executionId | string (optional) | |
executionName | string (optional) | |
executionStatus | string (optional) | |
executionVersion | string (optional) | |
executionLink | string (optional) | |
lastSyncTime | string (optional) |
get_activity_cell_treatment
Available on request
Returns a single activity cell treatment by its ID in Aprimo Marketing Operations.
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityCellTreatmentId | string | Yes | The activity cell treatment's ID. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityCellTreatmentId | integer (optional) | PM's own id field for this resource (activityCellTreatmentId) -- is set from this after deserialization. |
activityCellId | integer (optional) | The parent activity cell (ActivityCellTools) this cell treatment belongs to. |
channelId | integer (optional) | |
activityTreatmentId | integer (optional) | The activity treatment (ActivityTreatmentTools) this cell treatment references. |
activityWaveId | integer (optional) | |
cellPercentage | number (optional) | |
estResponseRatePercent | number (optional) | |
sequence | integer (optional) | |
raw | object (optional) |
get_activity_offer
Available on request
Returns a single activity offer by its integer ID in Aprimo Marketing Operations.
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityOfferId | string | Yes | The activity offer's integer ID. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityOfferId | integer (optional) | PM's own id field for this resource (activityOfferId) -- is set from this after deserialization. |
offerId | integer (optional) | The top-level Offer (OfferTools) this activity offer references. |
activityId | integer (optional) | |
revenuePerOffer | number (optional) | |
raw | object (optional) |
get_activity_treatment
Available on request
Returns a single activity treatment by its ID in Aprimo Marketing Operations.
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityTreatmentId | string | Yes | The activity treatment's ID. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityTreatmentId | integer (optional) | PM's own id field for this resource (activityTreatmentId) -- is set from this after deserialization. |
treatmentId | integer (optional) | The top-level Treatment (TreatmentTools) this activity treatment references. |
activityId | integer (optional) | |
currencyCode | integer (optional) | |
raw | object (optional) |
get_offer
Available on request
Returns a single offer by its ID in Aprimo Marketing Operations. Not its treatments (use get_offer_treatments for those). Alternatively, identify the offer by name instead of offerId. Note: resolving by name scans the full offer list.
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
offerId | string | No | The offer's ID. Provide either offerId or name, not both. |
name | string | No | The offer's name (case-insensitive, exact match). Provide either offerId or name, not both. Note: resolving by name scans the full offer list. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string (optional) | /// Not auto-mapped from the wire's offerId (see the class remarks) -- populated by PmRefDataMapper.MapOffer via a tolerant string/int read after strict deserialization of every other field. |
title | string (optional) | PM's real wire field for this is title, not name -- see the class remarks. |
offerCode | string (optional) | |
typeId | integer (optional) | |
statusId | integer (optional) | |
description | string (optional) | |
ownerId | integer (optional) | |
beginDate | string (optional) | |
expirationDate | string (optional) | |
modifiedUser | integer (optional) | |
modifiedDate | string (optional) | |
activitySpecific | integer (optional) | |
incentiveId | integer (optional) | |
raw | object (optional) | The complete wire object, verbatim (set by the mapper). See the class remarks. |
get_offer_treatments
Available on request
Returns the treatment IDs associated with an offer, by the offer's ID, in Aprimo Marketing Operations. PM's schema does not stabilize this response's shape -- the raw payload is preserved verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
offerId | string | Yes | The offer's ID. |
Returns:
| Field | Type | Description |
|---|---|---|
offerId | string (optional) | |
raw | object (optional) |
get_treatment
Available on request
Returns a single treatment by its ID in Aprimo Marketing Operations.
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
treatmentId | string | Yes | The treatment's ID. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string (optional) | |
name | string (optional) | |
description | string (optional) | |
treatmentCode | string (optional) | |
typeId | integer (optional) | |
channelId | integer (optional) | |
activeFlag | boolean (optional) | |
activitySpecific | boolean (optional) | |
currencyCode | integer (optional) | |
modifiedUser | integer (optional) | |
modifiedDate | string (optional) | |
assignedActivityIds | array of integer (optional) | |
raw | object (optional) |
list_activity_cell_treatments
Available on request
Lists the cell treatments for a given activity cell, by the activity cell's integer ID, in Aprimo Marketing Operations, paged.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityCellId | string | Yes | The activity cell's integer ID. |
limit | integer | No | Maximum number of results to return (1–50, default 20). |
offset | integer | No | Number of results to skip for pagination (default 0). |
sortField | string | No | Optional field name to sort by. Omit for default ordering. |
sortAscending | boolean | No | Sort direction. true = ascending (default), false = descending. |
Returns:
| Field | Type | Description |
|---|---|---|
collectionName | string (optional) | Resource-name key the wire's _embedded used (e.g. "Activity", "Project"). Informational; may be null when the response isn't HAL-shaped. |
totalRecords | integer | Total record count across all pages — from the wire's _total. |
count | integer | Number of items returned in this response (i.e. Items.Count; precomputed for the llm). |
offset | integer | The offset that was used to produce this page (echoes the caller's offset, clamped to ≥0). |
hasMore | boolean | True when there are more results past this page. Tools should prompt the llm to ask the user about fetching the next page. |
nextOffset | integer (optional) | Offset to pass on the next request to continue. Null when is false. |
items | array of ActivityCellTreatmentProjection | The items returned in this response. |
items[].id | integer | |
items[].activityCellTreatmentId | integer (optional) | PM's own id field for this resource (activityCellTreatmentId) -- is set from this after deserialization. |
items[].activityCellId | integer (optional) | The parent activity cell (ActivityCellTools) this cell treatment belongs to. |
items[].channelId | integer (optional) | |
items[].activityTreatmentId | integer (optional) | The activity treatment (ActivityTreatmentTools) this cell treatment references. |
items[].activityWaveId | integer (optional) | |
items[].cellPercentage | number (optional) | |
items[].estResponseRatePercent | number (optional) | |
items[].sequence | integer (optional) | |
items[].raw | object (optional) |
list_activity_cells
Available on request
Lists the activity cells for a given activity, by the activity's integer ID, in Aprimo Marketing Operations, paged.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityId | string | Yes | The activity's integer ID. |
limit | integer | No | Maximum number of results to return (1–50, default 20). |
offset | integer | No | Number of results to skip for pagination (default 0). |
sortField | string | No | Optional field name to sort by. Omit for default ordering. |
sortAscending | boolean | No | Sort direction. true = ascending (default), false = descending. |
Returns:
| Field | Type | Description |
|---|---|---|
collectionName | string (optional) | Resource-name key the wire's _embedded used (e.g. "Activity", "Project"). Informational; may be null when the response isn't HAL-shaped. |
totalRecords | integer | Total record count across all pages — from the wire's _total. |
count | integer | Number of items returned in this response (i.e. Items.Count; precomputed for the llm). |
offset | integer | The offset that was used to produce this page (echoes the caller's offset, clamped to ≥0). |
hasMore | boolean | True when there are more results past this page. Tools should prompt the llm to ask the user about fetching the next page. |
nextOffset | integer (optional) | Offset to pass on the next request to continue. Null when is false. |
items | array of ActivityCellProjection | The items returned in this response. |
items[].id | integer | |
items[].activityCellId | integer (optional) | PM's own id field for this resource (activityCellId) -- is set from this after deserialization. |
items[].title | string (optional) | |
items[].championCellId | integer (optional) | |
items[].description | string (optional) | |
items[].activityId | integer (optional) | |
items[].code | string (optional) | |
items[].cellTypeId | integer (optional) | |
items[].activityOfferId | integer (optional) | |
items[].sourceCode | string (optional) | |
items[].estimatedQuantity | integer (optional) | |
items[].actualQuantity | integer (optional) | |
items[].actualResponse | integer (optional) | |
items[].sequence | integer (optional) | |
items[].estimatedRevenue | number (optional) | |
items[].modifiedUser | integer (optional) | |
items[].modifiedDate | string (optional) | |
items[].raw | object (optional) | The complete wire object, verbatim, for full fidelity beyond the typed fields above. |
list_activity_offers
Available on request
Lists the offers associated with an activity, by the activity's integer ID, in Aprimo Marketing Operations. PM does not page this endpoint -- every associated offer is returned in one call.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityId | string | Yes | The activity's integer ID. |
Returns:
| Field | Type | Description |
|---|---|---|
collectionName | string (optional) | Resource-name key the wire's _embedded used (e.g. "Activity", "Project"). Informational; may be null when the response isn't HAL-shaped. |
totalRecords | integer | Total record count across all pages — from the wire's _total. |
count | integer | Number of items returned in this response (i.e. Items.Count; precomputed for the llm). |
offset | integer | The offset that was used to produce this page (echoes the caller's offset, clamped to ≥0). |
hasMore | boolean | True when there are more results past this page. Tools should prompt the llm to ask the user about fetching the next page. |
nextOffset | integer (optional) | Offset to pass on the next request to continue. Null when is false. |
items | array of ActivityOfferProjection | The items returned in this response. |
items[].id | integer | |
items[].activityOfferId | integer (optional) | PM's own id field for this resource (activityOfferId) -- is set from this after deserialization. |
items[].offerId | integer (optional) | The top-level Offer (OfferTools) this activity offer references. |
items[].activityId | integer (optional) | |
items[].revenuePerOffer | number (optional) | |
items[].raw | object (optional) |
list_activity_treatments
Available on request
Lists the treatments associated with an activity, by the activity's integer ID, in Aprimo Marketing Operations. PM does not page this endpoint -- every associated treatment is returned in one call.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityId | string | Yes | The activity's integer ID. |
Returns:
| Field | Type | Description |
|---|---|---|
collectionName | string (optional) | Resource-name key the wire's _embedded used (e.g. "Activity", "Project"). Informational; may be null when the response isn't HAL-shaped. |
totalRecords | integer | Total record count across all pages — from the wire's _total. |
count | integer | Number of items returned in this response (i.e. Items.Count; precomputed for the llm). |
offset | integer | The offset that was used to produce this page (echoes the caller's offset, clamped to ≥0). |
hasMore | boolean | True when there are more results past this page. Tools should prompt the llm to ask the user about fetching the next page. |
nextOffset | integer (optional) | Offset to pass on the next request to continue. Null when is false. |
items | array of ActivityTreatmentProjection | The items returned in this response. |
items[].id | integer | |
items[].activityTreatmentId | integer (optional) | PM's own id field for this resource (activityTreatmentId) -- is set from this after deserialization. |
items[].treatmentId | integer (optional) | The top-level Treatment (TreatmentTools) this activity treatment references. |
items[].activityId | integer (optional) | |
items[].currencyCode | integer (optional) | |
items[].raw | object (optional) |
list_offers
Available on request
Lists offers in Aprimo Marketing Operations, paged and unfiltered.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Maximum number of results to return (1–50, default 20). |
offset | integer | No | Number of results to skip for pagination (default 0). |
sortField | string | No | Optional field name to sort by. Omit for default ordering. |
sortAscending | boolean | No | Sort direction. true = ascending (default), false = descending. |
Returns:
| Field | Type | Description |
|---|---|---|
collectionName | string (optional) | Resource-name key the wire's _embedded used (e.g. "Activity", "Project"). Informational; may be null when the response isn't HAL-shaped. |
totalRecords | integer | Total record count across all pages — from the wire's _total. |
count | integer | Number of items returned in this response (i.e. Items.Count; precomputed for the llm). |
offset | integer | The offset that was used to produce this page (echoes the caller's offset, clamped to ≥0). |
hasMore | boolean | True when there are more results past this page. Tools should prompt the llm to ask the user about fetching the next page. |
nextOffset | integer (optional) | Offset to pass on the next request to continue. Null when is false. |
items | array of OfferProjection | The items returned in this response. |
items[].id | string (optional) | /// Not auto-mapped from the wire's offerId (see the class remarks) -- populated by PmRefDataMapper.MapOffer via a tolerant string/int read after strict deserialization of every other field. |
items[].title | string (optional) | PM's real wire field for this is title, not name -- see the class remarks. |
items[].offerCode | string (optional) | |
items[].typeId | integer (optional) | |
items[].statusId | integer (optional) | |
items[].description | string (optional) | |
items[].ownerId | integer (optional) | |
items[].beginDate | string (optional) | |
items[].expirationDate | string (optional) | |
items[].modifiedUser | integer (optional) | |
items[].modifiedDate | string (optional) | |
items[].activitySpecific | integer (optional) | |
items[].incentiveId | integer (optional) | |
items[].raw | object (optional) | The complete wire object, verbatim (set by the mapper). See the class remarks. |
search_treatments
Available on request
Searches treatments in Aprimo Marketing Operations by name, paged. A nameFilter is required -- PM has no match-all query for this endpoint.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
nameFilter | string | No | Required case-insensitive substring filter on the treatment's name -- PM has no match-all query for this endpoint, so this cannot be omitted. |
limit | integer | No | Maximum number of results to return (1–50, default 20). |
offset | integer | No | Number of results to skip for pagination (default 0). |
sortField | string | No | Optional field name to sort by. Omit for default ordering. |
sortAscending | boolean | No | Sort direction. true = ascending (default), false = descending. |
Returns:
| Field | Type | Description |
|---|---|---|
collectionName | string (optional) | Resource-name key the wire's _embedded used (e.g. "Activity", "Project"). Informational; may be null when the response isn't HAL-shaped. |
totalRecords | integer | Total record count across all pages — from the wire's _total. |
count | integer | Number of items returned in this response (i.e. Items.Count; precomputed for the llm). |
offset | integer | The offset that was used to produce this page (echoes the caller's offset, clamped to ≥0). |
hasMore | boolean | True when there are more results past this page. Tools should prompt the llm to ask the user about fetching the next page. |
nextOffset | integer (optional) | Offset to pass on the next request to continue. Null when is false. |
items | array of TreatmentProjection | The items returned in this response. |
items[].id | string (optional) | |
items[].name | string (optional) | |
items[].description | string (optional) | |
items[].treatmentCode | string (optional) | |
items[].typeId | integer (optional) | |
items[].channelId | integer (optional) | |
items[].activeFlag | boolean (optional) | |
items[].activitySpecific | boolean (optional) | |
items[].currencyCode | integer (optional) | |
items[].modifiedUser | integer (optional) | |
items[].modifiedDate | string (optional) | |
items[].assignedActivityIds | array of integer (optional) | |
items[].raw | object (optional) |
update_activity_cell
Available on request
Updates an existing activity cell by its ID in Aprimo Marketing Operations. Not a true partial update -- PM validates the body against the full activity cell record and rejects it ("Required property ... not found") if any required field (e.g. activityId, title) is missing, even ones you aren't changing. Call get_activity_cell first, merge your changes into the full record, and send that. Requires confirmed=true after showing the user the exact changes. Returns the updated activity cell.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityCellId | string | Yes | The activity cell's ID. |
body | string | Yes | JSON object with the full activity cell record (PM wire names), not just the changed fields -- see the tool description. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the change. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityCellId | integer (optional) | PM's own id field for this resource (activityCellId) -- is set from this after deserialization. |
title | string (optional) | |
championCellId | integer (optional) | |
description | string (optional) | |
activityId | integer (optional) | |
code | string (optional) | |
cellTypeId | integer (optional) | |
activityOfferId | integer (optional) | |
sourceCode | string (optional) | |
estimatedQuantity | integer (optional) | |
actualQuantity | integer (optional) | |
actualResponse | integer (optional) | |
sequence | integer (optional) | |
estimatedRevenue | number (optional) | |
modifiedUser | integer (optional) | |
modifiedDate | string (optional) | |
raw | object (optional) | The complete wire object, verbatim, for full fidelity beyond the typed fields above. |
update_activity_cell_integration
Available on request
Updates an activity cell's integration record, by the activity cell's integer ID, in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact changes. PM's snapshot declares no response body for this operation, so success is echoed back without a re-fetch.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityCellId | string | Yes | The activity cell's integer ID. |
body | string | Yes | JSON object with the integration fields to change (PM wire names). |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the change. |
Returns:
| Field | Type | Description |
|---|---|---|
activityCellId | integer | |
succeeded | boolean |
update_activity_cell_treatment
Available on request
Updates an existing activity cell treatment by its ID in Aprimo Marketing Operations. Not a true partial update -- PM validates the body against the full activity cell treatment record and rejects it ("Required property ... not found") if any required field (e.g. activityCellId, activityTreatmentId) is missing, even ones you aren't changing. Call get_activity_cell_treatment first, merge your changes into the full record, and send that. Requires confirmed=true after showing the user the exact changes. Returns the updated activity cell treatment.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityCellTreatmentId | string | Yes | The activity cell treatment's ID. |
body | string | Yes | JSON object with the full activity cell treatment record (PM wire names), not just the changed fields -- see the tool description. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the change. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityCellTreatmentId | integer (optional) | PM's own id field for this resource (activityCellTreatmentId) -- is set from this after deserialization. |
activityCellId | integer (optional) | The parent activity cell (ActivityCellTools) this cell treatment belongs to. |
channelId | integer (optional) | |
activityTreatmentId | integer (optional) | The activity treatment (ActivityTreatmentTools) this cell treatment references. |
activityWaveId | integer (optional) | |
cellPercentage | number (optional) | |
estResponseRatePercent | number (optional) | |
sequence | integer (optional) | |
raw | object (optional) |
update_activity_offer
Available on request
Updates an existing activity offer by its integer ID in Aprimo Marketing Operations. Not a true partial update -- PM validates the body against the full activity offer record and rejects it ("Required property ... not found") if any required field (e.g. offerId, activityId) is missing, even ones you aren't changing. Call get_activity_offer first, merge your changes into the full record, and send that. Requires confirmed=true after showing the user the exact changes. Returns the updated activity offer.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityOfferId | string | Yes | The activity offer's integer ID. |
body | string | Yes | JSON object with the full activity offer record (PM wire names), not just the changed fields -- see the tool description. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the change. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityOfferId | integer (optional) | PM's own id field for this resource (activityOfferId) -- is set from this after deserialization. |
offerId | integer (optional) | The top-level Offer (OfferTools) this activity offer references. |
activityId | integer (optional) | |
revenuePerOffer | number (optional) | |
raw | object (optional) |
update_activity_treatment
Available on request
Updates an existing activity treatment by its ID in Aprimo Marketing Operations. Not a true partial update -- PM validates the body against the full activity treatment record and rejects it ("Required property ... not found") if any required field (e.g. activityTreatmentId, treatmentId, activityId, currencyCode) is missing, even ones you aren't changing. Call get_activity_treatment first, merge your changes into the full record, and send that. Requires confirmed=true after showing the user the exact changes. Returns the updated activity treatment.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
activityTreatmentId | string | Yes | The activity treatment's ID. |
body | string | Yes | JSON object with the full activity treatment record (PM wire names), not just the changed fields -- see the tool description. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the change. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
activityTreatmentId | integer (optional) | PM's own id field for this resource (activityTreatmentId) -- is set from this after deserialization. |
treatmentId | integer (optional) | The top-level Treatment (TreatmentTools) this activity treatment references. |
activityId | integer (optional) | |
currencyCode | integer (optional) | |
raw | object (optional) |
update_offer
Available on request
Updates an existing offer by its ID in Aprimo Marketing Operations. Not a true partial update -- confirmed live against the tenant: PM validates the body against the full offer record and rejects it ("Required property ... not found") if any required field (e.g. offerId, title, statusId, ownerId, beginDate, modifiedUser) is missing, even ones you aren't changing. Call get_offer first, merge your changes into the full record, and send that. Alternatively, identify the offer by name instead of offerId. Note: resolving by name scans the full offer list. Requires confirmed=true after showing the user the exact changes. Returns the updated offer.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
offerId | string | No | The offer's ID. Provide either offerId or name, not both. |
name | string | No | The offer's name (case-insensitive, exact match). Provide either offerId or name, not both. Note: resolving by name scans the full offer list. |
body | string | No | JSON object with the full offer record (PM wire names), not just the changed fields -- see the tool description. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the change. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string (optional) | /// Not auto-mapped from the wire's offerId (see the class remarks) -- populated by PmRefDataMapper.MapOffer via a tolerant string/int read after strict deserialization of every other field. |
title | string (optional) | PM's real wire field for this is title, not name -- see the class remarks. |
offerCode | string (optional) | |
typeId | integer (optional) | |
statusId | integer (optional) | |
description | string (optional) | |
ownerId | integer (optional) | |
beginDate | string (optional) | |
expirationDate | string (optional) | |
modifiedUser | integer (optional) | |
modifiedDate | string (optional) | |
activitySpecific | integer (optional) | |
incentiveId | integer (optional) | |
raw | object (optional) | The complete wire object, verbatim (set by the mapper). See the class remarks. |
update_treatment
Available on request
Updates an existing treatment by its ID in Aprimo Marketing Operations. Not a true partial update -- confirmed live against the tenant: PM validates the body against the full treatment record and rejects it ("Required property ... not found") if any required field (e.g. treatmentId, title, activeFlag, activitySpecific, currencyCode) is missing, even ones you aren't changing. Call get_treatment first, merge your changes into the full record, and send that. Requires confirmed=true after showing the user the exact changes. Returns the updated treatment.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
treatmentId | string | Yes | The treatment's ID. |
body | string | Yes | JSON object with the full treatment record (PM wire names), not just the changed fields -- see the tool description. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the change. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string (optional) | |
name | string (optional) | |
description | string (optional) | |
treatmentCode | string (optional) | |
typeId | integer (optional) | |
channelId | integer (optional) | |
activeFlag | boolean (optional) | |
activitySpecific | boolean (optional) | |
currencyCode | integer (optional) | |
modifiedUser | integer (optional) | |
modifiedDate | string (optional) | |
assignedActivityIds | array of integer (optional) | |
raw | object (optional) |
Related
- Aprimo MCP Server — configuration, connection details, and authentication
- MCP Tool Permission Map — the Aprimo permissions that make each tool visible to your agent
- REST API vs. MCP — choosing the right integration approach for your agent