Write missing alt text for your Webflow images every week

By General Input

Every Wednesday morning, an agent finds the images on your Webflow site with no alt text, writes it for them, and reports back in Slack.

Integrations

  • Webflow
  • Replicate
  • Slack Bot

Type

Agentic Task

Categories

  • Marketing
  • Operations

Every Wednesday at 10am, find the images on our Webflow site that have no alt text and write it for them.

Start with Webflow List Sites to identify the site. If there is more than one, use the site I name when I set this up. Then page through the site's assets with List Assets, which is offset based and returns up to 100 per page, so keep requesting pages until you have covered the total the API reports. Select only the assets whose alt text field is empty, and never overwrite alt text that is already there. Ignore anything that is not an image, such as PDFs and other file downloads.

Before spending a captioning call, decide whether each asset is content or decoration. Skip purely decorative assets: spacers, dividers, icons, bullets, arrows, background textures, and gradient fills. Filename and dimensions are strong signals here, for example a 1px spacer, a tiny square icon, or a file named divider, bg-, or icon-. Decorative assets should be left alone rather than described, because a screen reader reading them out loud is worse than silence. Count them as skipped.

For each remaining content image, send its public hosted URL to an image captioning model on Replicate with Create Prediction. Replicate accepts image inputs as public HTTP URLs, so the Webflow hosted URL can be handed straight to the model with no upload step. Use Get Model first if you need the version id and the exact input field names for the model you pick. Predictions are asynchronous: Create Prediction comes back with an id and a status of starting, so poll Get Prediction until the status is terminal, meaning succeeded, failed, or canceled. Read the output before moving on, since Replicate clears prediction output about an hour after it completes.

Turn the raw caption into proper alt text rather than pasting it straight in. Describe what is actually in the image, keep it under 125 characters, and drop "image of", "picture of", and "a photo of" prefixes. Write the line the way a person would say it aloud in place of the image. If the caption comes back too vague or generic to be useful, skip that asset and count it as still missing rather than writing filler.

Write each finished line back with Webflow Update Asset, which updates the alt text on an existing asset.

Pace the run. Webflow rate limits are enforced per minute, 60 requests on Starter and Basic plans and 120 on CMS, Business, and eCommerce plans, so work through the list steadily instead of firing everything at once, and back off if you see a 429. Cap the run at roughly 150 assets; the weekly cadence will catch the rest.

Finish with a Slack summary using Send a Message to the channel I pick, covering how many assets were fixed, how many were skipped as decorative, and how many still have no alt text. Include a handful of examples of the lines that were written, and call out anything that failed outright so I know where to look.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them