Skip to main content

Send enquiries to Slack, Teams or your own software

7 min read Updated Nov 3, 2026

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

  1. Go to api.slack.com/apps and either create an app or open the one you already use.
  2. Choose Incoming Webhooks and turn them on.
  3. Add New Webhook to Workspace, pick the channel, and allow it.
  4. 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.

  1. In Teams, open the channel, then ⋯ → Workflows.
  2. Start from the template Post to a channel when a webhook request is received.
  3. Finish the setup and copy the address it gives you. It will be on a Power Automate address, not on webhook.office.com.
  4. 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.

Was this helpful?