Integrations
Connect Firmreader with Slack, Teams, email, and your existing tools
Firmreader integrates with the tools your team already uses, so important updates reach people wherever they work.
Available integrations
| Integration | What it does |
|---|---|
| Slack | Post summaries to Slack channels, subscribe to Firmreader channels via Slack |
| Microsoft Teams | Deliver posts as Teams messages and adaptive cards |
| Send posts as formatted emails to distribution lists | |
| Google Workspace | SSO login and Google Groups sync |
| Okta | SSO and automated user provisioning (SCIM) |
| Zapier | Connect Firmreader to 5,000+ apps with no-code workflows |
| Webhooks | Send real-time events to any HTTP endpoint |
Slack
Setup
Go to Settings > Integrations > Slack and click Add to Slack. Authorize the Firmreader app in your Slack workspace.
Link Firmreader channels to Slack channels. When a post is published in Firmreader, a summary is automatically posted to the linked Slack channel.
Choose between a compact summary (title + link) or a rich preview (title, excerpt, and cover image).
Slack commands
| Command | Description |
|---|---|
/firmreader latest | Show the most recent posts from your subscriptions |
/firmreader search [query] | Search posts from Slack |
/firmreader subscribe [channel] | Subscribe to a Firmreader channel |
Microsoft Teams
Setup
Go to Settings > Integrations > Microsoft Teams and click Connect. Sign in with your Microsoft admin account and grant the required permissions.
Posts are delivered as adaptive cards in Teams channels, with a link back to the full post in Firmreader.
Webhooks
Send real-time events to any URL when things happen in your workspace.
Event types
| Event | Payload |
|---|---|
post.published | Full post object with channel and author |
post.updated | Updated post with diff of changes |
post.deleted | Post ID and deletion metadata |
channel.created | New channel details |
member.joined | New member info and teams |
Creating a webhook
Go to Settings > Integrations > Webhooks and click New Webhook.
Provide the HTTPS endpoint that will receive events.
Choose which events trigger the webhook. You can select all events or pick specific ones.
Click Save, then Send Test Event to verify your endpoint receives the payload correctly.
Webhook payload
{
"event": "post.published",
"timestamp": "2026-02-24T10:30:00Z",
"data": {
"id": "post_abc123",
"title": "Q1 Company Update",
"channel": {
"id": "ch_company_news",
"name": "Company News"
},
"author": {
"id": "usr_def456",
"name": "Sarah Chen"
},
"url": "https://yourcompany.firmreader.com/posts/post_abc123"
}
}
Webhook security
Every webhook request includes a X-Firmreader-Signature header containing an HMAC-SHA256 signature of the payload. Verify this signature using the webhook secret provided when creating the endpoint.
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}
Zapier
Connect Firmreader to thousands of apps without writing code. Common use cases:
- Publish a Firmreader post when a new blog post goes live
- Create a Firmreader post from a Google Form submission
- Sync Firmreader posts to a Notion database
- Send Firmreader digests to a WhatsApp group
Search for "Firmreader" in the Zapier app directory to get started.