Sync assets to Akeneo

Last updated: Feb-02-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

Important
All flows that interact with Akeneo require a Get Tokens From Akeneo block at the start. This block authenticates with Akeneo and provides an access token that all subsequent Akeneo blocks use.

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

Sync to Akeneo from Assets

The PowerFlow uses the following blocks:

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

Metadata for Akeneo sync from Assets

On Manual Run From Assets

The On Manual Run From Assets block creates a context menu option in the Media Library, allowing users to trigger the sync and provide the required parameters.

Steps:

  1. Add the On Manual Run From Assets block to your canvas.
  2. Open the block configuration and set:
    • Description: Sync to Akeneo
  3. Add user Input parameters (under More options):

    • SKU: The product SKU to link the asset to
    • Asset_Family: The Akeneo asset family (e.g., atmosphere, packshots)
    • Asset_Attribute: The attribute where the Cloudinary URL will be stored (e.g., link_atmosphere)

    Later, the flow will save the values of these parameters as metadata on the asset.

On Manual Run From Assets configuration

Get Tokens From Akeneo

The Get Tokens From Akeneo block authenticates with Akeneo and provides an access token for subsequent blocks.

Steps:

  1. Add the Get Tokens From Akeneo block to your canvas.
  2. Connect the output of the On Manual Run From Assets block to its input.
  3. Open the block configuration and enter your Akeneo credentials:
    • 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 username
    • Password: Your Akeneo password

Get Tokens From Akeneo configuration

Tip
Create a dedicated connection in Akeneo for MediaFlows to keep credentials separate and manageable.

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.

Note
The asset code may contain only letters, numbers and underscores.

Steps:

  1. Add the Join Strings block to your canvas.
  2. Connect the output of the Get Tokens From Akeneo block to its input.
  3. Open the block configuration and set:
    • First string: Click + to add the SKU variable from the On Manual Run From Assets block
    • Second string: Click + to add the Asset ID from the On Manual Run From Assets block (enter asset_id in the Manual section)
    • Separator: Add the separator __ (double underscore)

The resulting asset code format is: {SKU}__{asset_id} (e.g., PROD001__abc123def456).

Join Strings configuration

Note
The asset code must be unique in Akeneo. By combining the SKU with the Cloudinary asset ID, you can link multiple images to the same product while ensuring each asset code is unique.

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

Important
Make sure you've created the structured metadata fields described in Metadata setup before adding these blocks.

Steps:

  1. Add an Update Structured Metadata block to your canvas.
  2. Connect the output of the Join Strings block to its input.
  3. Rename the block to Update Akeneo SKU by clicking the title.
  4. Configure the block:
    • Structured metadata field: Select Akeneo SKU from the list.
    • Structured metadata value: Select the SKU from On Manual Run From Assets
  5. Add a second Update Structured Metadata block and connect it to the first.
  6. Rename the block to Update Akeneo Family.
  7. Configure the block:
    • Structured metadata field: Select Akeneo Family from the list.
    • Structured metadata value: Select the Asset Family from On Manual Run From Assets
  8. Add a third Update Structured Metadata block and connect it to the second.
  9. Rename the block to Update Akeneo Attribute.
  10. Configure the block:
    • Structured metadata field: Select Akeneo Attribute from the list.
    • Structured metadata value: Select the Asset Attribute from On Manual Run From Assets

Update Structured Metadata configuration

Create An Asset In Akeneo

The Create An Asset In Akeneo block creates the asset in Akeneo's Asset Manager and optionally links it to a product.

Steps:

  1. Add the Create An Asset In Akeneo block to your canvas.
  2. Connect the output of the third Update Structured Metadata block to its input.
  3. Open the block configuration and set:
    • Host URL: Your Akeneo instance URL
    • Access token: Select the token from the Get Tokens From Akeneo block
    • Media URL: Select the Secure URL from the trigger
    • Asset code: Select the result from the Join Strings block
    • Asset family: Select the Asset Family from On Manual Run From Assets
    • Asset attribute: Select the Asset Attribute from On Manual Run From Assets

Create An Asset In Akeneo configuration

Tip
To automatically link assets to products, configure Product Link Rules in Akeneo to parse your asset code format and extract the SKU.

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

Sync to Akeneo on metadata change

The PowerFlow uses the following blocks:

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

Metadata for Akeneo sync from structured metadata

On Structured Metadata Change

The On Structured Metadata Change block triggers the flow when the Akeneo Status field changes.

Steps:

  1. Add the On Structured Metadata Change block to your canvas.
  2. Open the block configuration and set it to trigger whenever the new value for Akeneo Status is Requires link and only for images.

On Structured Metadata Change configuration

Get Tokens From Akeneo

The Get Tokens From Akeneo block authenticates with Akeneo and provides an access token for subsequent blocks.

Steps:

  1. Add the Get Tokens From Akeneo block to your canvas.
  2. Connect the output of the On Structured Metadata Change block to its input.
  3. Open the block configuration and enter your Akeneo credentials:
    • 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 username
    • Password: Your Akeneo password

Get Tokens From Akeneo configuration

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:

  1. Add a Get Structured Metadata block to your canvas.
  2. Connect the output of the Get Tokens From Akeneo block to its input.
  3. Rename the block to Get Akeneo SKU.
  4. Configure the block:
    • Structured metadata field: Akeneo SKU
  5. Add a second Get Structured Metadata block and connect it to the first.
  6. Rename the block to Get Akeneo Family.
  7. Configure the block:
    • Structured metadata field: Akeneo Family
  8. Add a third Get Structured Metadata block and connect it to the second.
  9. Rename the block to Get Akeneo Attribute.
  10. Configure the block:
    • Structured metadata field: Akeneo Attribute

Get Structured Metadata configuration

Get Asset Information

The Get Asset Information block retrieves asset details including the secure URL, which is needed for the Create An Asset In Akeneo block. The trigger doesn't provide the secure URL, so this block is required.

Steps:

  1. Add a Get Asset Information block to your canvas.
  2. Connect the output of the third Get Structured Metadata block to its input.

Get Asset Information configuration

Join Strings

The Join Strings block creates a unique Akeneo asset code by combining the SKU and Cloudinary asset ID.

Steps:

  1. Add the Join Strings block to your canvas.
  2. Connect the output of the Get Asset Information block to its input.
  3. Open the block configuration and set:
    • First string: Click + to add the result from the Get Akeneo SKU block
    • Second string: Click + to add the Asset ID from the On Structured Metadata Change block (enter resources[0].asset_id in the Manual section)
    • Separator: Add the separator __ (double underscore)

Join Strings configuration

Create An Asset In Akeneo

The Create An Asset In Akeneo block creates the asset in Akeneo's Asset Manager.

Steps:

  1. Add the Create An Asset In Akeneo block to your canvas.
  2. Connect the output of the Join Strings block to its input.
  3. Open the block configuration and set:
    • Host URL: Your Akeneo instance URL
    • Access token: Select the token from the Get Tokens From Akeneo block
    • Media URL: Select the Secure URL from the Get Asset Information block
    • Asset code: Select the result from the Join Strings block
    • Asset family: Select the result from the Get Akeneo Family block
    • Asset attribute: Select the result from the Get Akeneo Attribute block

Create An Asset In Akeneo configuration

Update status on completion

After successfully creating the asset in Akeneo, update the status to indicate completion:

  1. Add an Update Structured Metadata block after the Create An Asset In Akeneo block.
  2. Set Akeneo Status to Linked.

Update Structured Metadata configuration

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:

  1. Trigger on Akeneo Status changing to Requires unlink
  2. Get Tokens From Akeneo
  3. Get Structured Metadata (to retrieve asset family and code)
  4. Delete An Asset In Akeneo
  5. Update status to clear the linked state

Important
To delete an asset from Akeneo, you need the Asset Family and Asset Code. This is why it's important to store these values in Cloudinary metadata when you create the asset.

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

Scheduled retry flow

The PowerFlow uses the following blocks:

On Scheduled Search

The On Scheduled Search block runs a search query at specified intervals to find assets that need syncing.

Steps:

  1. Add the On Scheduled Search block to your canvas.
  2. Open the block configuration and set:
    • Recurring schedule: Daily (or more frequent as needed), 0 10 * * ? * is every dat at 10am.
    • Search expression: metadata.akeneo_status="requires_link"
    • Max results: Set an appropriate limit

On Scheduled Search configuration

Iterate Assets

The Iterate Assets block processes each asset found by the search individually, allowing the subsequent blocks to run once per asset.

Steps:

  1. Add an Iterate Assets block to your canvas.
  2. Connect the output of the On Scheduled Search block to its input.
  3. Open the block configuration and set:
    • Source of asset list: Select resources from the On Scheduled Search block.
    • Run in parallel: Select Yes to run the flow for all assets simultaneously.

Iterate Assets configuration

Scheduled Email Report

The Scheduled 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:

  1. Add a Scheduled Email Report block to your canvas.
  2. Connect the output of the Iterate Assets block to its input.
  3. Open the block configuration and set:
    • Recipients: A comma-separated list of email addresses to receive the report
    • Time: The UTC time that you want MediaFlows to send the email (e.g., 10:00)
    • Report name: The subject of the email, e.g. Retries for failed Akeneo syncs from metadata
    • Description: Text for the body of the email, e.g. These assets were scheduled for retry syncing to Akeneo.

Scheduled Email Report configuration

Here's an example of how the email may look:

Email Report example

Get Tokens From Akeneo

The Get Tokens From Akeneo block authenticates with Akeneo and provides an access token for subsequent blocks.

Steps:

  1. Add the Get Tokens From Akeneo block to your canvas.
  2. Connect the output of the Scheduled Email Report block to its input.
  3. Open the block configuration and enter your Akeneo credentials:
    • 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 username
    • Password: Your Akeneo password

Get Tokens From Akeneo configuration

Get Structured Metadata

Retrieve the sync parameters for each asset found by the search using three Get Structured Metadata blocks.

Steps:

  1. Add a Get Structured Metadata block to your canvas.
  2. Connect the output of the Get Tokens From Akeneo block to its input.
  3. Rename the block to Get Akeneo SKU.
  4. Configure the block:
    • Structured metadata field: Akeneo SKU
  5. Add a second Get Structured Metadata block and connect it to the first.
  6. Rename the block to Get Akeneo Family.
  7. Configure the block:
    • Structured metadata field: Akeneo Family
  8. Add a third Get Structured Metadata block and connect it to the second.
  9. Rename the block to Get Akeneo Attribute.
  10. Configure the block:
    • Structured metadata field: Akeneo Attribute

Get Structured Metadata configuration

Get Asset Information

The Get Asset Information block retrieves asset details including the secure URL, which is needed for the Create An Asset In Akeneo block.

Steps:

  1. Add a Get Asset Information block to your canvas.
  2. Connect the output of the third Get Structured Metadata block to its input.

Get Asset Information configuration

Join Strings

The Join Strings block creates a unique Akeneo asset code by combining the SKU and Cloudinary asset ID.

Steps:

  1. Add the Join Strings block to your canvas.
  2. Connect the output of the Get Asset Information block to its input.
  3. Open the block configuration and set:
    • First string: Click + to add the result from the Get Akeneo SKU block
    • Second string: Click + to add the Asset ID from the Iterate Assets block
    • Separator: Add the separator __ (double underscore)

Join Strings configuration

Create An Asset In Akeneo

The Create An Asset In Akeneo block attempts to create the asset in Akeneo's Asset Manager.

Steps:

  1. Add the Create An Asset In Akeneo block to your canvas.
  2. Connect the output of the Join Strings block to its input.
  3. Open the block configuration and set:
    • Host URL: Your Akeneo instance URL
    • Access token: Select the token from the Get Tokens From Akeneo block
    • Media URL: Select the Secure URL from the Get Asset Information block
    • Asset code: Select the result from the Join Strings block
    • Asset family: Select the result from the Get Akeneo Family block
    • Asset attribute: Select the result from the Get Akeneo Attribute block

Create An Asset In Akeneo configuration

Update Structured Metadata

After successfully creating the asset in Akeneo, update the status to indicate completion.

Steps:

  1. Add an Update Structured Metadata block to your canvas.
  2. Connect the output of the Create An Asset In Akeneo block to its input.
  3. Configure the block:
    • Structured metadata field: Select Akeneo Status from the list.
    • Structured metadata value: Select or enter Linked

Update Structured Metadata configuration

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:

  1. Get Product Information From Akeneo: Retrieves product details using the SKU.
  2. 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

✔️ Feedback sent!

Rate this page:

one star two stars three stars four stars five stars