Send enquiries to Slack, Teams or your own software
Most small teams do not have a CRM, and do not want one. What they want is for whoever is on shift to see the enquiry without opening anything. This puts each one in the channel they already have open.
It is the same mechanism as the CRM destinations: same enquiries, same retries, same health reporting. Only the shape of the message differs.
Slack
Get a webhook address
- Go to api.slack.com/apps and either create an app or open the one you already use.
- Choose Incoming Webhooks and turn them on.
- Add New Webhook to Workspace, pick the channel, and allow it.
- Copy the address. It starts
https://hooks.slack.com/services/.
Treat that address as a password. Anyone who has it can post into that channel, as your app, for as long as it exists. Webkio stores it and never shows it back to you, so changing channel means pasting a new one rather than editing the old.
Add it in Webkio
Project settings → CRM → Slack, paste the address, tick which enquiries to send, Add destination.
What the message looks like
A heading saying what happened and who it was from, then their message, then the details worth having without opening anything else: email, phone, company if you collected one, the page they were on, and any extra fields your form has. The site's name sits underneath, which matters once you run more than one.
Slack confirms whether it accepted the message, so a wrong or revoked address shows as a real error on the destination card rather than as silence.
Microsoft Teams
Teams needs one extra step, and the reason is worth knowing: Microsoft retired Office 365 connectors
in Teams on 22 May 2026. The webhook.office.com addresses they used to issue no longer work, so
any guide telling you to paste one of those is out of date. The replacement is a Workflow, built
on Power Automate, which is included with Microsoft 365 for this kind of trigger.
- In Teams, open the channel, then ⋯ → Workflows.
- Start from the template Post to a channel when a webhook request is received.
- Finish the setup and copy the address it gives you. It will be on a Power Automate address, not on
webhook.office.com. - In Webkio choose Webhook (JSON) rather than Slack, paste the address, and add the destination.
Your enquiries arrive in the flow as the JSON below, and you decide in the flow how the Teams message should read.
Why there is no "Microsoft Teams" option in the list
Because the message you would get is built by your own flow, not by us. A Teams-branded option posting a fixed body into a workflow somebody else designed would be a webhook wearing a logo, and it would break the first time Microsoft changed the template. Calling it a webhook is the honest version, and it is the same three minutes of setup.
Make, n8n, Zapier, or your own software
Same thing: choose Webhook (JSON), paste the address of your scenario, workflow or endpoint.
The address must be https. Plain http is refused, and so is anything that resolves to a private or internal address, which stops a destination being pointed at something inside a network it should not reach.
What we post
{
"event": "Website enquiry",
"site": "Haldon Farm Shop",
"name": "Ada Lovelace",
"first_name": "Ada",
"last_name": "Lovelace",
"email": "[protected]",
"phone": "+1 202 555 0143",
"company": "",
"message": "Do you deliver to Austin?",
"page": "https://haldonfarm.example/contact",
"fields": { "Budget": "5000" }
}
| Field | What it holds |
|---|---|
event |
What the visitor did: a website enquiry or a property enquiry |
site |
Which of your sites it came from |
name, first_name, last_name |
As given. A single word is treated as the last name |
email, phone, company |
As typed. Empty when your form did not collect it |
message |
What they wrote |
page |
The page they were on, when we know it |
fields |
Any extra fields your form collects, by their own names |
Those names are a contract. We will add to them; we will not rename one, because something of yours is reading them.
Check it
Press Send test on the destination and a clearly marked message should appear in the channel within a second or two. Slack tells us whether it accepted the message, so a revoked or mistyped address is named on the card rather than failing silently.
Recent deliveries lists the last twenty attempts, which is the place to look when somebody says they sent an enquiry and nobody saw it.
There is no field mapping here
The CRM destinations let you say which of their fields each of ours should fill. These two do not, and it is not an omission: a Slack message is not a record, so there is nothing to point a field at, and the webhook's JSON keys are a contract that something of yours is already reading - quietly renaming one would break it.
If you need a different shape in Teams or in your own software, build it in the flow or in your own code from the JSON above, which is the place that knows what shape you want.
What this does not do
- It does not reply to anyone. A message in a channel is a notification, not a conversation with the customer.
- It is one way. Nothing you do in Slack or Teams comes back to Webkio.
- It does not replace your inbox. Every enquiry is still in your Inbox, and still emails you.
- It is not a queue. If nobody reads the channel, nothing escalates.
When it is not working
| What you see | What it usually is |
|---|---|
Check these: Slack webhook URL when saving |
The address is not a hooks.slack.com/services/... one. A channel link or an app page does this |
Card says channel_not_found |
The channel was archived or renamed, or the app was removed from it |
Card says invalid_payload |
Almost always a webhook address that is not actually Slack's. Use Webhook (JSON) for anything else |
| Nothing arrives in Teams, no error on the card | Your flow accepted the request and then did not post. Check the run history in Power Automate |
Check these: Webhook URL when saving |
The address is not https, or is not a public address |
| Switched off after repeated failures | Ten consecutive failures. Fix it, then press Resume, which clears the count |
Frequently asked questions
Can I send enquiries to Slack and to a CRM at the same time?
Yes. Add both destinations. Each one chooses its own enquiries, so you can notify the channel about everything and send only property enquiries to the CRM.
Will this post spam into our channel?
No. Messages scored as spam are never sent to any destination, which is the one place a false positive costs nothing.
Can I choose which channel each kind of enquiry goes to?
Yes. Create a webhook address per channel in Slack, add one destination for each, and tick different enquiries on each.
Does the visitor wait while this happens?
No. The enquiry is saved and answered first, and sending happens afterwards, so a channel being unreachable never slows the form or shows an error.
Why does my Teams webhook address not start with webhook.office.com?
Because those addresses belonged to Office 365 connectors, which Microsoft retired on 22 May 2026. A Workflow address is the current one, and it is the one to paste.