Skip to content

The moment it happens

Save photos and files customers send on WhatsApp

Every image or document sent to your number reaches you by email with the sender's number.

Runs
The moment it happens
Apps
WhatsApp Business
AI
Not needed
Access
whatsapp_business_messaging

Send this to your assistant

Create a ClickRuntime automation: when someone sends a photo or PDF to our WhatsApp number, download it and email it to claims@example.com with the sender's number.

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

Customers send photos of damaged parcels, receipts, ID documents, drawings or voice notes to a business WhatsApp number. Those files live on one phone, mixed into a chat, and are compressed by the phone's gallery. When a claim needs the photo three weeks later, nobody can find it, the phone was replaced, or the customer deleted the message. A dispute then rests on memory instead of evidence.

When a message with media arrives, the automation takes the media ID from the webhook, asks WhatsApp for the temporary download URL, downloads the file using your access token, and emails it to you or stores it. You receive a link or the file itself soon after the customer sent it.

It suits insurers, repair shops, delivery businesses and anyone who needs customer evidence on record.

What you get out of it

  • Evidence kept outside one phone

    Photos and documents are saved off the device, so a lost phone or a deleted chat does not erase the proof of damage, a receipt or a signed form you may need later.

  • Files reach the person who needs them

    Sending the file by email lets the claims handler or technician see the photo directly without asking whoever holds the WhatsApp phone to forward it. Faster routing also means less back-and-forth with customers who are tired of resending the same photo twice.

  • Original quality, not a gallery copy

    Downloading through the API retrieves the file as sent, avoiding screenshots and re-compression that make fine detail like serial numbers hard to read. That detail matters when an insurer or a warranty team has to judge a claim from a single image.

  • Quick handling of urgent cases

    A burst pipe photo or a damaged delivery can trigger an action the same hour, because the image arrives in an inbox that staff already watch. Quick action on a photo of a fault often means a cheaper repair than one found days later.

  • Organized by customer and time

    Each saved file can carry the sender's number and the time received, so retrieving everything a customer sent is a search rather than a scroll. Later, finding a receipt for a dispute is a quick search by number instead of a long scroll through old chats.

How it works

What happens, step by step

  1. When a customer sends a photo or document to your WhatsApp Business number, ClickRuntime picks it up straight away.

  2. It downloads the file from WhatsApp.

  3. You get an email with the sender's number, the file's name, size and type, and any caption they wrote, such as "Damaged parcel from Acme Logistics".

Before it runs live

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

What you get

RunsThe moment it happens
Save photos and files customers send on WhatsAppjust nowSucceeded
Email · WhatsApp image from +447700900123File: 1203948576.jpeg (412 KB, image/jpeg) Caption: Damaged parcel from Acme Logistics

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 WhatsApp Business 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.
save_media_sent_to_the_whatsapp_number.pyexample
from clickruntime import on_event, credentials, http, notify

@on_event
def handle(event):
    value = event.json["entry"][0]["changes"][0]["value"]
    msg = (value.get("messages") or [{}])[0]
    kind = msg.get("type")
    if kind not in ("image", "document", "video", "audio"):
        return {"skipped": True}
    h = {"Authorization": f"Bearer {credentials.secret('WHATSAPP_TOKEN')}"}
    media = http.get(f"https://graph.facebook.com/v21.0/{msg[kind]['id']}", headers=h).json()
    data = http.get(media["url"], headers=h).content
    name = msg[kind].get("filename") or f"{msg[kind]['id']}.{media['mime_type'].split('/')[-1]}"
    notify.email_me(f"WhatsApp {kind} from +{msg['from']}",
                    f"File: {name} ({len(data) / 1024:.0f} KB, {media['mime_type']})\nCaption: {msg[kind].get('caption', '')}")
    return {"file": name, "bytes": len(data)}

FAQ

Common questions

How long does WhatsApp keep media available to download?
The download URL WhatsApp provides is temporary, and media is retained only for a limited time, so the automation downloads it right after the message arrives. Fetching it promptly is what makes saving files reliable.
Which file types can it save?
Images, documents, audio, video and voice notes can all be retrieved, since they use the same media ID mechanism. Very large files may be better stored than attached to an email, and the automation can send a link instead.
Why does the download need my access token?
WhatsApp media is private to your business account, so fetching it requires the same access token you use for sending. ClickRuntime stores the token as a secret and uses it only when it downloads a file.
What permissions does it need?
whatsapp_business_messaging. 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 “Save photos and files customers send on WhatsApp” from your assistant

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