Integrations
Extend Zyphr by connecting with third-party messaging services and automation platforms. You can configure integrations through the Dashboard and send messages via the API.
Slack
Connecting Slack
Via Dashboard
- Navigate to Integrations in the sidebar
- Find Slack and click Connect
- Authorize Zyphr in the Slack OAuth popup
- Select the channels you want to use
- The connection status shows as Active once complete
Via API
# Get the Slack OAuth authorization URL
curl https://api.zyphr.dev/v1/slack/oauth/authorize \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
# After OAuth callback, check the config
curl https://api.zyphr.dev/v1/slack/config \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Sending Slack Messages
Via API
curl -X POST https://api.zyphr.dev/v1/slack/send \
-H "X-API-Key: zy_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"channel": "#notifications",
"text": "New signup: user@example.com"
}'
Managing the Connection
Via Dashboard
On the Integrations page:
- View connection status (Active/Revoked/Expired)
- View connected workspace and channels
- Disconnect — Remove the Slack integration
Via API
# Disconnect Slack
curl -X DELETE https://api.zyphr.dev/v1/slack/config \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Discord
Connecting Discord
Via Dashboard
- Navigate to Integrations in the sidebar
- Find Discord and click Connect
- Authorize Zyphr in the Discord OAuth popup
- Select the server and channels
Via API
# Get the Discord OAuth authorization URL
curl https://api.zyphr.dev/v1/discord/oauth/authorize \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Sending Discord Messages
curl -X POST https://api.zyphr.dev/v1/discord/send \
-H "X-API-Key: zy_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"channel_id": "CHANNEL_ID",
"content": "New signup: user@example.com"
}'
Microsoft Teams
Connecting Microsoft Teams
Via Dashboard
- Navigate to Integrations in the sidebar
- Find Microsoft Teams and click Connect
- Authorize Zyphr in the Microsoft OAuth popup
- Select the team and channel
Via API
# Get the Teams OAuth authorization URL
curl https://api.zyphr.dev/v1/teams/oauth/authorize \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Sending Teams Messages
curl -X POST https://api.zyphr.dev/v1/teams/send \
-H "X-API-Key: zy_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"channel_id": "CHANNEL_ID",
"text": "New signup: user@example.com"
}'
Zapier
Zapier connects Zyphr to 7,000+ apps without writing code. Use Zyphr as a trigger (react to events like email delivery, bounces, or new subscribers) or as an action (send emails, SMS, push notifications, Slack messages, and more from any Zap).
Zapier is an outbound integration — you configure it from Zapier's side using your Zyphr API key. There is no connection to manage in the Zyphr dashboard.
Setting Up Zapier
- Log in to Zapier and create a new Zap
- Search for Zyphr in the app directory
- Connect your Zyphr account by entering your API key (found in Dashboard → API Keys)
- Choose a trigger or action and configure your Zap
Available Triggers
Triggers fire when something happens in Zyphr. Under the hood, Zapier creates a webhook subscription that Zyphr delivers events to automatically.
| Trigger | Event Type | Description |
|---|---|---|
| Email Delivered | email.delivered | Fires when an email is successfully delivered |
| Email Bounced | email.bounced | Fires when an email bounces |
| Email Opened | email.opened | Fires when a recipient opens an email |
| Email Link Clicked | email.clicked | Fires when a recipient clicks a link |
| Email Sent | email.sent | Fires when an email is sent to the provider |
| Email Failed | email.failed | Fires when an email fails to send |
| Push Sent | push.sent | Fires when a push notification is sent |
| Push Failed | push.failed | Fires when a push notification fails |
| User Created | user.created | Fires when a new end-user registers |
| User Login | user.login | Fires when an end-user logs in |
Available Actions
Actions let other apps trigger Zyphr notifications.
| Action | Description |
|---|---|
| Send Email | Send an email (with optional template support) |
| Send SMS | Send an SMS message |
| Send Push Notification | Send a push notification to a subscriber's device |
| Send In-App Notification | Send a notification to a subscriber's inbox |
| Send Slack Message | Send a Slack message through a Zyphr-connected workspace |
| Send Discord Message | Send a Discord message through a Zyphr-connected server |
| Send Microsoft Teams Message | Send a Teams message through a Zyphr-connected team |
| Create or Update Subscriber | Create a new subscriber or update an existing one |
Available Searches
| Search | Description |
|---|---|
| Find Subscriber | Look up a subscriber by email or external ID |
| Find Template | Look up a template by name |
Authentication
Zapier uses your Zyphr API key for authentication. The key is sent as an X-API-Key header on every request.
- Live keys (prefix
zy_live_) send real notifications - Test keys (prefix
zy_test_) operate in test mode — messages are logged but not delivered
You can create and manage API keys from the API Keys page in the Zyphr dashboard.
Example Zaps
Here are some common Zaps you can build with Zyphr:
- Stripe → Zyphr: Send a welcome email when a new customer is created
- Typeform → Zyphr: Create a subscriber when a form is submitted
- Zyphr → Google Sheets: Log email bounces to a spreadsheet for review
- Zyphr → Slack: Post to a channel when a push notification fails
- GitHub → Zyphr: Send an in-app notification when a PR is merged
Managing Integrations
All integrations can be managed from the Integrations page in the Dashboard sidebar:
- View status — See which integrations are connected and their health
- Reconnect — Re-authorize if a connection expires
- Disconnect — Remove an integration entirely
- Configure routing — Choose which events are forwarded to which channels