Automotive
Voice for dealerships, service centers, and automotive SaaS.
Pattern: DMS Screen Pop on the service advisor's desk
DMS-lookup webhook handler
app.post('/webhooks/dialstack', express.raw({ type: 'application/json' }), async (req, res) => {
verifySignature(req);
const event = JSON.parse(req.body);
if (event.type === 'call.incoming') {
const customer = await dms.customers.findByPhone(event.data.from_number);
if (customer) {
const [vehicle, openRO] = await Promise.all([
dms.vehicles.findOne({ customer_id: customer.id, primary: true }),
dms.repairOrders.findOne({ customer_id: customer.id, status: 'open' }),
]);
pusher.trigger(`user-${event.data.user_id}`, 'screen-pop', {
customerId: customer.id,
vehicle,
openRO,
callId: event.data.call_id,
});
}
}
res.status(200).end();
});
DMS lookups can be slow — if yours take more than a second or two, queue the push and return 200 immediately. Full pattern: Screen Pop.
Pattern: department routing
One published number, smart routing based on time-of-day, extensions, or caller history.
await ds.dialPlans.create(
{
name: 'Main dealership line',
entry_node: 'dept_schedule',
nodes: [
{
id: 'dept_schedule',
type: 'schedule',
config: { schedule: serviceHours.id, open: 'ring_service', closed: 'after_hours' },
},
{ id: 'ring_service', type: 'ring_all_users', config: { timeout: 20, next: 'after_hours' } },
{ id: 'after_hours', type: 'voice_app', config: { voice_app: afterHoursAgent.id } },
],
},
{ dialstackAccount: account.id }
);
serviceHours is a schedule from the Schedules API and afterHoursAgent is a voice app.
Publish extensions for direct access — sales 100, service 200, parts 300 — via the Extensions API. Each extension points at a user, ring group, or dial plan.
Pattern: service appointment booking over voice
Service scheduling is complex. Rather than rebuilding that logic, use the Notify node to stream call audio directly to your platform's existing AI assistant. Your bespoke VoiceAI handles the conversation, collects vehicle details, and books the appointment directly in your DMS — you maintain total control over the experience.
Full flow: BYO VoiceAI.
Build this with DialStack
- Screen Pop — pop the customer / vehicle / RO.
- Dial Plans — department routing + time-of-day.
- Extensions — direct-access codes per department.
- AI Scheduling — service appointment booking over voice.
- Click-to-Call — BDC follow-up from the CRM.
- Activity Logging — attach every call to the RO.