Skip to main content

Execution Connector SDK

Functionality

The Aprimo Execution Connector syncs Activity Cells with external integration platforms. It updates fields such as Execution ID, Status, and Latest Version in real time.

Rate Limiting

Before you begin developing, read about Aprimo Rate Limiting.


Configuration

FieldDescriptionDetails
System TypeType of the Execution System.Defines the execution connector displayed in the Activity Cell under the Execution Information tab.
System NameName of the Execution System.Displayed in the Activity Cell under Execution Information.
API URLURL used to authenticate users and request integration platform information.Authenticated users can view this in the Activity Cell Execution section.
Hashing SecretUsed along with the API URL to authenticate API calls.Stored encrypted; hashes payloads using SHA256.
Access ListSpecifies which users/groups can use the Execution System.Only selected user groups can link an Activity Cell to the Execution System.
Is ActiveStatus of the Execution System.Options: YES (active) or NO (inactive).

Implementation: Outgoing Routes

Aprimo sends HTTP requests to the configured API endpoint and expects specific responses.

POST /executions

  • Aprimo expects a response containing a list of all executions.
  • The response body must adhere to a predefined JSON object model.
{
[
{
"ExecutionId": "{string, maxlength(36)}",
"ExecutionName": "{string, maxlength(100)}"
}
]
}

POST /execution/

  • Triggered when:

    1. A user selects an execution system on an Activity Cell.
    2. A user enters edit mode after an execution system has already been set.
  • Request Body:

    {
    "ExecutionSystemId": "{integer}",
    "ExecutionId": "{string}",
    "UserId": "{integer}",
    "ActivityCellId": "{integer, nullable}"
    }
  • ExecutionSystemId: ID of the execution system.

  • ExecutionId: Unique identifier for the execution.

  • UserId: ID of the user making the request.

  • ActivityCellId : Nullable ID of the Activity Cell.

  • Expected Response Body:

{
"ExecutionName": "{string, maxlength(100)}",
"ExecutionLink": "{string, hyperlink, maxlength(??)}",
"ExecutionVersion": "{string, maxlength(10)}",
"ExecutionStatus": "{string, maxlength(100)}",
"LastSyncTime": "{string, ISO datetime}"
}
  • ExecutionName: Name of the execution (max length: 100).
  • ExecutionLink: URL hyperlink for the execution details.
  • ExecutionVersion: Version of the execution (max length: 10).
  • ExecutionStatus: Status of the execution (max length: 100).
  • LastSyncTime: Last sync timestamp in ISO datetime format.

Implementation: Incoming Routes

The following endpoints expose or update information about Activity Cells.


Get Integration Record By Activity Cell

GET activity-cells/{actCellId}/integration Returns the integration record for a specific Activity Cell.

Aprimo’s Response:

{
"activityCellId": "{integer}",
"executionId": "{string, nullable}",
"executionName": "{string, nullable}",
"executionLink": "{string, hyperlink, nullable}",
"executionVersion": "{string, nullable}",
"executionStatus": "{string, nullable}",
"lastSyncTime": "{string, ISO datetime, nullable}"
}

Get Integration Record By Execution ID

GET activity-cells/integration/{executionId}

Returns a list of integration records for Activity Cells associated with a specific Execution ID.

Aprimo’s Response:

[
{
"activityCellId": "{integer}",
"executionId": "{string, nullable}",
"executionName": "{string, nullable}",
"executionLink": "{string, hyperlink, nullable}",
"executionVersion": "{string, nullable}",
"executionStatus": "{string, nullable}",
"lastSyncTime": "{string, ISO datetime, nullable}"
}
]

Update Integration Record

PUT /activity-cells/{actCellId}/integration

Updates the integration record for a specific Activity Cell.

Response:

{
"activityCellId": "{integer}",
"executionId": "{string, nullable, maxlength(36)}",
"executionName": "{string, nullable, maxlength(100)}",
"executionLink": "{string, hyperlink, nullable, maxlength(??)}",
"executionVersion": "{string, nullable, maxlength(10)}",
"executionStatus": "{string, nullable, maxlength(100)}",
"lastSyncTime": "{string, ISO datetime, nullable}"
}