Skip to main content

Content Plans

Tools for content plans — reading plan structure and activity progress, associating activities with a plan, and notifying activity owners.

This page covers 13 tools, 5 of them in the default tool list, and 3 destructive.

How to read this page
  • 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 confirmed and confirmedDestructive to true.
  • Activity and Project labels vary by tenant. Where this page says Activity or Project, your tenant's own configured terminology is substituted at runtime.
Why isn't every tool in the default list?

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

ToolStatusWhat it does
associate_content_plan_activitiesDefaultAssociates the specified activities with a content plan, by the plan's integer ID, in Aprimo Marketing Operations.
create_content_plan_collectionOn requestCreates and links a new DAM collection for a content plan, by the plan's integer ID, in Aprimo Marketing Operations.
delete_content_planOn requestDestructive. Permanently deletes a content plan by its integer ID in Aprimo Marketing Operations.
get_content_planOn requestReturns a single content plan by its integer ID in Aprimo Marketing Operations.
get_content_plan_activity_progressDefaultReturns the activity progress for a content plan, by its integer ID, in Aprimo Marketing Operations.
get_content_plan_manage_activitiesDefaultLists the activities available to manage/associate for a content plan, by its integer ID, in Aprimo Marketing Operations, paged.
list_content_plansOn requestLists content plans in Aprimo Marketing Operations, paged and unfiltered.
notify_content_plan_activity_ownersDefaultNotifies the owners of the specified activities on a content plan, by the plan's integer ID, in Aprimo Marketing Operations.
remove_content_plan_activityDefaultDestructive. Removes the association between a content plan and the specified activities, by the plan's integer ID, in Aprimo Marketing Operations.
share_content_planOn requestShares a content plan with the specified users/groups, by the plan's integer ID, in Aprimo Marketing Operations.
unlink_content_plan_collectionOn requestDestructive. Unlinks a DAM collection from a content plan, by the plan's integer ID and the collection's GUID, in Aprimo Marketing Operations.
update_content_planOn requestUpdates an existing content plan by its integer ID in Aprimo Marketing Operations.
update_content_plan_collectionOn requestUpdates the DAM collection linked to a content plan, by the plan's integer ID, in Aprimo Marketing Operations.

associate_content_plan_activities

In the default tool list

Associates the specified activities with a content plan, by the plan's integer ID, in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact activity list. Returns the activity ids associated.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.
activityIdsstringYesJSON array of the activities' integer IDs to associate, e.g. "[13801,13802]".
confirmedbooleanNoMust 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 activity list.

Returns:

FieldTypeDescription
planIdinteger
actionstring (optional)"associate", "remove", or "notify-owners".
activityIdsarray of integer

create_content_plan_collection

Available on request

Creates and links a new DAM collection for a content plan, by the plan's integer ID, in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact payload. Returns the created and linked collection.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.
bodystringYesJSON object with the new DAM collection's data (PM wire names).
confirmedbooleanNoMust 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:

FieldTypeDescription
planIdinteger
collectionIdstring (optional)
collectionTypeinteger (optional)

delete_content_plan

Available on request · Destructive

Permanently deletes a content plan by its integer ID in Aprimo Marketing Operations. This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact content plan with the user.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID to delete.
confirmedbooleanNoMust be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly confirmed the exact content plan.
confirmedDestructivebooleanNoMust also be true (in addition to confirmed) — deleting a content plan is permanent and cannot be undone. Set only after stating the exact content plan to the user and getting explicit go-ahead.

Returns:

FieldTypeDescription
planIdinteger
deletedboolean
Destructive operation

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_content_plan

Available on request

Returns a single content plan by its integer ID in Aprimo Marketing Operations. Not its activity progress (use get_content_plan_activity_progress) or its manage-activities view (use get_content_plan_manage_activities). Resolves status/type labels and administrator/modified-by names.

Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.

Returns:

FieldTypeDescription
planIdinteger
scsIdinteger (optional)PM's internal scs id for this content plan. New field surfaced now that PM's snapshot documents the full ContentPlan schema.
titlestring (optional)
descriptionstring (optional)
statusIdinteger (optional)[StaticLookupList] field resolved via PmFieldLabelCache (inlined on /metadata/ContentPlan), same mechanism as .
statusLabelstring (optional)
typeIdinteger (optional)[StaticLookupList] field, same resolution mechanism as .
typeLabelstring (optional)
beginDatestring (optional)
endDatestring (optional)
administratorIdinteger (optional)
administratorNamestring (optional)
modifiedUserIdinteger (optional)
modifiedUserNamestring (optional)
modifiedDatestring (optional)
backgroundThemestring (optional)
canReadboolean (optional)
canModifyboolean (optional)
canCreateActivityboolean (optional)
canModifyActivityboolean (optional)
collectionsarray of ContentPlanCollection (optional)DAM collections linked to this content plan. Null when the wire object carried none.
collections[].planIdinteger (optional)
collections[].collectionIdstring (optional)The linked DAM collection's GUID id.
collections[].collectionTypeinteger (optional)

get_content_plan_activity_progress

In the default tool list

Returns the activity progress for a content plan, by its integer ID, in Aprimo Marketing Operations. Recognized activity-id-keyed entries are resolved with their names and deep links; the raw response is preserved for shapes the parser doesn't recognize.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.

Returns:

FieldTypeDescription
planIdinteger
countinteger
itemsarray of ContentPlanActivityProgressEntry
items[].activityIdinteger
items[].activityNamestring (optional)
items[].activityDeepLinkstring (optional)
items[].progressobject (optional)The per-activity progress payload, verbatim (shape not stabilized upstream).
rawobject (optional)Preserved untouched when the body couldn't be recognized as an activity-id-keyed object.

get_content_plan_manage_activities

In the default tool list

Lists the activities available to manage/associate for a content plan, by its integer ID, in Aprimo Marketing Operations, paged. Resolves activity type/state labels and owner names.

Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim, including (id: N) suffixes.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.
limitintegerNoMaximum number of results to return (1–50, default 20).
offsetintegerNoNumber of results to skip for pagination (default 0).
sortFieldstringNoOptional field name to sort by. Omit for default ordering.
sortAscendingbooleanNoSort direction. true = ascending (default), false = descending.

Returns:

FieldTypeDescription
collectionNamestring (optional)Resource-name key the wire's _embedded used (e.g. "Activity", "Project"). Informational; may be null when the response isn't HAL-shaped.
totalRecordsintegerTotal record count across all pages — from the wire's _total.
countintegerNumber of items returned in this response (i.e. Items.Count; precomputed for the llm).
offsetintegerThe offset that was used to produce this page (echoes the caller's offset, clamped to ≥0).
hasMorebooleanTrue when there are more results past this page. Tools should prompt the llm to ask the user about fetching the next page.
nextOffsetinteger (optional)Offset to pass on the next request to continue. Null when is false.
itemsarray of ContentPlanManageActivityItemThe items returned in this response.
items[].scsIdinteger (optional)
items[].namestring (optional)
items[].beginDatestring (optional)No corresponding field in PM's manage-activities item schema -- always null (see the class remarks).
items[].endDatestring (optional)
items[].ownerIdinteger (optional)
items[].ownerNamestring (optional)
items[].administratorIdinteger (optional)
items[].administratorNamestring (optional)
items[].activityTypeIdinteger (optional)
items[].activityTypeLabelstring (optional)
items[].activityStateIdinteger (optional)No corresponding field in PM's manage-activities item schema -- always null (see the class remarks).
items[].activityStateLabelstring (optional)

list_content_plans

Available on request

Lists content plans in Aprimo Marketing Operations, paged and unfiltered. Returns status/type labels and administrator/modified-by names. Note: PM does not report a total record count for this endpoint -- re-call with an increased offset while a full page keeps coming back.

Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim, including (id: N) suffixes.

Parameters:

ParameterTypeRequiredDescription
limitintegerNoMaximum number of results to return (1–50, default 20).
offsetintegerNoNumber of results to skip for pagination (default 0).
sortFieldstringNoOptional field name to sort by. Omit for default ordering.
sortAscendingbooleanNoSort direction. true = ascending (default), false = descending.

Returns:

FieldTypeDescription
countinteger
offsetinteger
itemsarray of ContentPlanProjection
items[].planIdinteger
items[].scsIdinteger (optional)PM's internal scs id for this content plan. New field surfaced now that PM's snapshot documents the full ContentPlan schema.
items[].titlestring (optional)
items[].descriptionstring (optional)
items[].statusIdinteger (optional)[StaticLookupList] field resolved via PmFieldLabelCache (inlined on /metadata/ContentPlan), same mechanism as .
items[].statusLabelstring (optional)
items[].typeIdinteger (optional)[StaticLookupList] field, same resolution mechanism as .
items[].typeLabelstring (optional)
items[].beginDatestring (optional)
items[].endDatestring (optional)
items[].administratorIdinteger (optional)
items[].administratorNamestring (optional)
items[].modifiedUserIdinteger (optional)
items[].modifiedUserNamestring (optional)
items[].modifiedDatestring (optional)
items[].backgroundThemestring (optional)
items[].canReadboolean (optional)
items[].canModifyboolean (optional)
items[].canCreateActivityboolean (optional)
items[].canModifyActivityboolean (optional)
items[].collectionsarray of ContentPlanCollection (optional)DAM collections linked to this content plan. Null when the wire object carried none.
items[].collections[].planIdinteger (optional)
items[].collections[].collectionIdstring (optional)The linked DAM collection's GUID id.
items[].collections[].collectionTypeinteger (optional)

notify_content_plan_activity_owners

In the default tool list

Notifies the owners of the specified activities on a content plan, by the plan's integer ID, in Aprimo Marketing Operations. Sends notification emails -- not a data mutation, but still an external side effect. Requires confirmed=true after showing the user the exact activity list. Returns the activity ids notified.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.
activityIdsstringYesJSON array of the activities' integer IDs whose owners should be notified, e.g. "[13801,13802]".
confirmedbooleanNoMust 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 sending these notifications.

Returns:

FieldTypeDescription
planIdinteger
actionstring (optional)"associate", "remove", or "notify-owners".
activityIdsarray of integer

remove_content_plan_activity

In the default tool list · Destructive

Removes the association between a content plan and the specified activities, by the plan's integer ID, in Aprimo Marketing Operations. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact activity list with the user.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.
activityIdsstringYesJSON array of the activities' integer IDs to disassociate, e.g. "[13801,13802]".
confirmedbooleanNoMust be true to proceed. Omit (or false) to get a confirmation gate error.
confirmedDestructivebooleanNoMust also be true (in addition to confirmed) — removing the association is not easily undone. Set only after stating the exact activity list to the user and getting explicit go-ahead.

Returns:

FieldTypeDescription
planIdinteger
actionstring (optional)"associate", "remove", or "notify-owners".
activityIdsarray of integer
Destructive operation

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.


share_content_plan

Available on request

Shares a content plan with the specified users/groups, by the plan's integer ID, in Aprimo Marketing Operations. Replaces the plan's entire access list with exactly the entries provided -- it does not merge/add to the existing list. Confirmed live: any existing grantee omitted from entries Loses access. Fetch the plan's current access list first (get_content_plan) and include every entry you want to keep, plus any new ones. Requires confirmed=true after showing the user the exact grant list. Returns the resulting access-list entries.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.
entriesstringYesJSON array of access-list entries to grant -- replaces the entire existing access list. Each entry requires "objectId" (must equal contentPlanId), "userId", and "hasEditRight" (0 or 1) -- "objectId" is easy to omit but PM rejects the whole call without it. e.g. "[{"objectId":1042,"userId":7,"hasEditRight":1}]".
confirmedbooleanNoMust 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 grant list.

Returns:

FieldTypeDescription
planIdinteger
countinteger
itemsarray of ContentPlanAccessEntry
items[].objectIdinteger (optional)
items[].userIdinteger (optional)
items[].userNamestring (optional)
items[].hasEditRightboolean (optional)

Available on request · Destructive

Unlinks a DAM collection from a content plan, by the plan's integer ID and the collection's GUID, in Aprimo Marketing Operations. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact content plan and collection with the user.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.
collectionGuidstringYesThe linked DAM collection's GUID.
confirmedbooleanNoMust be true to proceed. Omit (or false) to get a confirmation gate error.
confirmedDestructivebooleanNoMust also be true (in addition to confirmed) — unlinking removes the collection's association with this content plan. Set only after stating the exact content plan and collection to the user and getting explicit go-ahead.

Returns:

FieldTypeDescription
planIdinteger
collectionGuidstring (optional)
unlinkedboolean
Destructive operation

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.


update_content_plan

Available on request

Updates an existing content plan by its integer ID in Aprimo Marketing Operations. Only include the fields you intend to change (partial update; omitted fields are left as-is). Requires confirmed=true after showing the user the exact changes. Returns the updated content plan.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.
bodystringYesJSON object with the fields to change (PM wire names). Omit fields you don't want to modify.
confirmedbooleanNoMust 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:

FieldTypeDescription
planIdinteger
scsIdinteger (optional)PM's internal scs id for this content plan. New field surfaced now that PM's snapshot documents the full ContentPlan schema.
titlestring (optional)
descriptionstring (optional)
statusIdinteger (optional)[StaticLookupList] field resolved via PmFieldLabelCache (inlined on /metadata/ContentPlan), same mechanism as .
statusLabelstring (optional)
typeIdinteger (optional)[StaticLookupList] field, same resolution mechanism as .
typeLabelstring (optional)
beginDatestring (optional)
endDatestring (optional)
administratorIdinteger (optional)
administratorNamestring (optional)
modifiedUserIdinteger (optional)
modifiedUserNamestring (optional)
modifiedDatestring (optional)
backgroundThemestring (optional)
canReadboolean (optional)
canModifyboolean (optional)
canCreateActivityboolean (optional)
canModifyActivityboolean (optional)
collectionsarray of ContentPlanCollection (optional)DAM collections linked to this content plan. Null when the wire object carried none.
collections[].planIdinteger (optional)
collections[].collectionIdstring (optional)The linked DAM collection's GUID id.
collections[].collectionTypeinteger (optional)

update_content_plan_collection

Available on request

Updates the DAM collection linked to a content plan, by the plan's integer ID, in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact payload. Returns the linked collection.

Parameters:

ParameterTypeRequiredDescription
contentPlanIdstringYesThe content plan's integer ID.
bodystringYesJSON object with the DAM collection mapping data (PM wire names).
confirmedbooleanNoMust 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:

FieldTypeDescription
planIdinteger
collectionIdstring (optional)
collectionTypeinteger (optional)