How to Send a Webhook From Apple Shortcuts
By Fwrd · · Updated
To send a webhook from Apple Shortcuts, add the Get Contents of URL action, paste the webhook address, set Method to POST, and build the Request Body as JSON. It works in any shortcut and can carry custom headers if the endpoint wants a key. For incoming texts, Fwrd’s action builds the request for you.
What you need: an iPhone with the Shortcuts app (it’s already on your phone) and a webhook address, such as a Discord or Slack channel webhook, a Zapier, Make or n8n trigger, or your own server. To use Fwrd, you also need iOS 26 or later.
What does Get Contents of URL do?
Get Contents of URL is Apple’s built-in action for talking to a web address: it sends a request and hands back the answer. With the method set to POST, it’s a webhook sender.
Apple’s Shortcuts User Guide page Request your first API (read 2026-10-17) says Show More reveals five methods: GET, POST, PUT, PATCH and DELETE. Switching to POST, PUT or PATCH adds a Request Body parameter, which lets you send JSON, a Form or a File. A webhook almost always wants POST with JSON.
How to send a webhook from a shortcut
Start a shortcut. Open Shortcuts and tap + to make a new shortcut.
Add the action. Search for Get Contents of URL and add it. Tap its URL field and paste your whole webhook address.
Set the method. Tap Show More on the action, then change Method from GET to POST.
Build the JSON body. Set Request Body to JSON and add a text field. Its key is the name your service reads: Discord reads
contentand Slack readstext. Type your message as the value, or pick a variable from an earlier step.Add a header if the endpoint needs one. The action’s options also take headers, as Matthew Cassinelli’s Get Contents of URL reference lists. A common one is the key
Authorizationwith the valueBearer, a space, and your token. Discord and Slack webhooks need none.Run it. Tap the play button. The message lands in your channel or workflow, and whatever the server answers comes back as the action’s output.
What does the JSON body look like?
With one text field named content, Shortcuts sends a body like this, which is all a Discord webhook needs:
{
"content": "Hello from Shortcuts"
}
Discord’s webhook documentation asks for one of content, file, embeds or poll. For Slack, name the field text instead, as in Slack’s incoming webhook guide. Zapier, Make and n8n take any field names you like.
How do you send incoming texts to a webhook?
Put the same action inside a Message automation, so it runs each time a matching text arrives. Fwrd’s action builds the body for you, so the automation only has to hand it the text.
The automation part is the same either way: in Shortcuts, create a Message automation, choose Message Contains with a word your texts share, and make it run without asking. On iOS 26, that means Run Immediately, then tap Next and Create New Shortcut. The automation guide walks through iOS 26 and iOS 27 step by step.
Here is the setup:
- In Fwrd. Add a Webhook destination in Fwrd and paste your HTTPS address. Then add Fwrd’s Forward Message to All Destinations to the automation (on iOS 26, tap Add Action first) and set its Message to Shortcut Input (on iOS 26, Shortcut Input, then Message). Forward iPhone SMS to a webhook has every tap.
Fwrd posts JSON with content and text, both holding the message exactly as it arrived, so receivers that read either field get it. Turn on Include Who Sent It in Fwrd’s Settings and fill in the Sender field on Fwrd’s action, and the body also gets a sender field. Each text carries an Idempotency-Key header that stays the same on every attempt, so your server can drop repeats. The webhook guide covers the server side, and Zapier, Make or n8n has the steps for each one.
What Fwrd adds for texts
| Get Contents of URL | Fwrd’s action | |
|---|---|---|
| Custom headers | Yes, any you add | No; it sends no login header |
| JSON body | You build each field | content and text, plus sender if you turn it on |
| Where the address lives | Inside the shortcut | The iPhone’s Keychain |
| Choosing which texts | The automation’s word, plus If actions you add | The automation’s word, plus filters for words, codes and hours |
The pieces that matter for texts:
- No account. Fwrd has no sign-in and no Fwrd server; each text goes from your iPhone straight to your URL.
- Retries. If a send times out, gets a 429 or a 5xx, or loses its connection, Fwrd tries again, up to twice.
- Eight destinations from one action. Email, another phone or iMessage, WhatsApp, Discord, Slack, Microsoft Teams, Telegram and your own webhook. Fwrd posts to the last five itself and hands texts to Apple’s or WhatsApp’s own send action for the first three.
- A history on the phone shows each forward and whether it was delivered.
What each one can’t do
- Fwrd can’t add custom headers. It sends no login header, so the endpoint has to accept the request without one, as Discord, Slack, Zapier, Make and n8n webhooks do.
- Fwrd needs a public HTTPS address. It turns down IP addresses and names ending in .local, .internal and similar, and it refuses redirects, so paste the final address. For n8n, paste the production URL, not the test URL, and publish the workflow; n8n’s Webhook node docs say that’s when the production URL starts answering.
- Shortcuts can’t do every login. Apple’s API limitations page says Shortcuts can’t handle OAuth 2 logins that need you to type a username and password on a login page.
- Texts need the phone on. For incoming texts, the iPhone must be on and online, and only new texts that match the automation are sent.
Questions people ask next
Can a shortcut send a GET request instead?
Yes. Leave Method on GET, the default, and Get Contents of URL fetches the address and returns what the server sends back. Some services trigger on a plain GET with values in the URL.
Can I send form data instead of JSON?
Yes. Set Request Body to Form and add fields the same way. Apple’s guide lists JSON, Form and File as the three Request Body choices.
Does Fwrd work with Zapier, Make or n8n?
Yes. Paste a Zapier catch hook, a Make custom webhook or an n8n Webhook node’s production URL into Fwrd’s Webhook destination, with the n8n workflow published, and each matching text starts your workflow.
What does Fwrd cost?
Fwrd is free for 15 forwards a month, and a text counts once however many places it goes. Fwrd Pro removes the limit for $4.99 a month or $29.99 a year in the US.
Want your texts sent to a webhook for you?
Fwrd adds one action to Shortcuts that posts each matching text from your iPhone to your HTTPS webhook as JSON. No account. Start with 15 free forwards each month.
Free for 15 forwards a month. Pro removes the limits on forwards and filters and adds a Never Forward list, for $4.99/month or $29.99/year, with a 7-day free trial on the yearly plan for eligible customers.
iPhone · iOS 26 or later