Sync assets to Akeneo
Last updated: Nov-05-2026
When you use Akeneo as your Product Information Management (PIM) system, you may want to sync your Cloudinary media assets to Akeneo and link them to products. MediaFlows provides several approaches to automate this synchronization, from simple manual triggers to fully automated workflows based on metadata changes.
This page describes multiple sample PowerFlows for syncing assets to Akeneo, each suited to different workflow requirements.
- Sync from Assets: Manually trigger syncs from the Media Library, providing parameters (SKU, asset family, attribute) at runtime. Ideal when users need full control over which assets to sync.
- Sync on structured metadata change: Automatically trigger syncs when users update a status field in structured metadata. Perfect for defined workflows where teams prepare asset metadata before syncing.
- Scheduled retry for failed syncs: Periodically search for and retry assets stuck in a "requires link" state, providing a safety net for failed syncs.
Learn more about the Akeneo blocks.
Prerequisites
Before building any of the flows described on this page, ensure you have:
- An Akeneo account with API access credentials (Client ID, Client Secret, Username, Password, and Host URL)
- Appropriate asset families configured in Akeneo with the attributes you need
Set up your Akeneo connection
Before using any Akeneo blocks in your flows, you need to connect your Akeneo account in the Apps & Connections page:
- In MediaFlows, navigate to Apps & Connections from the sidebar.
- Find Akeneo in the list and click Connect Your Account.
- In the connection dialog, enter:
- Connection name: A descriptive name for this connection (e.g., "Production Akeneo")
-
Host URL: Your Akeneo instance URL (e.g.,
https://your-instance.cloud.akeneo.com) - Client ID: From your Akeneo connection settings
- Client Secret: From your Akeneo connection settings
- Username: Your Akeneo API username
- Password: Your Akeneo API password
- Click Connect to save the connection.
Once connected, you can select this account when configuring the Get Tokens From Akeneo block in your flows.
Sync from Assets
The simplest approach lets users manually trigger a sync from the Media Library. Users select an asset, right-click, and run the automation, providing the required Akeneo parameters at that time.
This approach is ideal when:
- Users need full control over which assets to sync
- The sync parameters (asset family, attribute, SKU) vary per asset
- You don't want to pre-configure metadata on assets
Overview
The PowerFlow uses the following blocks:
- On Manual Run From Media Library: Triggers the flow from the Media Library context menu, collecting user input.
- Get Tokens From Akeneo: Authenticates with Akeneo to get an access token.
- Join Strings: Creates a unique Akeneo asset code by combining the SKU and Cloudinary asset ID.
- Update Structured Metadata (x3): Stores the sync parameters (SKU, family, attribute) on the Cloudinary asset for future reference.
- Create Asset In Akeneo: Creates the asset in Akeneo's Asset Manager.
Metadata setup
Before building this flow, create the following structured metadata fields in your Cloudinary product environment:
| Field Name | Type | Description |
|---|---|---|
| Akeneo SKU | Text | The product SKU |
| Akeneo Family | Text | The Akeneo asset family |
| Akeneo Attribute | Text | The attribute where the Cloudinary URL will be stored |
On Manual Run From Media Library
The On Manual Run From Media Library block creates a context menu option in the Media Library, allowing users to trigger the sync and provide the required parameters.
Steps:
- Add the On Manual Run From Media Library block to your canvas.
- Open the block configuration and set:
-
Description:
Sync to Akeneo
-
Description:
-
Expand More Options and, under Input parameters, click Add new input variable to add each of the following Text variables, selecting Mandatory field for each:
- SKU: The product SKU to link the asset to
-
Asset_Family: The Akeneo asset family (for example,
atmosphereorpackshots) -
Asset_Attribute: The attribute where the Cloudinary URL will be stored (for example,
link_atmosphere)
Later, the flow will save the values of these parameters as metadata on the asset.
Get Tokens From Akeneo
The Get Tokens From Akeneo block authenticates with Akeneo and provides an access token for subsequent blocks.
Steps:
- Add the Get Tokens From Akeneo block to your canvas and ensure it's connected to the On Manual Run From Media Library block.
- Open the block configuration and select your Akeneo connection:
- Akeneo connection: Click Connect and select the Akeneo account you configured in Apps & Connections.
Join Strings
The Join Strings block creates a unique Akeneo asset code by combining the SKU and Cloudinary asset ID. This ensures uniqueness even when linking multiple images to the same product, or the same image to multiple products.
Steps:
- Add the Join Strings block to your canvas and ensure it's connected to the Get Tokens From Akeneo block.
- Open the block configuration and set:
- First string: Click the Insert Value icon to add the Sku variable from the On Manual Run From Media Library block.
-
Second string: Click the Insert Value icon, select the On Manual Run From Media Library block, then click Enter a path, type
asset_id, and click Insert. The field then shows On Manual Run From Media Library > Asset ID. -
Separator: Add the separator
__(double underscore).
The resulting asset code format is: {SKU}__{asset_id} (for example, PROD001__abc123def456).
Update Structured Metadata
Store the sync parameters on the Cloudinary asset using three Update Structured Metadata blocks. This is important for:
- Enabling future searches to find synced assets
- Providing a reference for deletion workflows
- Allowing users to see sync status in the Media Library
Steps:
- Add an Update Structured Metadata block to your canvas and ensure it's connected to the Join Strings block.
- Rename the block to
Update Akeneo SKUby clicking the title. - Configure the block:
- Use the asset from: Select On Manual Run From Media Library.
- Action: Select Update.
-
Structured metadata field: Select
Akeneo SKUfrom the list. - Structured metadata value: Select the Sku from On Manual Run From Media Library.
- Add a second Update Structured Metadata block and ensure it's connected to the first.
- Rename the block to
Update Akeneo Family. - Configure the block in the same way, but set:
-
Structured metadata field: Select
Akeneo Familyfrom the list. - Structured metadata value: Select the Asset family from On Manual Run From Media Library.
-
Structured metadata field: Select
- Add a third Update Structured Metadata block and ensure it's connected to the second.
- Rename the block to
Update Akeneo Attribute. - Configure the block in the same way, but set:
-
Structured metadata field: Select
Akeneo Attributefrom the list. - Structured metadata value: Select the Asset attribute from On Manual Run From Media Library.
-
Structured metadata field: Select
Create Asset In Akeneo
The Create Asset In Akeneo block creates the asset in Akeneo's Asset Manager and optionally links it to a product.
Steps:
- Add the Create Asset In Akeneo block to your canvas and ensure it's connected to the third Update Structured Metadata block.
- Open the block configuration and set:
- Host URL: Your Akeneo instance URL.
- Access token: Select the Access token from the Get Tokens From Akeneo block.
- Media URL: Select the Secure URL from the On Manual Run From Media Library block.
- Asset code: Select Entire output from the Join Strings block.
- Asset family: Select the Asset family from On Manual Run From Media Library.
- Asset attribute: Select the Asset attribute from On Manual Run From Media Library.
Sync on structured metadata change
For a more automated approach, trigger the sync when users update structured metadata on an asset. This workflow lets users prepare asset metadata in the Media Library and then trigger the sync by changing a status field.
This approach is ideal when:
- You have a defined workflow for asset preparation
- Multiple team members need to tag assets before syncing
- You want to separate metadata preparation from the sync action
Overview
The PowerFlow uses the following blocks:
- On Structured Metadata Change: Triggers when the sync status changes to "Requires link".
- Get Tokens From Akeneo: Authenticates with Akeneo.
- Get Structured Metadata (x3): Retrieves the metadata values (SKU, family, attribute) needed for the sync.
- Get Asset Information: Retrieves the asset's secure URL needed for syncing to Akeneo.
- Join Strings: Creates the unique Akeneo asset code.
- Create Asset In Akeneo: Creates the asset in Akeneo.
- Update Structured Metadata: Updates the status to "Linked" on success.
Metadata setup
Before building this flow, create the following structured metadata fields in your Cloudinary product environment:
| Field Name | Type | Values | Description |
|---|---|---|---|
| Akeneo Status | Single-selection list |
Requires Link, Linked, Requires Unlink
|
Controls the sync action |
| Akeneo Sku | Text | - | The product SKU |
| Akeneo Family | Text | - | The Akeneo asset family |
| Akeneo Attribute | Text | - | The attribute where the Cloudinary URL will be stored |
On Structured Metadata Change
The On Structured Metadata Change block triggers the flow when the Akeneo Status field of an image changes. The flow syncs images only, so the trigger ignores other asset types.
Steps:
- Add the On Structured Metadata Change block to your canvas.
- Open the block configuration and, under When to trigger, clear Trigger for any structured metadata change.
- Under Trigger whenever the new value for, select
Akeneo Status, is, andRequires link. - Clear Trigger for any asset and, under Trigger only when the asset's, select Asset type and Image, so that only images trigger the flow.
Get Tokens From Akeneo
The Get Tokens From Akeneo block authenticates with Akeneo and provides an access token for subsequent blocks.
Steps:
- Add the Get Tokens From Akeneo block to your canvas and ensure it's connected to the On Structured Metadata Change block.
- Open the block configuration and select your Akeneo connection:
- Akeneo connection: Click Connect and select the Akeneo account you configured in Apps & Connections.
Get Structured Metadata
Retrieve the metadata values needed for the sync using three Get Structured Metadata blocks, since the trigger only provides information about what changed.
Steps:
- Add a Get Structured Metadata block to your canvas and ensure it's connected to the Get Tokens From Akeneo block.
- Rename the block to
Get Akeneo SKU. - Configure the block:
- Use the asset from: Select On Structured Metadata Change from the list.
-
Structured metadata field:
Akeneo SKU
- Add a second Get Structured Metadata block and ensure it's connected to the first.
- Rename the block to
Get Akeneo Family. - Configure the block in the same way, but set:
-
Structured metadata field:
Akeneo Family
-
Structured metadata field:
- Add a third Get Structured Metadata block and ensure it's connected to the second.
- Rename the block to
Get Akeneo Attribute. - Configure the block in the same way, but set:
-
Structured metadata field:
Akeneo Attribute
-
Structured metadata field:
Get Asset Information
The Get Asset Information block retrieves asset details including the secure URL, which is needed for the Create Asset In Akeneo block. The trigger doesn't provide the secure URL, so this block is required.
Steps:
- Add a Get Asset Information block to your canvas and ensure it's connected to the third Get Structured Metadata block.
- Ensure Use the asset from is set to On Structured Metadata Change.
Join Strings
The Join Strings block creates a unique Akeneo asset code by combining the SKU and Cloudinary asset ID.
Steps:
- Add the Join Strings block to your canvas and ensure it's connected to the Get Asset Information block.
- Open the block configuration and set:
- First string: Click the Insert Value icon to add Entire output from the Get Akeneo SKU block.
-
Second string: Click the Insert Value icon, select the On Structured Metadata Change block, then click Enter a path, type
resources[0].asset_id, and click Insert. The field then shows On Structured Metadata Change > Resources > First item > Asset ID. -
Separator: Add the separator
__(double underscore).
Create Asset In Akeneo
The Create Asset In Akeneo block creates the asset in Akeneo's Asset Manager.
Steps:
- Add the Create Asset In Akeneo block to your canvas and ensure it's connected to the Join Strings block.
- Open the block configuration and set:
- Host URL: Your Akeneo instance URL.
- Access token: Select the Access token from the Get Tokens From Akeneo block.
- Media URL: Select the Secure URL from the Get Asset Information block.
- Asset code: Select Entire output from the Join Strings block.
- Asset family: Select Entire output from the Get Akeneo Family block.
- Asset attribute: Select Entire output from the Get Akeneo Attribute block.
Update status on completion
After successfully creating the asset in Akeneo, update the status to indicate completion:
- Add an Update Structured Metadata block after the Create Asset In Akeneo block.
- Set Use the asset from to On Structured Metadata Change and Action to Update.
- Set Structured metadata field to
Akeneo Statusand Structured metadata value toLinked.
This status update serves multiple purposes:
- Indicates successful sync to users viewing the asset
- Prevents the flow from re-triggering on the same asset
- Enables searching for synced vs. unsynced assets
Delete on status change
To handle asset removal, create a separate flow (or branch in the same flow) that triggers when the status changes to Requires unlink:
- Trigger the flow when
Akeneo Statuschanges toRequires unlink, using an On Structured Metadata Change block. - Authenticate with Akeneo using a Get Tokens From Akeneo block.
- Retrieve the asset family and asset code from the asset's structured metadata using Get Structured Metadata blocks.
- Delete the asset from Akeneo using a Delete Asset In Akeneo block.
- Clear the linked state by updating
Akeneo Statususing an Update Structured Metadata block.
Scheduled retry for failed syncs
Syncs can fail for various reasons: invalid metadata, network issues, or Akeneo being temporarily unavailable. A scheduled retry flow provides a safety net by periodically attempting to sync assets that are stuck in a "requires link" state.
This approach complements the metadata-triggered flow by:
- Retrying failed syncs automatically
- Catching any assets that were missed
- Providing a backup mechanism for reliability
Overview
The PowerFlow uses the following blocks:
- On Scheduled Search: Runs periodically to find assets needing sync.
- Repeat For Each Asset: Processes each asset found by the search individually.
- Schedule Email Report: Sends a daily email report summarizing the assets processed by the flow.
- Get Tokens From Akeneo: Authenticates with Akeneo.
- Get Structured Metadata (x3): Retrieves the sync parameters (SKU, family, and attribute) for each asset.
- Get Asset Information: Retrieves the asset's ID and secure URL needed for syncing to Akeneo.
- Join Strings: Creates the unique Akeneo asset code.
- Create Asset In Akeneo: Attempts to create the asset.
- Update Structured Metadata: Updates the status to "Linked" on success.
On Scheduled Search
The On Scheduled Search block runs a search query at specified intervals to find assets that need syncing.
Steps:
- Add the On Scheduled Search block to your canvas.
- Open the block configuration and set:
-
Recurring schedule: Set Repeat to Daily (or more often, as needed). For example, every 1 days at 10:00 runs the flow once a day at 10am. You can also turn on Advanced to enter an AWS cron expression instead, such as
0 10 * * ? *. -
Assets to search for:
metadata.akeneo_status="requires_link"
-
Recurring schedule: Set Repeat to Daily (or more often, as needed). For example, every 1 days at 10:00 runs the flow once a day at 10am. You can also turn on Advanced to enter an AWS cron expression instead, such as
- Expand Advanced Options and set Maximum assets to process to an appropriate limit.
Repeat For Each Asset
The Repeat For Each Asset block processes each asset found by the search individually, allowing the subsequent blocks to run once per asset.
Steps:
- Add a Repeat For Each Asset block to your canvas and ensure it's connected to the On Scheduled Search block.
- Open the block configuration and set:
- Source of asset list: Click the Insert Value icon to add Resources from the On Scheduled Search block.
- Run in parallel: Turn on to run the flow for all assets simultaneously.
Schedule Email Report
The Schedule Email Report block sends a daily email summary of the assets processed by the flow. The email is sent at the configured time and includes details of all the assets that reach this block in a 24-hour period.
Steps:
- Add a Schedule Email Report block to your canvas and ensure it's connected to the Repeat For Each Asset block.
- Open the block configuration and set:
- Use the asset from: Select Repeat For Each Asset from the list.
- Recipients: A comma-separated list of email addresses to receive the report.
-
Time: The UTC time that you want MediaFlows to send the email (for example,
10:00). -
Report name: The subject of the email, for example,
Retries for failed Akeneo syncs from metadata. -
Description: Text for the body of the email, for example,
These assets were scheduled for retry syncing to Akeneo.
Here's an example of how the email may look:
Get Tokens From Akeneo
The Get Tokens From Akeneo block authenticates with Akeneo and provides an access token for subsequent blocks.
Steps:
- Add the Get Tokens From Akeneo block to your canvas and ensure it's connected to the Schedule Email Report block.
- Open the block configuration and select your Akeneo connection:
- Akeneo connection: Click Connect and select the Akeneo account you configured in Apps & Connections.
Get Structured Metadata
Retrieve the sync parameters for each asset found by the search using three Get Structured Metadata blocks.
Steps:
- Add a Get Structured Metadata block to your canvas and ensure it's connected to the Get Tokens From Akeneo block.
- Rename the block to
Get Akeneo SKU. - Configure the block:
- Use the asset from: Select Repeat For Each Asset from the list.
-
Structured metadata field:
Akeneo SKU
- Add a second Get Structured Metadata block and ensure it's connected to the first.
- Rename the block to
Get Akeneo Family. - Configure the block in the same way, but set:
-
Structured metadata field:
Akeneo Family
-
Structured metadata field:
- Add a third Get Structured Metadata block and ensure it's connected to the second.
- Rename the block to
Get Akeneo Attribute. - Configure the block in the same way, but set:
-
Structured metadata field:
Akeneo Attribute
-
Structured metadata field:
Get Asset Information
The Get Asset Information block retrieves asset details, including the asset ID and the secure URL. The Join Strings block uses the asset ID, and the Create Asset In Akeneo block uses the secure URL.
Steps:
- Add a Get Asset Information block to your canvas and ensure it's connected to the third Get Structured Metadata block.
- Ensure Use the asset from is set to Repeat For Each Asset.
Join Strings
The Join Strings block creates a unique Akeneo asset code by combining the SKU and Cloudinary asset ID.
Steps:
- Add the Join Strings block to your canvas and ensure it's connected to the Get Asset Information block.
- Open the block configuration and set:
- First string: Click the Insert Value icon to add Entire output from the Get Akeneo SKU block.
-
Second string: Click the Insert Value icon, select the Get Asset Information block, then click Enter a path, type
asset_id, and click Insert. The field then shows Get Asset Information > Asset ID.

-
Separator: Add the separator
__(double underscore).
Create Asset In Akeneo
The Create Asset In Akeneo block attempts to create the asset in Akeneo's Asset Manager.
Steps:
- Add the Create Asset In Akeneo block to your canvas and ensure it's connected to the Join Strings block.
- Open the block configuration and set:
- Host URL: Your Akeneo instance URL.
- Access token: Select the Access token from the Get Tokens From Akeneo block.
- Media URL: Select the Secure URL from the Get Asset Information block.
- Asset code: Select Entire output from the Join Strings block.
- Asset family: Select Entire output from the Get Akeneo Family block.
- Asset attribute: Select Entire output from the Get Akeneo Attribute block.
Update Structured Metadata
After successfully creating the asset in Akeneo, update the status to indicate completion.
Steps:
- Add an Update Structured Metadata block to your canvas and ensure it's connected to the Create Asset In Akeneo block.
- Configure the block:
- Use the asset from: Select Repeat For Each Asset from the list.
- Action: Select Update from the list.
-
Structured metadata field: Select
Akeneo Statusfrom the list. -
Structured metadata value: Select or enter
Linked.
Sync product information to Cloudinary
After syncing an asset to Akeneo and linking it to a product, you may want to pull product information back to Cloudinary. This enriches your Cloudinary assets with product data like name, description, or category.
Add the following blocks after creating an asset in Akeneo:
- Get Product Information From Akeneo: Retrieves product details using the SKU.
- Update Structured Metadata: Stores selected product attributes as Cloudinary metadata.
This enables:
- Searching for assets by product attributes in Cloudinary
- Displaying product context in the Media Library
- Using product data in transformations or delivery URLs



























