Rules
Tools for automation rules — their conditions, actions, and the action types available.
This page covers 11 tools, all of them available on request rather than in the default tool list, and 1 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 |
|---|---|---|
create_rule | On request | Creates a new Aprimo automation rule. |
delete_rule | On request | Destructive. Permanently deletes an Aprimo rule by id or by name. |
get_action_type | On request | Gets one Aprimo action type's detail (id, name) by id. |
get_rule | On request | Gets one Aprimo rule's detail (target, trigger, enabled, custom tag, dates) by id or by name. |
get_rule_created_by | On request | Gets the Aprimo user who created a rule, by id or by name. |
get_rule_modified_by | On request | Gets the Aprimo user who last modified a rule, by id or by name. |
list_action_types | On request | Lists the action types available in Aprimo for configuring checks (the kind of automated check a check performs against a file version, e.g. a virus scan or an image validation). |
list_rule_actions | On request | Lists the actions of an Aprimo rule (what runs when the rule's conditions match), by id or by name. |
list_rule_conditions | On request | Lists the conditions of an Aprimo rule (what must be true for the rule's actions to run), by id or by name. |
list_rules | On request | Lists the automation rules configured in Aprimo — rules run a set of actions when their trigger fires and their conditions match (e.g. on record creation). |
update_rule | On request | Edits an existing Aprimo rule by id or by name. |
create_rule
Available on request
Creates a new Aprimo automation rule. This modifies data. Always confirm the name, target, trigger, and any conditions/actions with the user before calling this tool. conditions/actions are JSON objects shaped like {"addOrUpdate": [ {"conditionType" or "actionType": ..., ...} ]} — use get_rule/list_rule_conditions/list_rule_actions on an existing similar rule as a shape reference, or the DAM rules documentation, if unsure of a variant's exact fields.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name for the new rule, exactly as the user stated it. |
target | string | Yes | The entity type this rule applies to, e.g. "Record", "Collection", "Classification". One of: SettingDefinition, FieldDefinition, IndexerTask, Translation, SettingCategory, UserGroup, Watermark, FieldGroup, Collection, User, Classification, Record, Language, FileType, Organization, Site, Publication, Subscription, FileStore, SavedView. |
trigger | string | Yes | The event that triggers the rule. One of: WhenSavedOrDeleted, Daily. |
enabled | boolean | No | Whether the rule is enabled. Omit to use DAM's default. |
tag | string | No | Optional custom XML tag associated with the rule. |
includeDraftRecords | boolean | No | Whether this rule can execute on draft records. Only meaningful when target is "Record". Omit to use DAM's default. |
isInternal | boolean | No | Internal rules can only be edited by operators. Omit to use DAM's default. |
conditions | JsonElement | No | Required (not actually optional — DAM has no concept of a rule with zero conditions, for any target/trigger): at least one condition, JSON object {"addOrUpdate": [ {"conditionType": ..., ...}, ... ]} with a non-empty addOrUpdate array. DAM rejects creating a rule with zero conditions with HTTP 400 "An invalid value was specified for Conditions." Use get_rule/list_rule_conditions on an existing similar rule, or the DAM rules documentation, for a conditionType's exact fields. |
actions | JsonElement | No | Required (not actually optional — DAM has no concept of a rule with zero actions, for any target/trigger): at least one action, JSON object {"addOrUpdate": [ {"actionType": ..., ...}, ... ]} with a non-empty addOrUpdate array. DAM rejects creating a rule with zero actions with HTTP 400 "An invalid value was specified for Actions." Use get_rule/list_rule_actions on an existing similar rule, or the DAM rules documentation, for an actionType's exact fields. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string |
delete_rule
Available on request · Destructive
Permanently deletes an Aprimo rule by id or by name. This cannot be undone — the rule will no longer run its actions when its trigger fires. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact rule with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
ruleId | string | No | The rule id (GUID) to delete. Provide this or name, not both. |
name | string | No | The rule's name (case-insensitive, exact match). Provide this or ruleId, not both. |
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 rule. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — deleting a rule is permanent and cannot be undone. Set only after stating the exact rule to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string (optional) | |
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_action_type
Available on request
Gets one Aprimo action type's detail (id, name) by id. Use after list_action_types.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
actionTypeId | string | Yes | The action type id (GUID), from list_action_types. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string |
get_rule
Available on request
Gets one Aprimo rule's detail (target, trigger, enabled, custom tag, dates) by id or by name. Use after list_rules, or pass name directly when the user names the rule. Use list_rule_conditions/list_rule_actions to see the rule's conditions/actions. Not its creator (get_rule_created_by) or last modifier (get_rule_modified_by).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
ruleId | string | No | The rule id (GUID), from list_rules. Provide this or name, not both. |
name | string | No | The rule's name (case-insensitive, exact match). Provide this or ruleId, not both. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | |
enabled | boolean (optional) | |
target | string (optional) | |
trigger | string (optional) | |
tag | string (optional) | |
version | integer (optional) | |
includeDraftRecords | boolean (optional) | |
expression | string (optional) | |
isInternal | boolean (optional) | |
createdOn | string (optional) | |
modifiedOn | string (optional) |
get_rule_created_by
Available on request
Gets the Aprimo user who created a rule, by id or by name.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
ruleId | string | No | The rule id (GUID). Provide this or name, not both. |
name | string | No | The rule's name (case-insensitive, exact match). Provide this or ruleId, not both. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string (optional) | |
firstName | string (optional) | |
lastName | string (optional) | |
email | string (optional) | |
isActive | boolean (optional) |
get_rule_modified_by
Available on request
Gets the Aprimo user who last modified a rule, by id or by name.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
ruleId | string | No | The rule id (GUID). Provide this or name, not both. |
name | string | No | The rule's name (case-insensitive, exact match). Provide this or ruleId, not both. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string (optional) | |
firstName | string (optional) | |
lastName | string (optional) | |
email | string (optional) | |
isActive | boolean (optional) |
list_action_types
Available on request
Lists the action types available in Aprimo for configuring checks (the kind of automated check a check performs against a file version, e.g. a virus scan or an image validation). Use when the user asks what action types exist, or to look up an action type's id before calling get_action_type.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filter | string | No | Optional filter expression (DAM query syntax), e.g. "ModifiedOn in today". Omit to list every action type. |
sort | string | No | Optional sort expression, e.g. "createdOn". Omit for the endpoint's default order. |
skip | integer | No | Number of items to skip, for paging. Defaults to 0. |
take | integer | No | Maximum number of items to return. Omit for the endpoint's default page size. |
Returns:
| Field | Type | Description |
|---|---|---|
count | integer | |
items | array of ActionTypePayload | |
items[].id | string | |
items[].name | string |
list_rule_actions
Available on request
Lists the actions of an Aprimo rule (what runs when the rule's conditions match), by id or by name. Each item's index is what update_rule's actions.remove array expects to delete it.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
ruleId | string | No | The rule id (GUID). Provide this or name, not both. |
name | string | No | The rule's name (case-insensitive, exact match). Provide this or ruleId, not both. |
Returns:
| Field | Type | Description |
|---|---|---|
ruleId | string | |
count | integer | |
items | array of RuleActionPayload | |
items[].index | integer (optional) | |
items[].actionType | string (optional) | |
items[].executionTime | string (optional) | |
items[].details | object (optional) |
list_rule_conditions
Available on request
Lists the conditions of an Aprimo rule (what must be true for the rule's actions to run), by id or by name. Each item's index is what update_rule's conditions.remove array expects to delete it.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
ruleId | string | No | The rule id (GUID). Provide this or name, not both. |
name | string | No | The rule's name (case-insensitive, exact match). Provide this or ruleId, not both. |
Returns:
| Field | Type | Description |
|---|---|---|
ruleId | string | |
count | integer | |
items | array of RuleConditionPayload | |
items[].index | integer (optional) | |
items[].conditionType | string (optional) | |
items[].details | object (optional) |
list_rules
Available on request
Lists the automation rules configured in Aprimo — rules run a set of actions when their trigger fires and their conditions match (e.g. on record creation). Use when the user asks what rules exist, or to look up a rule's id/exact name before calling get_rule, update_rule, or delete_rule by name.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filter | string | No | Optional filter expression (DAM query syntax), e.g. "ModifiedOn in today". Omit to list every rule. |
sort | string | No | Optional sort expression, e.g. "createdOn". Omit for the endpoint's default order. |
skip | integer | No | Number of items to skip, for paging. Defaults to 0. |
take | integer | No | Maximum number of items to return. Omit for the endpoint's default page size. |
Returns:
| Field | Type | Description |
|---|---|---|
count | integer | |
items | array of RulePayload | |
items[].id | string | |
items[].name | string | |
items[].enabled | boolean (optional) | |
items[].target | string (optional) | |
items[].trigger | string (optional) | |
items[].tag | string (optional) | |
items[].version | integer (optional) | |
items[].includeDraftRecords | boolean (optional) | |
items[].expression | string (optional) | |
items[].isInternal | boolean (optional) | |
items[].createdOn | string (optional) | |
items[].modifiedOn | string (optional) |
update_rule
Available on request
Edits an existing Aprimo rule by id or by name. Only the fields provided are changed — omitted fields keep their current value. This modifies data. Always confirm the exact rule and the new values with the user before calling this tool. conditions/actions, if provided, replace entries by index and/or add new ones per DAM's {"addOrUpdate": [...], "remove": [index, ...]} shape — use list_rule_conditions/list_rule_actions first to find existing indexes.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
ruleId | string | No | The rule id (GUID) to edit. Provide this or name, not both. |
name | string | No | The rule's current name (case-insensitive, exact match), used to look it up. Provide this or ruleId, not both. |
newName | string | No | New name for the rule. Omit to leave the name unchanged. |
target | string | No | New target entity type. One of: SettingDefinition, FieldDefinition, IndexerTask, Translation, SettingCategory, UserGroup, Watermark, FieldGroup, Collection, User, Classification, Record, Language, FileType, Organization, Site, Publication, Subscription, FileStore, SavedView. Omit to leave it unchanged. |
trigger | string | No | New trigger. One of: WhenSavedOrDeleted, Daily. Omit to leave it unchanged. |
enabled | boolean | No | New enabled flag. Omit to leave it unchanged. |
tag | string | No | New custom XML tag. Omit to leave the tag unchanged. |
includeDraftRecords | boolean | No | New include-draft-records flag. Omit to leave it unchanged. |
isInternal | boolean | No | New is-internal flag. Omit to leave it unchanged. |
conditions | JsonElement | No | Conditions to add/update/remove: JSON object {"addOrUpdate": [...], "remove": [index, ...]}. Omit to leave conditions unchanged. |
actions | JsonElement | No | Actions to add/update/remove: JSON object {"addOrUpdate": [...], "remove": [index, ...]}. Omit to leave actions unchanged. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | 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