Back/Personal/ChatGPT
IntermediatePersonal

Build a Custom AI Tool to Describe Images in Slack

Build a Slack focused Chrome extension that describes the image in the current message with one keyboard shortcut, presents the result in an accessible modal, and accepts follow-up questions about details you need.

Build a Custom AI Tool to Describe Images in Slack

Joe presses Ctrl Shift D on a Slack message, receives a detailed stroller description, and asks a follow-up question without leaving the conversation.

Before you start

What you need

  • Chrome with the Slack web app
  • A vision capable model API
  • A local Chrome extension project
  • A keyboard shortcut that does not conflict with an existing command

What you’ll make

A keyboard driven Slack image describer with a screen reader friendly modal and follow-up questions.

Tools used

Step by step

The workflow

Follow the sequence once, then adapt the prompts, checks, and handoffs to your own setup.

5 steps

Step01

Set Up the Extension and Shortcut

Create a Manifest V3 Chrome extension limited to the Slack web app. Register Ctrl Shift D, or another available shortcut, and route the command to the active Slack tab. Keep host permissions limited to Slack and the model endpoint.

Step02

Capture the Image

In the content script, identify the Slack message that currently has keyboard focus and locate its image. Capture the image URL or data plus minimal surrounding message context. Return a clear status if the message has no image.

Step03

Send to AI for Analysis

Send the image to a vision capable model. Ask for a concise overview followed by details useful for understanding the message, such as objects, visible text, layout, and anything uncertain. Keep the image in conversation state for follow-up questions.

Example prompt
Describe this image for someone who cannot inspect it visually. Start with a one sentence overview, then list the important objects, visible text, spatial relationships, colors when relevant, and any uncertainty. Use the surrounding Slack message only as context, not as evidence about what is visible.
Step04

Display the Description

Present the description in a real accessible dialog. Move focus to its heading, trap focus inside while open, support Escape, and restore focus to the original Slack message when it closes. Include a useful loading announcement before the result arrives.

Step05

Enable Follow-up Questions

Add a question field inside the dialog and send each question with the original image and prior answer. Joe used this to ask what age child a pictured stroller was designed for. Keep the answer in the same dialog and announce the update.

Example prompt
What age child is this product designed for? Base the answer only on visible evidence in the image. If the age range is not shown or cannot be inferred reliably, say that.

This interactive feature transforms the tool from a simple descriptor into a contextual Q&A bot for images.

What good looks like

  • The shortcut uses the image in the focused Slack message.
  • The modal receives focus and prevents the screen reader from reading behind it.
  • The first description identifies the image and relevant visible details.
  • A follow-up question returns an answer about the same image.

Build your next product with ChatPRD

Turn an idea into a PRD, user stories, and a plan.

Try ChatPRD free

After the steps

Runbook notes

How to recover when the loop fails and where human judgment helps.

Recover

If it goes sideways

The extension describes the wrong image or finds none
Resolve the currently focused Slack message first, then choose the image inside that message. Announce clearly when the focused message has no image.
Slack blocks direct access to the image URL
Fetch the image through extension permissions or capture the visible image data from the page. Confirm the manifest includes only the Slack and model endpoints you use.
The result modal is difficult to use with a screen reader
Use a dialog role, an accessible name, focus trapping, Escape to close, and focus restoration to the original Slack message.

Start shipping
better products.

Join 100,000+ product managers who use ChatPRD to write better docs, align teams faster, and build products users love.

Free to start
No credit card
SOC 2 certified
Enterprise ready