Webhook call routing
Sometimes standard routing rules are not enough. You need the call destination to change based on live data — who is available right now, what shift is running, whether a team member is in a meeting, or which branch is closest to the caller.
Webhook call routing makes this possible. When a call comes in, CallFactory sends a request to your server. Your server responds with the destination — a phone number, a voicemail, or a message. You write the logic, CallFactory executes it. Every call, in real time.
- Your server decides where calls go
- Real-time routing on every call
- Works with any programming language
- Combine with phone menus and queues
Benefits of webhook call routing
See how webhook routing gives you full control over your call flow.
Dynamic call routing
Every call is routed based on live data from your server. Staff availability, schedules, CRM records, or any other logic you define — the routing adapts in real time.
Full control over logic
You write the rules. Route by caller number, time of day, team availability, or any custom condition. If you can code it, CallFactory can execute it.
Easy to integrate
Any server that can receive an HTTP request and return a response works. PHP, Python, Node.js, .NET — use whatever your team already knows.
How webhook call routing works
You provide a webhook URL — for example, yourcompany.com/webhook/route. When a call comes in on your CallFactory number, our system sends a request to that URL. Your server processes the request and responds with the destination: a phone number, a voicemail box, or a message to play.
The response is instant. The caller does not notice any delay — they are connected to the destination your server returned. If your server is unreachable, CallFactory falls back to a default destination you have configured, so calls are never lost.
Use with phone menus
Webhook routing also works with phone menus. If your number has a menu — press 1 for sales, press 2 for support — each option can have its own webhook. For example:
yourcompany.com/webhook/sales for option 1 and yourcompany.com/webhook/support for option 2.
This means different departments can have completely different routing logic, each driven by your own server. Sales calls route to the available rep in your CRM, support calls route to the engineer on shift — all in real time.
What you can build with it
The possibilities are as broad as your imagination. Common examples include routing based on internal planning software — your server checks who is working right now and returns their number. Or routing based on caller location — your server looks up the caller’s area code and returns the nearest branch.
You can also return dynamic messages. Instead of a phone number, your server can respond with a text-to-speech message — for example, “Your order is being prepared and will be ready at 3pm.” This turns your phone number into a fully dynamic information line.
The difference between webhooks, API, and file-based routing
CallFactory offers several ways to control routing programmatically. With webhook routing, your server decides the destination for every call in real time. With the private API, you push routing changes to CallFactory when something changes. With file-based routing, you upload a routing table and CallFactory follows it.
Webhooks are the most dynamic — every call triggers a fresh lookup. The API is better when routing changes occasionally but not on every call. File-based routing is the simplest option for static rules that change infrequently. All three can be combined.
What does it cost?
Webhook call routing is a private feature — similar to our private API, we first discuss your requirements and configure the webhook integration for you. Depending on the complexity and functionality, a one-time setup fee and/or a monthly maintenance fee may apply.
This feature is available with every business number or international number.
Learn more about other features
Find more information about our features that can boost your business communications.
API integrations
Tell us what you need, we build the endpoints. Our private API lets you integrate CallFactory telephony into your own software — no generic library, no guesswork, no wasted development time.
File-based routing
Upload a CSV, TXT, or JSON file to update call routing in bulk. Change hundreds of rules at once — PIN codes, allowlists, denylists, area codes, or entire IVR flows.
GitHub routing
Manage call routing from your GitHub repository. Push a routing file, and CallFactory fetches, validates, and applies the changes automatically — with full version history and instant rollback.
Webhook call routing FAQ
Get clear answers about webhook call routing and how it works for your business.
When a call comes in, CallFactory sends a request to your server. Your server responds with the destination — a phone number, voicemail, or message. This gives you full control over routing in real time.
CallFactory falls back to a default destination you have configured. Calls are never lost — even if your server is temporarily down.
No. Any web server that can receive an HTTP request and return a response works. You can use PHP, Python, Node.js, .NET, or any other language your team already uses.
Yes. Each menu option can have its own webhook URL, so different departments can have completely different routing logic — all driven by your server.
Yes. Your server can return a text-to-speech message instead of a destination number. This turns your phone number into a dynamic information line.
The lookup happens in real time when the call comes in. As long as your server responds quickly, the caller does not notice any delay.
With webhooks, your server decides the destination for every call in real time. With the API, you push routing changes to CallFactory when something changes. Webhooks are more dynamic — the API is better for occasional updates.
Depending on the complexity and functionality, a one-time setup fee and/or a monthly maintenance fee may apply. We always discuss pricing before any work begins.









