Skip to main content
inteldialix

Durable Execution Engine/Workflow Automation

Connect Temporal to IntelDialix voice agents

Manage mission-critical, long-running phone call state machines with durable, fault-tolerant execution.

In short

You connect Temporal to IntelDialix in two directions. When a call starts or ends, IntelDialix sends a signed webhook to Temporal with the transcript and outcome. During a call, an agent can reach Temporal through a custom tool — an HTTP request you define — to look up or update information. No SDK is needed; it is plain HTTPS and JSON.

  • Temporal
  • IntelDialix
  • AI voice agent
  • Webhooks
  • gRPC & Temporal SDK
  • HTTPS
  • JSON

How it works

How information moves between a live phone call and Temporal.

  1. 01

    A call reaches your agent

    A caller dials a Twilio or SIP number assigned to the agent, or the agent places an outbound call from a campaign.

    Twilio / SIP number → IntelDialix agent

  2. 02

    The agent uses Temporal mid-call

    When the conversation needs data, the agent runs a custom tool: an HTTP request to Temporal with the details it has collected.

    Custom tool → gRPC & Temporal SDK

  3. 03

    The call ends with a record

    IntelDialix keeps the recording, transcript and post-call analysis for the conversation in your call history.

    Recording · transcript · analysis

  4. 04

    Temporal receives the result

    A signed webhook delivers the call event to your Temporal endpoint, and is retried automatically if the delivery fails.

    HTTPS POST · X-Dialix-Signature

At a glance

Key figures

Voice engines
ElevenLabs · Vapi · Gemini
Choose the engine per agent and compare them on real calls.
Telephony
Twilio & SIP
Use numbers you already have, for inbound and outbound calls.
Call events
Signed webhooks
HMAC-SHA256 signature on every delivery, retried on failure.
Starter plan
$14 / month
One agent, one number and 100 calls a month.

Example

verify-dialix-webhook.js
// Verify an IntelDialix webhook before trusting it in Temporal.
// Header: X-Dialix-Signature: t=<unix seconds>,v1=<hex>
// where v1 = HMAC-SHA256(secret, "<t>.<raw request body>")
import crypto from 'node:crypto';

export function verifyDialixWebhook(rawBody, signatureHeader, secret) {
  const parts = Object.fromEntries(
    signatureHeader.split(',').map((kv) => kv.split('='))
  );
  const expected = crypto
    .createHmac('sha256', secret)
    .update(`${parts.t}.${rawBody}`)
    .digest('hex');
  const valid =
    typeof parts.v1 === 'string' &&
    parts.v1.length === expected.length &&
    crypto.timingSafeEqual(Buffer.from(parts.v1), Buffer.from(expected));
  const fresh = Math.abs(Date.now() / 1000 - Number(parts.t)) < 300;
  return valid && fresh;
}

// Body: { "event": "call.completed", "payload": { ... }, "timestamp": "..." }

Check the signature before acting on an event in Temporal. The secret is the one you set when you add the webhook in IntelDialix settings.

FAQ

Frequently asked questions

How does IntelDialix connect to Temporal?

Through webhooks and custom tools. IntelDialix posts call events to a Temporal endpoint you choose, and agents can call Temporal during a conversation using an HTTP tool you configure in the agent editor.

Which events can Temporal receive?

IntelDialix sends events such as call.initiated, call.inbound, call.completed, call.failed, campaign.started, campaign.completed. Each delivery includes a JSON payload and an X-Dialix-Signature header you can verify with your webhook secret.

Do I need a developer to set this up?

You need an HTTPS endpoint in Temporal that can receive webhooks — many tools provide one — and, for mid-call actions, an endpoint the agent can call. Building the agent itself needs no code.

Keep exploring

Put an agent on the phone today.

Create a free account to explore the dashboard. Plans start at $14 a month for one agent and 100 calls.