Slack & Microsoft Teams
Post Crove document events into a Slack or Teams channel via incoming webhooks.
Slack & Microsoft Teams
Crove doesn't have a first-party Slack or Teams connector yet, but the two most common workflows — a ping in #deals when a contract is signed and a ping in #ops when a public form is submitted — work today via Crove's outgoing webhooks plus Slack/Teams' native incoming-webhook URLs.
This page walks through both.
Prerequisites
- A Crove workspace with owner or admin access
- A Slack workspace or Microsoft Teams team where you can install incoming webhooks
Slack
1. Create a Slack incoming webhook
- Go to api.slack.com/apps → Create New App → From scratch
- Give it a name (e.g. "Crove events") and pick the workspace
- Under Features, click Incoming Webhooks and flip the toggle to On
- Click Add New Webhook to Workspace, pick the target channel, and Allow
- Copy the webhook URL — looks like
https://hooks.slack.com/services/T.../B.../XXXXX
2. Wire it into Crove
- In Crove: Settings → Webhooks → Add webhook
- Paste the Slack URL in the Endpoint field
- Subscribe to the events you care about (typical starter set:
document.completed,document.sent,response.submitted) - Save
Crove's default webhook payload is JSON shaped around the document — Slack's incoming-webhook accepts any JSON, but it only renders messages that use Slack's text / blocks format. For a nicely-formatted message you'll want a transformer:
3. Transform the payload (optional but recommended)
Route through any of the following free transformers:
Zapier — Webhook by Zapier (Catch Raw Hook) → Code by Zapier → Slack (Send Channel Message). Example transform:
const p = JSON.parse(inputData.payload);
return {
text: `📄 *${p.document.name}* was signed by ${p.document.respondents.map((r) => r.email).join(", ")}`,
attachments: [
{
color: "#16a34a",
fields: [
{ title: "Signed at", value: p.document.completedAt, short: true },
{ title: "PDF", value: `<${p.document.pdfUrl}|Download>`, short: true },
],
},
],
};Pipedream — drop a Node.js step between the Crove webhook and the Slack step. Same transform as above, same result.
Slack Workflow Builder — accept the raw JSON as-is, use the Workflow Builder step to pluck out fields. Zero-code but slightly more limited.
4. Test
Trigger the event (e.g. send a test document and have someone sign it). The Slack message should land in the target channel within 2–3 seconds of the webhook firing.
Microsoft Teams
1. Create a Teams incoming webhook
- In Teams, right-click the target channel → Connectors → search Incoming Webhook
- Click Configure, give it a name and optional image
- Copy the webhook URL (looks like
https://outlook.office.com/webhook/...)
2. Wire it into Crove
Same as Slack above — Settings → Webhooks → Add webhook, paste the URL, pick events.
3. Transform (recommended)
Teams expects an Adaptive Card payload. Route through Pipedream, Zapier, or Make with a transform like:
const p = JSON.parse(inputData.payload);
return {
type: "message",
attachments: [
{
contentType: "application/vnd.microsoft.card.adaptive",
content: {
type: "AdaptiveCard",
version: "1.4",
body: [
{
type: "TextBlock",
text: `${p.document.name} was signed`,
weight: "Bolder",
size: "Medium",
},
{
type: "TextBlock",
text: `Completed ${p.document.completedAt}`,
isSubtle: true,
},
],
actions: [
{
type: "Action.OpenUrl",
title: "Download PDF",
url: p.document.pdfUrl,
},
],
},
},
],
};Roadmap
A first-party Slack/Teams connector (pick channel, pick events, no transformer step) is on the roadmap for later this year. If that's a blocker, reply to our onboarding email and we'll loop you into the beta.