Review Tasks & Approvals
Tools for the review and approval cycle — review tasks and their scheduling, the materials under review, and the document votes reviewers cast on them.
This page covers 15 tools, 7 of them in the default tool list, and 2 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 |
|---|---|---|
cast_review_task_vote | On request | Destructive. Casts a vote on a review task in Aprimo Marketing Operations. |
delegate_review_task | On request | Destructive. Delegates a review task to another user in Aprimo Marketing Operations. |
get_review_document_vote_comments | On request | Returns the assignees' vote comments for one document under document-level voting (DLV), by task ID and task-document ID, in Aprimo Marketing Operations. |
get_review_task | Default | Returns a single review task by its integer ID in Aprimo Marketing Operations. |
get_review_task_review_materials | On request | Returns the review materials (document hrefs) for a review task, by the review task's integer ID, in Aprimo Marketing Operations. |
get_task_document_votes | Default | Returns the document-level vote records for a task under document-level voting (DLV), by the task's integer ID, in Aprimo Marketing Operations. |
get_task_review_materials | Default | Returns the review materials (document hrefs) for a task, by the task's integer ID, in Aprimo Marketing Operations. |
list_my_review_tasks | Default | Lists review tasks assigned to the current user, in Aprimo Marketing Operations, paged. |
list_review_task_document_votes | On request | Returns the document-level vote records for a review task under document-level voting (DLV), by the review task's integer ID, in Aprimo Marketing Operations. |
list_review_tasks | Default | Lists review tasks in Aprimo Marketing Operations, paged, with optional filters on task status, modified-after date, and task title. |
search_review_tasks | Default | Searches review tasks in Aprimo Marketing Operations by name, paged. |
update_review_task_begin_date | On request | Updates the begin date of a review task by its integer ID in Aprimo Marketing Operations. |
update_review_task_document_vote | On request | Updates the review vote for a document in a review-material task, by the task-document's integer ID, in Aprimo Marketing Operations. |
update_review_task_end_date | On request | Updates the end date of a review task by its integer ID in Aprimo Marketing Operations. |
update_review_task_estimated_duration | Default | Updates the estimated duration of a review task by its integer ID in Aprimo Marketing Operations. |
cast_review_task_vote
Available on request · Destructive
Casts a vote on a review task in Aprimo Marketing Operations. This is a state change that records the assignee's vote (approve/reject/etc.) and may advance the workflow. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact review task and vote with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
reviewTaskId | string | Yes | The review task's integer ID. |
voteResult | integer | Yes | The integer vote result to cast (PM's ReviewTaskVoteResult enum, e.g. approve/reject). |
comments | string | No | Optional comments on the vote. |
days | integer | No | Optional days spent reviewing. |
hours | integer | No | Optional hours spent reviewing. |
minutes | integer | No | Optional minutes spent reviewing. |
rejectReasonId | integer | No | Optional integer ID of the reason for rejecting, when voteResult is a rejection. |
electronicSignature | string | No | Optional electronic signature text, when the review task requires one. |
promoteAttachments | boolean | No | When true, promote the task's draft attachments on vote. Default false. |
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) — casting a vote changes the review task's state. Set only after stating the exact review task and vote to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
taskId | integer | |
success | boolean | |
message | string (optional) |
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.
delegate_review_task
Available on request · Destructive
Delegates a review task to another user in Aprimo Marketing Operations. This is a state change that reassigns the review task. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact review task and target user with the user. Returns a 409-style conflict message if the review task cannot be delegated in its current state.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
reviewTaskId | string | Yes | The review task's integer ID to delegate. |
taskAssigneeId | string | Yes | The task assignee record's integer ID (the assignment being delegated). |
newUserId | string | Yes | The integer user ID to delegate the review task to. |
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) — delegating a review task reassigns it and changes its state. Set only after stating the exact review task and target user to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
taskId | integer | |
success | boolean | |
failedDueToConflictingData | boolean | |
message | string (optional) | |
messageResourceId | string (optional) |
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_review_document_vote_comments
Available on request
Returns the assignees' vote comments for one document under document-level voting (DLV), by task ID and task-document ID, in Aprimo Marketing Operations. Resolves related-user names.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The task's integer ID. |
taskDocId | string | Yes | The task-document's integer ID. |
Returns:
| Field | Type | Description |
|---|---|---|
readOnly | boolean | |
totalRecords | integer | |
items | array of ReviewTaskDocumentVoteProjection | |
items[].taskName | string (optional) | |
items[].taskId | integer (optional) | |
items[].workflowStepId | integer (optional) | |
items[].taskDocId | integer | |
items[].assigneeId | integer | |
items[].versionId | integer | |
items[].voteResult | integer (optional) | |
items[].rejectId | integer (optional) | |
items[].comments | string (optional) | |
items[].voteResultEncTitleId | integer (optional) | |
items[].relatedUserId | integer (optional) | |
items[].relatedUserName | string (optional) | |
items[].relatedCompletedDate | string (optional) | |
items[].relatedNotVotedAssigneeUserIds | array of integer (optional) |
get_review_task
In the default tool list
Returns a single review task by its integer ID in Aprimo Marketing Operations. Not its assignee (get_review_task_assignee), link (get_review_task_link), review materials (get_review_task_review_materials), or supporting attachment (get_review_task_supporting_attachment). Resolves status label and modified/completed-by user names. Also reports whether the review task can currently be closed, delegated, declined, or skipped.
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
reviewTaskId | string | Yes | The review task's integer ID. |
Returns:
| Field | Type | Description |
|---|---|---|
taskId | integer | |
projectId | integer | |
projectDeepLink | string (optional) | |
name | string (optional) | |
description | string (optional) | |
statusId | integer (optional) | |
statusLabel | string (optional) | |
beginDate | string (optional) | |
endDate | string (optional) | |
estimatedDuration | integer (optional) | |
modifiedById | integer (optional) | |
modifiedByName | string (optional) | |
completedById | integer (optional) | |
completedByName | string (optional) | |
canClose | boolean (optional) | Whether the review task can currently be closed. |
canDelegate | boolean (optional) | Whether the review task can currently be delegated (drives delegate_review_task). |
canDecline | boolean (optional) | Whether the review task can currently be declined. |
canSkip | boolean (optional) | Whether the review task can currently be skipped. |
voteStyle | integer (optional) | PM's ReviewTaskVoteStyle enum, as a raw integer -- no existing resolver maps it to a display label. |
voteResult | integer (optional) | PM's ReviewTaskVoteResult enum, as a raw integer -- no existing resolver maps it to a display label. |
documentLevelVoting | boolean (optional) | |
allMustVote | boolean (optional) | |
requiresElectronicSignature | boolean (optional) | |
numberOfAssignees | integer (optional) | |
raw | object (optional) | The complete wire object, verbatim. See the class remarks. |
get_review_task_review_materials
Available on request
Returns the review materials (document hrefs) for a review task, by the review task'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 |
|---|---|---|---|
reviewTaskId | string | Yes | The review task's integer ID. |
Returns:
| Field | Type | Description |
|---|---|---|
reviewMaterials | array of ReviewMaterialItemProjection | |
reviewMaterials[].href | string (optional) |
get_task_document_votes
In the default tool list
Returns the document-level vote records for a task under document-level voting (DLV), by the task's integer ID, in Aprimo Marketing Operations. Resolves related-user names.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The task's integer ID. |
Returns:
| Field | Type | Description |
|---|---|---|
readOnly | boolean | |
totalRecords | integer | |
items | array of ReviewTaskDocumentVoteProjection | |
items[].taskName | string (optional) | |
items[].taskId | integer (optional) | |
items[].workflowStepId | integer (optional) | |
items[].taskDocId | integer | |
items[].assigneeId | integer | |
items[].versionId | integer | |
items[].voteResult | integer (optional) | |
items[].rejectId | integer (optional) | |
items[].comments | string (optional) | |
items[].voteResultEncTitleId | integer (optional) | |
items[].relatedUserId | integer (optional) | |
items[].relatedUserName | string (optional) | |
items[].relatedCompletedDate | string (optional) | |
items[].relatedNotVotedAssigneeUserIds | array of integer (optional) |
get_task_review_materials
In the default tool list
Returns the review materials (document hrefs) for a task, by the task'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 |
|---|---|---|---|
taskId | string | Yes | The task's integer ID. |
Returns:
| Field | Type | Description |
|---|---|---|
reviewMaterials | array of ReviewMaterialItemProjection | |
reviewMaterials[].href | string (optional) |
list_my_review_tasks
In the default tool list
Lists review tasks assigned to the current user, in Aprimo Marketing Operations, paged. PM's snapshot declares the response shape as opaque, so items are surfaced with best-effort id/name extraction plus the full raw wire object.
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). |
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 ReviewTaskMineItemProjection | The items returned in this response. |
items[].taskId | string (optional) | |
items[].name | string (optional) | |
items[].raw | object (optional) |
list_review_task_document_votes
Available on request
Returns the document-level vote records for a review task under document-level voting (DLV), by the review task's integer ID, in Aprimo Marketing Operations. The result is flagged read-only when the current user cannot vote on it. PM's snapshot declares this route's response shape as opaque, so items are surfaced with best-effort id extraction plus the full raw wire object.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
reviewTaskId | string | Yes | The review task's integer ID. |
Returns:
| Field | Type | Description |
|---|---|---|
readOnly | boolean (optional) | |
totalRecords | integer | |
items | array of ReviewTaskDocumentVoteRawItemProjection | |
items[].taskDocId | string (optional) | |
items[].raw | object (optional) |
list_review_tasks
In the default tool list
Lists review tasks in Aprimo Marketing Operations, paged, with optional filters on task status, modified-after date, and task title. Resolves status labels and modified/completed-by user names.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
taskStatus | integer | No | Optional integer task-status id to filter by. Omit to match any status. |
modifiedAfterDate | string | No | Optional ISO-8601 date; only review tasks modified on/after this date are returned. |
taskTitle | string | No | Optional case-insensitive substring filter on the review task's title. |
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 (default 'TaskId'). |
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 ReviewTaskProjection | The items returned in this response. |
items[].taskId | integer | |
items[].projectId | integer | |
items[].projectDeepLink | string (optional) | |
items[].name | string (optional) | |
items[].description | string (optional) | |
items[].statusId | integer (optional) | |
items[].statusLabel | string (optional) | |
items[].beginDate | string (optional) | |
items[].endDate | string (optional) | |
items[].estimatedDuration | integer (optional) | |
items[].modifiedById | integer (optional) | |
items[].modifiedByName | string (optional) | |
items[].completedById | integer (optional) | |
items[].completedByName | string (optional) | |
items[].canClose | boolean (optional) | Whether the review task can currently be closed. |
items[].canDelegate | boolean (optional) | Whether the review task can currently be delegated (drives delegate_review_task). |
items[].canDecline | boolean (optional) | Whether the review task can currently be declined. |
items[].canSkip | boolean (optional) | Whether the review task can currently be skipped. |
items[].voteStyle | integer (optional) | PM's ReviewTaskVoteStyle enum, as a raw integer -- no existing resolver maps it to a display label. |
items[].voteResult | integer (optional) | PM's ReviewTaskVoteResult enum, as a raw integer -- no existing resolver maps it to a display label. |
items[].documentLevelVoting | boolean (optional) | |
items[].allMustVote | boolean (optional) | |
items[].requiresElectronicSignature | boolean (optional) | |
items[].numberOfAssignees | integer (optional) | |
items[].raw | object (optional) | The complete wire object, verbatim. See the class remarks. |
search_review_tasks
In the default tool list
Searches review tasks in Aprimo Marketing Operations by name, paged.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
nameFilter | string | No | Optional case-insensitive substring filter on the review task's name. Omit to match all review tasks. |
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 ReviewTaskProjection | The items returned in this response. |
items[].taskId | integer | |
items[].projectId | integer | |
items[].projectDeepLink | string (optional) | |
items[].name | string (optional) | |
items[].description | string (optional) | |
items[].statusId | integer (optional) | |
items[].statusLabel | string (optional) | |
items[].beginDate | string (optional) | |
items[].endDate | string (optional) | |
items[].estimatedDuration | integer (optional) | |
items[].modifiedById | integer (optional) | |
items[].modifiedByName | string (optional) | |
items[].completedById | integer (optional) | |
items[].completedByName | string (optional) | |
items[].canClose | boolean (optional) | Whether the review task can currently be closed. |
items[].canDelegate | boolean (optional) | Whether the review task can currently be delegated (drives delegate_review_task). |
items[].canDecline | boolean (optional) | Whether the review task can currently be declined. |
items[].canSkip | boolean (optional) | Whether the review task can currently be skipped. |
items[].voteStyle | integer (optional) | PM's ReviewTaskVoteStyle enum, as a raw integer -- no existing resolver maps it to a display label. |
items[].voteResult | integer (optional) | PM's ReviewTaskVoteResult enum, as a raw integer -- no existing resolver maps it to a display label. |
items[].documentLevelVoting | boolean (optional) | |
items[].allMustVote | boolean (optional) | |
items[].requiresElectronicSignature | boolean (optional) | |
items[].numberOfAssignees | integer (optional) | |
items[].raw | object (optional) | The complete wire object, verbatim. See the class remarks. |
update_review_task_begin_date
Available on request
Updates the begin date of a review task by its integer ID in Aprimo Marketing Operations. PM's snapshot declares the request body as opaque -- pass the exact wire-shape JSON object PM expects (e.g. {"beginDate":"2026-08-01T00:00:00Z"}). Requires confirmed=true after showing the user the exact new begin date. Returns the updated task.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
reviewTaskId | string | Yes | The review task's integer ID. |
body | string | Yes | JSON object carrying the new begin date in PM wire form. PM's schema declares this opaque. |
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 |
|---|---|---|
taskId | integer (optional) | |
raw | object (optional) |
update_review_task_document_vote
Available on request
Updates the review vote for a document in a review-material task, by the task-document's integer ID, in Aprimo Marketing Operations. PM's snapshot declares the request body as opaque -- pass the exact wire-shape JSON object PM expects (e.g. vote result/comments). Requires confirmed=true after showing the user the exact payload.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
taskDocId | string | Yes | The task-document's integer ID. |
body | string | Yes | JSON object with the vote data (PM wire names). PM's schema declares this opaque. |
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 |
|---|---|---|
taskDocId | integer (optional) | |
raw | object (optional) |
update_review_task_end_date
Available on request
Updates the end date of a review task by its integer ID in Aprimo Marketing Operations. PM's snapshot declares the request body as opaque -- pass the exact wire-shape JSON object PM expects (e.g. {"endDate":"2026-08-15T00:00:00Z"}). Requires confirmed=true after showing the user the exact new end date. Returns the updated task.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
reviewTaskId | string | Yes | The review task's integer ID. |
body | string | Yes | JSON object carrying the new end date in PM wire form. PM's schema declares this opaque. |
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 |
|---|---|---|
taskId | integer (optional) | |
raw | object (optional) |
update_review_task_estimated_duration
In the default tool list
Updates the estimated duration of a review task by its integer ID in Aprimo Marketing Operations. PM's snapshot declares the request body as opaque -- pass the exact wire-shape JSON object PM expects (e.g. {"estimatedDuration":480}). Requires confirmed=true after showing the user the exact new estimated duration. Returns the updated task.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
reviewTaskId | string | Yes | The review task's integer ID. |
body | string | Yes | JSON object carrying the new estimated duration in PM wire form. PM's schema declares this opaque. |
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 |
|---|---|---|
taskId | 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