---
title: Integrations
description: 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 |
| Email | 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

<Steps>
  <Step title="Install the Slack app">
    Go to **Settings > Integrations > Slack** and click **Add to Slack**. Authorize the Firmreader app in your Slack workspace.
  </Step>
  <Step title="Map channels">
    Link Firmreader channels to Slack channels. When a post is published in Firmreader, a summary is automatically posted to the linked Slack channel.
  </Step>
  <Step title="Configure formatting">
    Choose between a compact summary (title + link) or a rich preview (title, excerpt, and cover image).
  </Step>
</Steps>

### 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

<Steps>
  <Step title="Add a webhook endpoint">
    Go to **Settings > Integrations > Webhooks** and click **New Webhook**.
  </Step>
  <Step title="Enter the URL">
    Provide the HTTPS endpoint that will receive events.
  </Step>
  <Step title="Select events">
    Choose which events trigger the webhook. You can select all events or pick specific ones.
  </Step>
  <Step title="Save and test">
    Click **Save**, then **Send Test Event** to verify your endpoint receives the payload correctly.
  </Step>
</Steps>

### Webhook payload

```json
{
  "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.

```javascript
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.
