---
canonical: https://amplience.com/developers/docs/workforce/flows/examples/automatic-alt-text/
title: Workforce Automatic alt text
description: Learn how to build a Workforce Flow that automatically generates and translates image alt text, reducing manual steps and improving accessibility at scale.
audience: Business User
image: https://cdn.media.amplience.net/i/ampproduct/ve-flows-auto-alttext2-lm?w=1200&h=630
image_width: 1200
image_height: 630
date_published: 2025-11-30
date_modified: 2026-06-26
---

# Automatic alt text example flow

Learn how to build a [Workforce Flow](https://amplience.com/developers/docs/workforce/flows/about-flows/) that:

- Automatically generates alt text when you create or update an asset in Content Hub
- Translates this text to multiple languages
- Updates the image asset in Content Hub

![Automatic alt text flow overview](https://cdn.media.amplience.net/i/ampproduct/ve-flows-auto-alttext2-lm?w=1880&fmt=png&)

> **Info:** To build Flows you will need the Admin role on the hub. See [Workforce permissions](https://amplience.com/developers/docs/concepts/permissions/roles/#roles-and-workforce).

## Step 1- Create the webhook trigger

This flow will run automatically using a webhook that is triggered when an image is uploaded to Content Hub or it is modified. You will need to do some initial set up in order to create this webhook.

- Create a new content flow and give it a label and description.
- Drag a **webhook trigger** to your flow. If you already have a Content Hub webhook in your webhook library, then you can select this and move to Step 2.
- Open the webhook library from the [action configuration panel](https://amplience.com/developers/docs/workforce/flows/action-reference/#inputs-outputs-and-ports).

![Open the Triggers section from the action library](https://cdn.media.amplience.net/i/ampproduct/content-flow-alt-text-add-webhook-v2-1?w=1880&fmt=png 'Open the Triggers section from the action library')

- In the webhook dialog create a new webhook URL. Leave the settings as the defaults.

![Create a webhook URL](https://cdn.media.amplience.net/i/ampproduct/content-flow-alt-text-add-webhook-v2-2?w=1880&fmt=png 'Create a webhook URL')

- Copy the webhook URL that you just created.

![Copy the webhook URL](https://cdn.media.amplience.net/i/ampproduct/content-flow-alt-text-add-webhook-v2-3?w=1880&fmt=png 'Copy the webhook URL')

- In your content flow, select the webhook.

![Select the webhook](https://cdn.media.amplience.net/i/ampproduct/content-flow-alt-text-add-webhook-v2-4?w=1880&fmt=png 'select the webhook')

#### Configuring the webhook in Content Hub

Your content flow won't be fully functional until a webhook is set up in Content Hub to trigger your webhook URL and start your flow.

Contact Amplience Support to [set up a Content Hub webhook](https://support.amplience.com/support/catalog/items/154).

You will need to specify

- Your webhook URL
- The [media hub id](https://amplience.com/developers/docs/apis/asset-management/overview/examples/#getting-the-media-hub-id) of the hub you use for images.
- Whether the webhook should be triggered when assets are uploaded to a specific asset store or folder.

Once the webhook is set up in Content Hub, you're ready to move on to Step 2.

## Step 2- Extract information from the payload

- Add a **Get Values from JSON** helper action to your content flow. Link the out port of the webhook trigger to the in port of the action.

The data field of the action will automatically be populated with the value of the payload.

- Add 2 **Values to Extract** from the payload as shown below:

`$.payload.asset.thumbFile`- name this `thumbFile`

`$.payload.asset.id` name this `Asset ID`

You will use these values in the following steps.

![Extract the values you need from the webhook payload](https://cdn.media.amplience.net/i/ampproduct/content-flow-alt-text-v2-1?w=1880&fmt=png 'Extract the values you need from the webhook payload')

## Step 3- Load the image URL

In this step you’ll use the data you read from the payload in [step 2](#step-2--extract-information-from-the-payload) to load the image from its URL.

- From the image actions, add a **Load image from URL** action to the flow and connect it with the **Get Values from JSON** helper.

- Insert the thumbFile variable into the image URL as shown below (this example sets the image width to 1024 pixels):

    `https://thumbs.amplience.net/r/{thumbFile}?w=1024`

![Build the image URL](https://cdn.media.amplience.net/i/ampproduct/content-flow-alt-text-v2-2?w=1880&fmt=png 'Build the image URL')

## Step 4- Generate the alt text

- Add the **Alt text** content generation action to your flow, connecting it with the **Load image from URL** action.

- Choose which model to use.

- Specify the locale. The alt text will be generated for this locale and then translated into the other languages we specified. Here we're using `en-GB`.

- Choose the `Loaded Image` that was output from the **Load image from URL** action.

![Generating the alt text](https://cdn.media.amplience.net/i/ampproduct/content-flow-alt-text-v2-3?w=1880&fmt=png 'Generating the alt text')

## Step 5- Translate the alt text

Use the translation agent to translate the text output from the alt text action into your chosen languages.

- Drag the **Translation agent** action into your flow and connect it to the alt text action.

- Choose the model to use and specify the locale used to generate the alt text, in this case `en-GB`.

- Add the locales into which you want to translate the alt text. In this example we've chose 4 locales: `fr-FR`, `es-SP`, `de-DE` and `pl-PL`.

![Configure the translation agent to translate the alt text for your chosen locales](https://cdn.media.amplience.net/i/ampproduct/content-flow-alt-text-v2-4?w=1880&fmt=png 'Configure the translation agent to translate the alt text for your chosen locales')

## Step 6- Update the image in Content Hub

With the alt text generated in all the languages you require, you can update the asset in Content Hub.

- Drag the **Update Asset Alt Text** action from the Amplience Content Hub folder to your flow. Connect it to the **Translation Agent** action.

- For the **Asset ID**, add the value returned from the **Get Values from JSON** action.

- Set the **Default Alt Text** to the value returned by the **Alt Text** action.

- For the **Alt Text Variants**, the `Translated Text` returned by the **Translation Agent** should be automatically filled in.

![Updating the asset alt text](https://cdn.media.amplience.net/i/ampproduct/content-flow-alt-text-v2-5?w=1880&fmt=png 'Updating the asset alt text')

## Step 7- Set the asset status

Depending on your workflow, you might want to set the status of the image asset in Content Hub to mark it as ready for review. You can skip this step if you're not using Content Hub statuses.

- Drag the **Transition Asset Status** action to your flow and connect it to the **Update Asset Alt Text** action.

- Fill in the **Asset ID** and choose the new status for the asset.

![Updating the status of the image asset to In Review](https://cdn.media.amplience.net/i/ampproduct/content-flow-alt-text-v2-6?w=1880&fmt=png 'Updating the status of the image asset to In Review')

Save the flow. You're now ready to test generate some alt text and translations.

> **Info:** You can run the flow in Test mode straight away, but it needs to be enabled before you or anyone else can run it for general use. Learn more about [Enabling Flows](https://amplience.com/developers/docs/workforce/flows/review/#enabling-flows-to-be-run).

## Try it out

To run the flow upload an image into your Content Hub, in the asset store you specified. In this example we also specified a folder.

Your webhook will be triggered and your flow will be started automatically.

- In Workforce, go to the **Runs** list. Click the new run that has been created.

![View the run of your flow started when the webhook is triggered](https://cdn.media.amplience.net/i/ampproduct/content-flows-alt-text-run-1?w=1880&fmt=png 'View the run of your flow started when the webhook is triggered')

The run opens and the output from each step is displayed.

![Each step of the run is displayed](https://cdn.media.amplience.net/i/ampproduct/content-flows-alt-text-run-2?w=1880&fmt=png 'Each step of the run is displayed')

Once the run is complete, the image asset will be updated in Content Hub with all the alt text variants generated by your flow.

![The image asset is updated in Content Hub](https://cdn.media.amplience.net/i/ampproduct/content-flows-alt-text-content-hub-1?w=1880&fmt=png 'The image asset is updated in Content Hub')

> **Tip: Testing the flow**
> You can run the flow in test mode, you just need to enter a sample webhook payload.

## Related pages

[Workforce permissions](https://amplience.com/developers/docs/concepts/permissions/roles/#roles-and-workforce)

[Build a flow in minutes](https://amplience.com/developers/docs/workforce/flows/getting-started/)

[Adding actions to flows](https://amplience.com/developers/docs/workforce/flows/action-reference/#adding-actions-to-flows)
