Documentation Index

Fetch the complete documentation index at: https://cloudinary.com/documentation/llms.txt

Use this file to discover all available pages before exploring further.

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:

  1. In MediaFlows, navigate to Apps & Connections from the sidebar.
  2. Find Akeneo in the list and click Connect Your Account.
  3. 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
  4. Click Connect to save the connection.

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

Once connected, you can select this account when configuring the Get Tokens From Akeneo block in your flows.

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 PowerFlow on the canvas, from the On Manual Run From Media Library trigger through to Create Asset In Akeneo

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

  1. Add the On Manual Run From Media Library block to your canvas.
  2. Open the block configuration and set:
    • Description: Sync to Akeneo
  3. 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, atmosphere or packshots)
    • 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.

On Manual Run From Media Library settings with SKU, Asset_Family, and Asset_Attribute input parameters

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 and ensure it's connected to the On Manual Run From Media Library block.
  2. Open the block configuration and select your Akeneo connection:
    • Akeneo connection: Click Connect and select the Akeneo account you configured in Apps & Connections.

Get Tokens From Akeneo settings with an Akeneo connection selected

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 and ensure it's connected to the Get Tokens From Akeneo block.
  2. 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).

Join Strings settings combining the SKU and asset ID with a double underscore separator

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 and ensure it's connected to the Join Strings block.
  2. Rename the block to Update Akeneo SKU by clicking the title.
  3. Configure the block:
    • Use the asset from: Select On Manual Run From Media Library.
    • Action: Select Update.
    • Structured metadata field: Select Akeneo SKU from the list.
    • Structured metadata value: Select the Sku from On Manual Run From Media Library.
  4. Add a second Update Structured Metadata block and ensure it's connected to the first.
  5. Rename the block to Update Akeneo Family.
  6. Configure the block in the same way, but set:
    • Structured metadata field: Select Akeneo Family from the list.
    • Structured metadata value: Select the Asset family from On Manual Run From Media Library.
  7. Add a third Update Structured Metadata block and ensure it's connected to the second.
  8. Rename the block to Update Akeneo Attribute.
  9. Configure the block in the same way, but set:
    • Structured metadata field: Select Akeneo Attribute from the list.
    • Structured metadata value: Select the Asset attribute from On Manual Run From Media Library.

Update Akeneo SKU settings storing the SKU in the Akeneo SKU structured metadata field

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:

  1. Add the Create Asset In Akeneo block to your canvas and ensure it's connected to the third Update Structured Metadata block.
  2. 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.

Create Asset In Akeneo settings with the host URL, access token, media URL, asset code, family, and attribute set

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 PowerFlow on the canvas, from the On Structured Metadata Change trigger through to Update Structured Metadata

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 of an image changes. The flow syncs images only, so the trigger ignores other asset types.

Steps:

  1. Add the On Structured Metadata Change block to your canvas.
  2. Open the block configuration and, under When to trigger, clear Trigger for any structured metadata change.
  3. Under Trigger whenever the new value for, select Akeneo Status, is, and Requires link.
  4. 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.

On Structured Metadata Change settings triggering when Akeneo Status is Requires link, for images only

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 and ensure it's connected to the On Structured Metadata Change block.
  2. Open the block configuration and select your Akeneo connection:
    • Akeneo connection: Click Connect and select the Akeneo account you configured in Apps & Connections.

Get Tokens From Akeneo settings with an Akeneo connection selected

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 and ensure it's connected to the Get Tokens From Akeneo block.
  2. Rename the block to Get Akeneo SKU.
  3. Configure the block:
    • Use the asset from: Select On Structured Metadata Change from the list.
    • Structured metadata field: Akeneo SKU
  4. Add a second Get Structured Metadata block and ensure it's connected to the first.
  5. Rename the block to Get Akeneo Family.
  6. Configure the block in the same way, but set:
    • Structured metadata field: Akeneo Family
  7. Add a third Get Structured Metadata block and ensure it's connected to the second.
  8. Rename the block to Get Akeneo Attribute.
  9. Configure the block in the same way, but set:
    • Structured metadata field: Akeneo Attribute

Get Akeneo SKU settings reading the Akeneo SKU structured metadata field from the triggering asset

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:

  1. Add a Get Asset Information block to your canvas and ensure it's connected to the third Get Structured Metadata block.
  2. Ensure Use the asset from is set to On Structured Metadata Change.

Get Asset Information settings using the asset from 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:

  1. Add the Join Strings block to your canvas and ensure it's connected to the Get Asset Information block.
  2. 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).

Join Strings settings combining the Get Akeneo SKU output and the asset ID of the first resource

Create Asset In Akeneo

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

Steps:

  1. Add the Create Asset In Akeneo block to your canvas and ensure it's connected to the Join Strings block.
  2. 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.

Create Asset In Akeneo settings using the Get Asset Information secure URL and the Get Akeneo Family and Attribute outputs

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 Asset In Akeneo block.
  2. Set Use the asset from to On Structured Metadata Change and Action to Update.
  3. Set Structured metadata field to Akeneo Status and Structured metadata value to Linked.

Update Structured Metadata settings setting Akeneo Status to Linked

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 the flow when Akeneo Status changes to Requires unlink, using an On Structured Metadata Change block.
  2. Authenticate with Akeneo using a Get Tokens From Akeneo block.
  3. Retrieve the asset family and asset code from the asset's structured metadata using Get Structured Metadata blocks.
  4. Delete the asset from Akeneo using a Delete Asset In Akeneo block.
  5. Clear the linked state by updating Akeneo Status using an Update Structured Metadata block.

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 PowerFlow on the canvas, from the On Scheduled Search trigger through to Update Structured Metadata

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: 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"
  3. Expand Advanced Options and set Maximum assets to process to an appropriate limit.

On Scheduled Search settings running daily at 10:00 and searching for assets with an Akeneo status of requires_link

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:

  1. Add a Repeat For Each Asset block to your canvas and ensure it's connected to the On Scheduled Search block.
  2. 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.

Repeat For Each Asset settings using the Resources from On Scheduled Search, with Run in parallel turned on

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:

  1. Add a Schedule Email Report block to your canvas and ensure it's connected to the Repeat For Each Asset block.
  2. 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.

Schedule Email Report settings with a recipient, a 10:00 send time, a report name, and a description

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 and ensure it's connected to the Schedule Email Report block.
  2. Open the block configuration and select your Akeneo connection:
    • Akeneo connection: Click Connect and select the Akeneo account you configured in Apps & Connections.

Get Tokens From Akeneo settings with an Akeneo connection selected

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 and ensure it's connected to the Get Tokens From Akeneo block.
  2. Rename the block to Get Akeneo SKU.
  3. Configure the block:
    • Use the asset from: Select Repeat For Each Asset from the list.
    • Structured metadata field: Akeneo SKU
  4. Add a second Get Structured Metadata block and ensure it's connected to the first.
  5. Rename the block to Get Akeneo Family.
  6. Configure the block in the same way, but set:
    • Structured metadata field: Akeneo Family
  7. Add a third Get Structured Metadata block and ensure it's connected to the second.
  8. Rename the block to Get Akeneo Attribute.
  9. Configure the block in the same way, but set:
    • Structured metadata field: Akeneo Attribute

Get Akeneo SKU settings reading the Akeneo SKU structured metadata field from the current asset in Repeat For Each Asset

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:

  1. Add a Get Asset Information block to your canvas and ensure it's connected to the third Get Structured Metadata block.
  2. Ensure Use the asset from is set to Repeat For Each Asset.

Get Asset Information settings using the asset from 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:

  1. Add the Join Strings block to your canvas and ensure it's connected to the Get Asset Information block.
  2. 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.

      The Insert Value picker for the Second string field, showing the Get Asset Information fields with Enter a path open under Advanced and asset_id typed in the path field
    • Separator: Add the separator __ (double underscore).

Join Strings settings combining the Get Akeneo SKU output and the Get Asset Information asset ID

Create Asset In Akeneo

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

Steps:

  1. Add the Create Asset In Akeneo block to your canvas and ensure it's connected to the Join Strings block.
  2. 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.

Create Asset In Akeneo settings using the Get Asset Information secure URL, the Join Strings output, and the Get Akeneo Family and Attribute outputs

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 and ensure it's connected to the Create Asset In Akeneo block.
  2. 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 Status from the list.
    • Structured metadata value: Select or enter Linked.

Update Structured Metadata settings setting Akeneo Status to Linked for the current asset

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