Skip to main content
inteldialix

Developer Automation Platform/Workflow Automation

Connect Windmill to IntelDialix voice agents

Run Python and Rust scripts in Windmill when an IntelDialix agent calls a tool during a live call.

In short

You connect Windmill to IntelDialix in two directions. When a call starts or ends, IntelDialix sends a signed webhook to Windmill with the transcript and outcome. During a call, an agent can reach Windmill 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.

  • Windmill
  • IntelDialix
  • AI voice agent
  • Webhooks
  • High-Speed HTTP REST
  • HTTPS
  • JSON

How it works

How information moves between a live phone call and Windmill.

  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 Windmill mid-call

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

    Custom tool → High-Speed HTTP REST

  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

    Windmill receives the result

    A signed webhook delivers the call event to your Windmill 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 Windmill.
// 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 Windmill. The secret is the one you set when you add the webhook in IntelDialix settings.

FAQ

Frequently asked questions

How does IntelDialix connect to Windmill?

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

Which events can Windmill 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 Windmill 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.