Skip to content

The moment it happens

Pull the details out of receipt photos

Photos or screenshots you send are read and returned as tidy fields, like merchant, date and total.

Runs
The moment it happens
Apps
OpenAI
AI
Not needed
Access
API key

Send this to your assistant

Create a ClickRuntime automation: give me a link I can post receipt photos to. Read each one with GPT-4o vision, extract the merchant, date and total, and email them to me.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A claims handler at a small insurer receives photos of damaged property from customers, a QA tester collects screenshots of broken layouts, and a bookkeeper gets phone pictures of paper receipts. Someone has to look at each image, describe what is wrong, and retype the details into a form or a ticket. It is slow, the descriptions vary from person to person, and photos that arrive after hours sit untouched until morning.

When an image is posted to your unique link, or when a link to one is sent, it is passed to an OpenAI vision model along with your instructions, such as describe the damage, list the visible error messages, or extract merchant, date and total. The answer is parsed into structured fields and emailed or stored for you, within moments of the upload.

It suits teams that process photos regularly, such as claims, inspections, support tickets, expense reports and quality control.

What you get out of it

  • Consistent descriptions every time

    The same instructions are applied to every image, so each report mentions the same things in the same order. That makes records easier to compare, search and audit than free-form notes written by different people.

  • Photos are handled outside office hours

    A customer who sends a picture at 9 pm gets the image processed straight away, and the result is waiting in the morning. Work begins on day one instead of waiting for someone to open the attachment.

  • Typing from a picture is avoided

    Reading a total or a serial number off a photo and retyping it invites mistakes. Pulling the values out as fields lets a person confirm them quickly, which is faster and more accurate than starting from scratch.

  • Triage becomes quick

    A short description of what the image shows lets you sort urgent cases from routine ones before anyone opens the file, so a photo of a broken pipe is handled before a photo of a scratch.

  • Structured output feeds other tools

    Because the answer is returned as named fields, it can be stored in a sheet or sent onward without cleaning. That avoids a manual step between the photo and the system where the data is needed.

How it works

What happens, step by step

  1. When you send a photo or screenshot to your ClickRuntime link, the automation starts straight away.

  2. AI looks at the image and reads out the details you asked for, such as merchant, date and total on a receipt.

  3. The details are tidied into separate fields and emailed to you, like "Merchant: Northwind Café, Date: 2026-10-18, Total: 14.60".

Before it runs live

  • Connect OpenAI
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Pull the details out of receipt photosjust nowSucceeded
Email · ReceiptMerchant: Northwind Café Date: 2026-10-18 Total: 14.60

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other OpenAI steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
analyse_images_or_screenshots_with_vision.pyexample
import json
from clickruntime import on_event, credentials, http, notify

@on_event
def handle(event):
    image_url = (event.json or {}).get("image_url")
    if not image_url:
        return {"error": "send JSON with image_url"}
    resp = http.post("https://api.openai.com/v1/chat/completions", timeout=60,
                     headers={"Authorization": f"Bearer {credentials.secret('OPENAI_API_KEY')}"}, json={
        "model": "gpt-4o",
        "response_format": {"type": "json_object"},
        "messages": [{"role": "user", "content": [
            {"type": "text", "text": "Read this receipt. Reply as JSON with merchant, date (YYYY-MM-DD) and total."},
            {"type": "image_url", "image_url": {"url": image_url}}]}]})
    resp.raise_for_status()
    r = json.loads(resp.json()["choices"][0]["message"]["content"])
    notify.email_me(f"Receipt: {r.get('merchant')} {r.get('total')}",
                    f"Merchant: {r.get('merchant')}\nDate: {r.get('date')}\nTotal: {r.get('total')}\n{image_url}")
    return r

FAQ

Common questions

Does this need an OpenAI account?
Yes. Analysis calls an OpenAI vision-capable model using your own API key, kept as a secret, and OpenAI bills the usage to you. Each image costs a small amount that depends on the model and the image size.
How accurate is it on blurry or handwritten photos?
Clear, well-lit photos work best. Blurry images, glare, tiny print and messy handwriting reduce accuracy, and the model may guess or leave fields empty. Treat the output as a first pass that a person confirms for anything important.
Can it handle several images in one message?
Yes, when several images or links arrive together, they can be passed to the model in a single request and described as a set, or processed one by one with a separate result for each, depending on how you set it up.
What permissions does it need?
API key. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Pull the details out of receipt photos” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.