Send a PDF or Photo on WhatsApp with Claude, Now or Scheduled (2026)
The invoice is ready and the client reads WhatsApp, not email. Give Claude a link to the file, a caption and a time, and check afterwards that it was delivered.
Daniel Roth5 min read

On this page
- What kinds of files can Claude send on WhatsApp?
- Why does Claude need a link to the file?
- What do you need before you start?
- The prompt: send a PDF with a caption at a set time
- Photos and videos
- How do you check the file was delivered?
- Can you change or cancel it before it goes out?
- What can go wrong?
- Is it safe to let Claude send files?
- Related guides
- Frequently asked questions
The invoice is a PDF in a shared folder. The client answers on WhatsApp within minutes, and takes days over email. So you send it on WhatsApp, and that means finding the chat, attaching the file, typing the caption and remembering to do it at 9:00 and not at 22:00.
With the Blueticks WhatsApp MCP connector, you can tell Claude to do it. Claude sends the file with a caption, either right away or at the time you pick, and can check afterwards whether it was delivered. There is one catch, and it decides whether this works for you: Claude needs a link to the file. This guide explains why, and what to do about it.
What kinds of files can Claude send on WhatsApp?
The tools take an image, a video, an audio file or a document, with an optional caption and file name. Which tool you use depends on timing:
| Tool and action | What it does |
|---|---|
scheduled_messages, send | Sends the file at send_at, or right away if you give no time |
chats, send_message_media | Sends the file immediately |
A scheduled message holds exactly one kind of content: text, a file or a poll. If you want a sentence with the file, put it in the caption. The caption is part of the same message.
Why does Claude need a link to the file?
The tools accept the file in two forms: a public https link, or the file's data itself (base64) with its type. There is no field for a path on your computer, so Claude cannot reach into a folder on your machine and attach a file by name.
In practice, put the file somewhere it can be opened with a plain link, such as a shared-drive link set to "anyone with the link". Give that link to Claude. Delete or restrict the link after the file is sent, since anyone who has it can open it.
File data sent inline is capped in size, and a file that is too large is rejected. The other option the tool offers is a link, which is the one to use for bigger files. For anything bigger than a photo or a short document, use a link.
What do you need before you start?
A linked WhatsApp number in Blueticks and the connector added to Claude. If you have not done that, how to connect WhatsApp to Claude covers it. The connector URL is https://api.blueticks.co/mcp and you sign in with OAuth.
The full list of tools is in the WhatsApp MCP tools guide. The engine connected to your account has to be online for the send to go out.
The prompt: send a PDF with a caption at a set time
Paste this into a normal Claude chat and change the number, the link, the caption and the time:
Using Blueticks, schedule a WhatsApp message to +972501234567 for tomorrow at 09:00 (Asia/Jerusalem). It is a document: the file at https://example.com/invoice-1042.pdf, with the file name "Invoice 1042.pdf" and the caption "Hi, here is the invoice for October. Thank you!" Before you schedule it, check that the number is on WhatsApp, then show me the recipient, the file name, the caption and the send time, and wait for my yes.
Behind it, Claude makes these calls:
- Check the number.
utilsrunsvalidate_phone, which tells you whether the number is valid and registered on WhatsApp, and returns its chat id. - Check the date.
utilsrunscurrent_date_time, so "tomorrow at 09:00" becomes an exact time with the right offset. - Pause. Claude reads the plan back to you and waits.
- Schedule.
scheduled_messagesrunssendwith the link, the file type and name, the caption andsend_at.
The example link above is a placeholder. Use your own.
Photos and videos
The same prompt works for an image or a video. Say what it is: "it is an image", "it is a video". Put the caption in the prompt, and give a public link to the picture. For a group, use the group's name and let Claude look up its chat id. Claude gets it with chats and the search action.
How do you check the file was delivered?
Ask: "Did the invoice go out, and was it delivered?"
For a scheduled message, Claude gets the message by its id. Once the engine has sent it, the message has a WhatsApp message key. Claude passes the key to ack, which returns the delivery and read status. If there is no key yet, check the message's status: pending means it is still waiting for its time, while failed means the send did not go through (see "What can go wrong?").
The read status can be missing even when the person has read the message, for example when they have turned read receipts off. Treat "delivered" as the answer that matters.
Can you change or cancel it before it goes out?
Yes, while it is still waiting. update can change the link, the caption and the send time, and cancel removes the message. Ask in plain words: "move the invoice to 11:00" or "cancel the invoice message to +972501234567". After it has been sent, neither works.
What can go wrong?
- The link is not public. A link that needs a login cannot be fetched. Open it in a private window first. If it asks you to sign in, it is not public.
- The number is not on WhatsApp.
validate_phonetells you before you schedule, which is why the prompt starts with it. - The engine is offline. Check the engine status in Blueticks, reconnect WhatsApp, and ask again.
- A file that is too big. Use a link, not inline data.
- The wrong chat. Claude works from the chat id. When two chats share a name, ask it to name the id it will use.
Is it safe to let Claude send files?
A file sent to a client cannot be taken back, and a link in a caption or a document can carry private information. The connector's sending tools reach real people. Anthropic's custom connector guide says that during Research, Claude can use connector tools without further approval, so do this in a normal chat instead. When Claude asks for approval, read the recipient, the file name and the caption before you allow it, and avoid "Allow always" for a connector that can send messages.
The line "wait for my yes" in the prompt is a request to Claude. In a normal chat, your approval of each call is what stops an action.
Related guides
To find a file someone sent you instead, see finding WhatsApp files with Claude. To change or cancel a message that is waiting, there is rescheduling and cancelling with Claude. Plans and prices are on the pricing page, and you can start free.
Frequently asked questions
Can Claude send a PDF on WhatsApp? Yes. With the Blueticks connector, Claude can send a document, an image, a video or an audio file, with a caption, to a person or a group.
Can Claude attach a file from my computer? No. The tool takes a public https link or the file's data, and has no way to read a file by its path. Put the file behind a link and give Claude the link.
Can Claude send the file later? Yes. Give a time and Claude schedules it. Without a time, it is sent right away.
How do I know it was delivered? Ask Claude to check. It reads the message's delivery and read status once the message has been sent.
Can I cancel a file that is scheduled? Yes, until it has been sent. You can also change the caption, the link or the time.


