Extensions
#Action
An action Extension is designed to make HTTP POST request.
Here is a diagram illustrating the workflow:

Data sent within the POST body, formatted in JSON, contain:
-
A
contextobject containing:- the configured
locale, - the configured
channel,
- the configured
-
A
userobject containing theuuid,usernameandgroupsof the connected user. -
A
timestampthat can be used with a secret to help you to protect your server against replay attacks. -
A
dataobject with different fields depending on the position:Position Field Type Description pim.product.headerproductUuidstring The UUID of the product pim.product-model.headerproductModelCodestring The root model code pim.sub-product-model.headerproductModelCodestring The sub model code pim.product-grid.action-barproductUuidsstring[] UUIDs of selected products pim.product-grid.action-barproductModelCodesstring[] Codes of selected product models and sub models pim.product.index- - Empty object
Examples :
{
"data": {
"productUuid": "ecfddba2-59bf-4d35-bd07-8ceeefde51fd"
},
"context": {
"locale": "en_US",
"channel": "ecommerce"
},
"user": {
"uuid": "e05cc457-b8ac-43b1-baa7-c4c112091ad8",
"username": "julia",
"groups": [
"Manager",
"All"
]
},
"timestamp": 1739948408
}
#Signature
It's possible to configure a secret to sign the body of the POST request sent to the destination (SHA-512 protocol).
#Available Positions
See the Positions documentation for visual examples.
#Limitations
- Timeout: The PIM HTTP client that communicates with the destination is configured with a timeout of 5 seconds.
- No retry mechanism: Failed requests are not automatically retried
- No progress updates: Users don't see real-time progress
- 500 item limit: Grid actions limited to 500 products/models
- Single execution: An action cannot be executed multiple times simultaneously. This ensures that tasks are processed in a controlled manner.