Subscriptions
Tools for subscriptions to objects, letting users follow changes to them.
This page covers 5 tools, all of them available on request rather than in the default tool list.
- 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 |
|---|---|---|
create_subscription | On request | Creates a new Aprimo subscription: subscribes a user to a record or collection for a given change type. |
delete_subscriptions_for_object | On request | Permanently deletes the calling user's own subscription(s) (Follow and/or Expiry) on one Aprimo record or collection. |
get_subscription_by_key | On request | Gets one Aprimo subscription by its composite key: the subscribed object id, the subscribed user id, and the subscription type (Follow or Expiry). |
get_subscription_for_object | On request | Gets the subscription(s) (Follow and/or Expiry) on one Aprimo record or collection. |
list_subscriptions | On request | Lists every user subscribed to an Aprimo record or collection for a given subscription type. |
create_subscription
Available on request
Creates a new Aprimo subscription: subscribes a user to a record or collection for a given change type. This modifies data. Always confirm the exact user, object, and subscription type with the user before calling this tool.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
objectId | string | Yes | The record or collection id (32-char hex) to subscribe to. |
userId | string | Yes | The id (GUID) of the user the subscription belongs to. |
subscriptionType | string | Yes | The subscription type. One of: Follow, Expiry. |
subscriptionObjectType | string | Yes | The type of the object being subscribed to. One of: Record, Collection. |
Returns:
| Field | Type | Description |
|---|---|---|
subscriptionId | string | |
objectId | string | |
userId | string | |
subscriptionType | string | |
subscriptionObjectType | string |
delete_subscriptions_for_object
Available on request
Permanently deletes the calling user's own subscription(s) (Follow and/or Expiry) on one Aprimo record or collection. This is self-scoped -- it only removes the caller's own subscription and does not affect other users' subscriptions to the same object. Always confirm the exact object with the user before calling this tool.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
objectId | string | Yes | The record or collection id (32-char hex) whose subscription(s) for the calling user will be deleted. |
confirmed | boolean | No | Must be true to proceed. Set to false (or omit) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly confirmed the exact object. |
Returns:
| Field | Type | Description |
|---|---|---|
objectId | string | |
deleted | boolean |
get_subscription_by_key
Available on request
Gets one Aprimo subscription by its composite key: the subscribed object id, the subscribed user id, and the subscription type (Follow or Expiry). Use when you already know all three and want that specific subscription's detail (rather than every user subscribed to an object — use list_subscriptions for that).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
objectId | string | Yes | The record or collection id (32-char hex) the subscription applies to. |
userId | string | Yes | The subscribed user's id (GUID). |
subscriptionType | string | Yes | The subscription type. One of: Follow, Expiry. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
objectId | string | |
userId | string | |
subscriptionType | string (optional) | |
subscriptionObjectType | string (optional) | |
createdOn | string (optional) | |
modifiedOn | string (optional) |
get_subscription_for_object
Available on request
Gets the subscription(s) (Follow and/or Expiry) on one Aprimo record or collection. Warning: confirmed live against a real tenant that this endpoint returns "not found" even when the calling user genuinely has an active Follow and/or Expiry subscription on the object -- it does not reliably reflect subscription state. Prefer get_subscription_by_key (objectId + userId + a specific subscriptionType) or list_subscriptions (objectId + subscriptionType + objectType, then filter for the caller's own userId) instead of trusting this tool's "no subscription" result.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
objectId | string | Yes | The record or collection id (32-char hex) to check the calling user's subscription(s) on. |
Returns:
| Field | Type | Description |
|---|---|---|
count | integer | |
items | array of SubscriptionPayload | |
items[].id | string | |
items[].objectId | string | |
items[].userId | string | |
items[].subscriptionType | string (optional) | |
items[].subscriptionObjectType | string (optional) | |
items[].createdOn | string (optional) | |
items[].modifiedOn | string (optional) |
list_subscriptions
Available on request
Lists every user subscribed to an Aprimo record or collection for a given subscription type. Requires the object id, its subscription type (Follow or Expiry), and its object type (Record or Collection). Use to see who is following/watching an object.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
objectId | string | Yes | The record or collection id (32-char hex) to list subscribers for. |
subscriptionType | string | Yes | The subscription type. One of: Follow, Expiry. |
objectType | string | Yes | The type of the subscribed object. One of: Record, Collection. |
Returns:
| Field | Type | Description |
|---|---|---|
count | integer | |
items | array of SubscriptionPayload | |
items[].id | string | |
items[].objectId | string | |
items[].userId | string | |
items[].subscriptionType | string (optional) | |
items[].subscriptionObjectType | string (optional) | |
items[].createdOn | string (optional) | |
items[].modifiedOn | string (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