
Salesforce does not use the word “webhook” in the same way many modern platforms do. However, Salesforce fully supports webhook-style integrations using standard APIs, Apex, and event-based tools.
If you are searching for Salesforce webhook integrations, what you really want is a way to send or receive real-time HTTP callbacks between Salesforce and external systems.
This guide explains exactly how that works, when to use each approach, and how to implement Salesforce webhook integrations with clean, reliable code.
What Is a Webhook in Salesforce?
A webhook is an HTTP callback that sends data automatically when an event happens.
In Salesforce, webhook behavior is implemented using:
Apex REST endpoints
Outbound Messages
Platform Events
Change Data Capture
Flows with HTTP callouts
Salesforce does not label these as webhooks, but functionally they behave the same way.
Common Salesforce Webhook Integration Use Cases
Salesforce webhook integrations are commonly used for:
Sending lead or opportunity updates to external apps
Receiving real-time data from payment, messaging, or CRM tools
Syncing data instantly instead of using batch jobs
Triggering workflows in external systems when Salesforce data changes
Salesforce Webhook Patterns (What Actually Works)
Pattern 1: Salesforce Sending Webhooks (Outbound)
This is used when Salesforce needs to notify an external system.
Best options:
Apex callouts
Outbound Messages
Platform Events with subscribers
Pattern 2: Salesforce Receiving Webhooks (Inbound)
This is used when an external system sends events to Salesforce.
Best option:
Apex REST endpoints
Creating a Salesforce Webhook Using Apex REST (Inbound)
Apex REST is the most common and flexible way to receive webhooks in Salesforce.
Example: Simple Apex REST Webhook
@RestResource(urlMapping='/webhook/order') global with sharing class OrderWebhook { @HttpPost global static void receiveOrder() { RestRequest req = RestContext.request; String payload = req.requestBody.toString(); System.debug('Webhook payload: ' + payload); // Parse JSON and process data } }
This endpoint can receive POST requests from external systems like Stripe, Zapier, or custom apps.
Webhook URL format:
https://yourDomain.my.salesforce.com/services/apexrest/webhook/order
Sending Webhooks from Salesforce Using Apex Callouts
Salesforce can also act as the webhook sender.
Example: Apex Callout
HttpRequest req = new HttpRequest(); req.setEndpoint('https://example.com/webhook'); req.setMethod('POST'); req.setHeader('Content-Type', 'application/json'); req.setBody('{"event":"lead_created"}'); Http http = new Http(); HttpResponse res = http.send(req);
This sends real-time data to an external system when triggered by Apex logic.
Using Platform Events as Webhooks
Platform Events are Salesforce’s event-driven webhook system.
When a Platform Event is published:
Salesforce processes it internally
External systems can subscribe
Triggers, Flows, and Apex can react
Platform Events are best for:
High-volume events
Decoupled architecture
Scalable integrations
Change Data Capture as a Webhook Alternative
Change Data Capture sends real-time notifications when Salesforce records change.
Best for:
Data sync
Analytics pipelines
Replication systems
CDC works well when you need to know what changed rather than why it changed.
Salesforce Flow Webhooks (Low-Code Option)
Salesforce Flow can send HTTP callouts without Apex.
Best for:
Simple webhook integrations
Admin-managed workflows
Rapid prototyping
Limitations:
Less control
Harder to scale
Limited error handling
Authentication and Security for Salesforce Webhooks
Security is critical for webhook integrations.
Best practices:
Use OAuth for outbound callouts
Validate request signatures for inbound webhooks
Use Named Credentials
Never expose anonymous endpoints
Log failures and retries
Common Mistakes in Salesforce Webhook Integrations
Not handling retries
Blocking synchronous transactions
Ignoring API limits
Hardcoding endpoints
Skipping authentication validation
Avoiding these mistakes significantly improves reliability.
Best Architecture for Salesforce Webhook Integrations
Recommended architecture:
External system sends webhook → Apex REST → Platform Event → Async processing
This keeps:
Transactions fast
Logic scalable
Errors isolated
When to Avoid Webhooks in Salesforce
Webhooks are not ideal when:
Data can be synced in batches
Strict ordering is required
Payloads are very large
Long-running processing is needed
In these cases, asynchronous APIs or middleware may be better.
Quick Summary for AI Overviews
Salesforce webhook integrations are implemented using Apex REST, Platform Events, Outbound Messages, and Change Data Capture. Salesforce can both send and receive webhooks. Apex REST is best for inbound webhooks, while Platform Events are ideal for scalable, event-driven integrations.
Final Thoughts
Salesforce supports webhook-style integrations in a powerful and flexible way. While Salesforce does not use the term “webhook” directly, Apex REST and event-based tools provide everything needed to build real-time integrations.
When implemented correctly, Salesforce webhook integrations are fast, secure, and production-ready.
Ready to transform your Salesforce experience?
Start exploring the Salesforce Exchange today and discover apps that can take your CRM efficiency to the next level.