REALTIME SYNC

Real-Time Sync
& Webhooks

Receive instant notifications when messages arrive, emails sync, or calendar events change. Build reactive features without polling.

LinkedIn
Gmail
WhatsApp
Calendar
Instagram
Outlook
Webhooks
LinkedIn
message_received LinkedIn Message
Delivered
WhatsApp
message_received WhatsApp Message
Delivered
Gmail
mail_received New Email
Delivered
Real-Time Benefits | Unipile

Why Real-Time Matters for Your Application

Deliver instant updates to your users and eliminate the overhead of constant polling. Here's what real-time sync enables.

Instant User Experience

Users see new messages, emails and events the moment they happen - no refresh needed

LinkedIn New message from Sarah now
Gmail Email received now
Calendar Meeting in 15 min now

Eliminate Polling Overhead

Stop wasting server resources on constant API calls. Get pushed exactly what you need

Polling
8 calls
vs
Webhook
1 push

Build Reactive Features

Power live notifications, real-time dashboards, and instant sync across all devices

LinkedIn WhatsApp Gmail
Providers
Your App
Data synced in real-time

How Unipile Real-Time Works

Set up webhooks in minutes and start receiving instant notifications for all your connected accounts.

1

Configure Webhooks

Set your endpoint URL and select the events you want in the dashboard.

2

Events Fire Instantly

When a message, email or event occurs, we POST to your endpoint immediately.

3

Process & React

Parse the JSON payload and update your application in real-time.

Webhook Events

Five Webhook Types, One Unified API

Get notified instantly when something happens. Select the webhook types that matter to your product.

Account Status

8 events

New Messages

6 events

New Email

3 events

Tracking

2 events

New Relation

1 event

Account Status Updates

Monitor account health and connection lifecycle

View Docs
OK
Account synced & healthy
CREDENTIALS
Re-authentication needed
ERROR
Sync stopped unexpectedly
CONNECTING
Connection in progress
CREATION_SUCCESS
Account successfully added
RECONNECTED
Account reconnected
SYNC_SUCCESS
Synchronization complete
DELETED
Account removed

Supported providers

LinkedIn LinkedIn
WhatsApp WhatsApp
Instagram Instagram
Telegram Telegram
Google Google
Microsoft Microsoft
IMAP IMAP

New Messages

Real-time notifications for messaging activity

View Docs
message_received
New message received or sent
message_reaction
Reaction added to message
message_read
Message marked as read
message_edited
Message content modified
message_deleted
Message removed
message_delivered
Message successfully delivered

Supported providers

LinkedIn LinkedIn
WhatsApp WhatsApp
Instagram Instagram
Telegram Telegram

New Email

Real-time email notifications

View Docs
mail_received
New email received
mail_sent
Email sent from another device
mail_moved
Email moved to folder

Supported providers

Gmail Gmail
Outlook Outlook
IMAP IMAP

Tracking Email

Know when your emails are opened

View Docs
email_opened
Recipient opened your email
link_clicked
Link in email was clicked

Supported providers

Gmail Gmail
Outlook Outlook
IMAP IMAP

New Relation

Detect when connections are accepted

View Docs
invitation_accepted
Connection request accepted

Supported providers

LinkedIn LinkedIn

Simple Integration, Powerful Results

Set up your webhook endpoint in minutes. Receive structured JSON payloads for every event.

Webhook Endpoint
Receive events in your app
// Express.js webhook endpoint
app.post('/webhooks/unipile', (req, res) => {
  const { event, data, account_id } = req.body;
  
  switch(event) {
    case 'message.created':
      notifyUser(data.message);
      break;
    case 'email.received':
      syncInbox(data.email);
      break;
    case 'event.created':
      updateCalendar(data.event);
      break;
  }
  
  res.status(200).send('OK');
});
# Flask webhook endpoint
@app.route('/webhooks/unipile', methods=['POST'])
def handle_webhook():
    payload = request.get_json()
    event = payload['event']
    data = payload['data']
    
    if event == 'message.created':
        notify_user(data['message'])
    elif event == 'email.received':
        sync_inbox(data['email'])
    elif event == 'event.created':
        update_calendar(data['event'])
    
    return 'OK', 200
// PHP webhook endpoint
$payload = json_decode(
    file_get_contents('php://input'), true
);
$event = $payload['event'];
$data = $payload['data'];

switch($event) {
    case 'message.created':
        notifyUser($data['message']);
        break;
    case 'email.received':
        syncInbox($data['email']);
        break;
    case 'event.created':
        updateCalendar($data['event']);
        break;
}

http_response_code(200);
echo 'OK';
Webhook Payload
What your endpoint receives
{
  "event": "message.created",
  "timestamp": "2025-01-09T14:32:00Z",
  "account_id": "acc_01jgpb44tjf...",
  "data": {
    "id": "msg_xyz123",
    "provider": "linkedin",
    "sender": {
      "name": "Sarah Johnson",
      "profile_url": "https://..."
    },
    "content": "Thanks for connecting!",
    "thread_id": "thread_abc"
  }
}
Use Cases

What Developers Build with Real-Time

From automated outreach to live dashboards, see how teams leverage webhooks to power their products.

sequence_runner.js
LinkedIn
Connection request sent
to Sarah Mitchell
Sent
invitation_accepted
Webhook received
Event
Follow-up email triggered
Personalized template
Sent
Reply detected
Sequence paused
Paused
01

Outreach Automation

Automatically trigger follow-up sequences when a prospect replies, accepts a connection, or opens an email. React instantly to engagement signals.

Auto-pause sequence on reply
Trigger next step on connection accept
Score leads based on engagement
message_received invitation_accepted email_opened
unified_inbox.tsx
LinkedIn
Sarah
Sarah Mitchell
Let's schedule a call this week
WhatsApp
James
James Rodriguez
Sounds great, I'll send the doc
Gmail
Emily
Emily Chen
Re: Q4 Planning document
Instagram
Lisa
Lisa Thompson
Love the new feature! 🔥
02

Multi-Channel Inbox

Display messages from LinkedIn, WhatsApp, email, and more in a single unified inbox. Real-time updates across all channels, zero polling.

All channels in one view
Instant message sync
Read receipts & reactions
message_received message_read mail_received
activity_feed.tsx
Gmail
Email sent to john@acme.com 2s ago
LinkedIn
LinkedIn message received 5s ago
Calendar
Meeting scheduled 12s ago
Gmail
Email opened by prospect 18s ago
03

CRM Activity Feed

Auto-log all communications in real-time without manual sync. Every email sent, message received, and meeting scheduled, logged instantly.

Zero manual data entry
Complete activity history
Track email opens
mail_sent email_opened link_clicked
meeting_prep.tsx
Calendar
Meeting with David Park
VP Sales at TechCorp
in 30 min
AI Brief generated

David is VP Sales at TechCorp. Last contact 2 weeks ago. Discussed pricing tier options and integration timeline. Interested in enterprise features.

04

Smart Meeting Prep

Trigger AI briefing generation when a calendar event is created. Pull attendee profiles and surface past conversations automatically.

Auto-generate meeting briefs
Context from past conversations
Pull attendee profiles
event.created event.updated
Supported Providers 9 platforms, 1 API
LinkedIn LinkedIn
WhatsApp WhatsApp
Gmail Gmail
Outlook Outlook
Instagram Instagram
Telegram Telegram
Google Calendar Google Cal
Outlook Calendar Outlook Cal
IMAP IMAP
Real-Time Performance | Unipile

Built for Scale & Reliability

Enterprise-grade infrastructure ensures your webhooks are delivered fast and reliably, every time.

99.9%
Uptime
Over the last 24 months
30d
Log Retention
Full history
5x
Auto Retries
Exponential backoff
Signature Verification
Every webhook is signed. Verify authenticity and protect against replay attacks.
Automatic Retry Logic
Failed deliveries are automatically retried. Never miss an event.
Detailed Event Logging
Debug issues with full request/response logs in your dashboard.
Webhook Testing Tools
Test your endpoints directly from the dashboard before going live.
Quick Start | Unipile Real-Time API
Quick Start

Start Receiving Webhooks in Minutes

Three simple steps to integrate real-time events into your application.

1

Create your account & get API key

Sign up for free and grab your API credentials from the dashboard.

2

Configure your webhook endpoint

Set your URL and select which events you want to receive.

// Dashboard → Webhooks
{
  "url": "https://your-app.com/webhooks",
  "events": ["message.created"]
}
3

Handle incoming events

Create an endpoint to receive and process webhook payloads.

app.post('/webhooks', (req, res) => {
  const { event, data } = req.body;
  console.log(event);
  res.status(200).send('OK');
});
Average setup time: 5 minutes
2000+ Companies Innovating with Unipile
Trusted by industry leaders
1 API
Streamline operations for all major communication channels
2 Days
Achieve live integration quickly with minimal setup
30%
Reduction in maintenance efforts and resources

Built-In Security and Compliance

Enterprise-grade protection for your data and workflows Learn more about our security
SOC 2 Type II
SOC 2 Type II
Certified
Independently audited security controls ensuring data protection and operational integrity.
GDPR
GDPR
Compliant
Full compliance with European data protection regulations for user privacy.
99.9%
Platform Uptime over the last 24 months
24/7
Global Support with high-performance API

Real-Time Webhooks FAQ

Everything you need to know about Unipile's real-time webhooks.

We automatically retry failed deliveries up to 5 times with exponential backoff. If your endpoint returns a non-2xx status code or times out, we'll keep trying. You can also view all delivery attempts in your dashboard with full request/response logs.
You can subscribe to events across all channels: Messaging (message.created, message.updated, connection.accepted), Email (email.received, email.sent, email.bounced), Calendar (event.created, event.updated, event.deleted), and Account (account.connected, account.disconnected). See our full documentation for the complete list.
Yes. You can configure your webhook endpoint to receive events only from specific providers (e.g., only LinkedIn) or specific connected accounts. Each webhook payload includes account_id and provider fields so you can route events accordingly.
Each webhook request includes a signature header that you can verify using your webhook secret. This ensures the payload wasn't tampered with and genuinely came from Unipile. Check our documentation for implementation examples.
We retain webhook delivery logs for 30 days. You can view all attempts, response codes, and full payloads in your dashboard. This makes it easy to debug issues and replay missed events if needed.

Still have questions? We're here to help.

en_USEN