1. Home
  2. Integrations

CSV and outbound webhooks

Your CRM stays the source. DialBreeze handles the calls.

No wall of logos. Leads come in by CSV, outcomes can go out through a signed webhook your team configures, and calls use your loaded calling credit.

A CSV workflow is not a native integration. No provider account is connected, and no OAuth connection is approved or available.

Choose the handoff, not a logo.

CSV import and admin contact export are available today. The outbound call.disposition webhook export needs a Jetstream seat in the workspace: an admin on a Jetstream seat sets up and reads the export; delivery covers the workspace's dispositions, including Breeze callers, whenever the workspace has at least one Jetstream seat. Neither path is bidirectional contact sync, a real-time CRM mirror or automatic follow-up.

Workflow guides, not partnerships.

These are independent instructions for working with provider exports and webhooks. DialBreeze is not affiliated with or endorsed by these providers. Read-only connector work is in development, not released; it has no promised launch date.

Follow Up Boss

CSV workflow available

Prepare an eligible contact CSV with the supported DialBreeze headers. Check your export permissions in Follow Up Boss; no native connector is available.

Salesforce

CSV workflow available

Have your Salesforce administrator prepare an authorized contact CSV and retain Salesforce record IDs outside the DialBreeze import. No Salesforce app or OAuth connection is available.

Zoho CRM

CSV workflow available

Use a contact file prepared by your CRM administrator, with one selected phone per row. CRM assignments, workflows and call history are not transferred by this contact CSV.

Zapier

Webhook workflow (manual setup)

No dedicated DialBreeze app. A verified receiver can hand off disposition events to your Zap. Catch Raw Hook exposes body and headers, but receiving a request is not signature verification.

Make

Webhook workflow (manual setup)

No dedicated DialBreeze app. Build and maintain your own scenario behind a receiver that verifies the signature. A webhook acceptance response is not proof that a CRM update succeeded.

Provider documentation reviewed October 9, 2026. Follow Up Boss help was access-restricted; Salesforce and Zoho help require a browser to read the full article. Verify those account-specific steps with your provider administrator. No authenticated provider connection was tested.

Looking for a product comparison?

This page explains data handoffs. Dialer alternatives and comparisons are separate evaluations, not evidence of an integration.

Start with five rows, not your whole CRM.

  1. Export only contacts your team is authorized to call. Review opt-outs, DNC, calling hours and ownership in the source system; an export does not transfer those restrictions into DialBreeze.
  2. Prepare a UTF-8 CSV with first_name, last_name, phone and optional email, address, city, state, zip, tags. Choose one callable phone per person and preserve the country code.
  3. Retain your CRM record IDs in a separate reconciliation file. Generic CRM IDs, owners, deals and activity history are not mapped by this CSV importer.
  4. Create a new test list that is not selected in any active session before uploading five rows. The current importer creates NEW leads immediately; it is not a preview-only import or a release approval gate. Inspect names, phone formatting and accepted row count. Rows with no parsable phone are skipped; repeated imports can add memberships, so review the destination list before uploading again.
  5. Only release an eligible list after your admin checks the restrictions. Review contact exports separately before importing anything back into your CRM: DialBreeze's CSV is contact data, not call outcomes, notes or tasks.

See the actual list and import workflow. For a mapped example: HubSpot or Pipedrive.

The signed disposition webhook.

An admin on a Jetstream seat sets up and reads the export, and delivery covers the workspace's dispositions, including Breeze callers, whenever the workspace has at least one Jetstream seat. That admin sets one endpoint and a shared secret in workspace settings. When an operator saves an outcome, DialBreeze POSTs the event, signs it with HMAC-SHA256 over the timestamp and body, and attempts delivery up to three times, with a five-second timeout per attempt.

  • Signature header X-DialBreeze-Signature
  • Timestamp header for receiver-side freshness checks
  • Best-effort delivery audit (not downstream CRM write proof)

Verify the exact raw request body before parsing JSON or acting on it. A timestamp window limits stale requests but does not deduplicate retries: design duplicate detection and record downstream failures separately. A provider catch URL may acknowledge a request before later steps finish. Use a verification gateway if your automation cannot validate the raw body and headers.

import crypto from "node:crypto"; // Receiver sketch. Also deduplicate events and audit downstream results. export function verify(rawBody, timestamp, signature, secret) {   if (!/^\d{10}$/.test(timestamp ?? "")) return false;   if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return false;   if (!/^sha256=[a-f0-9]{64}$/i.test(signature ?? "")) return false;   const expected = crypto.createHmac("sha256", secret)     .update(`${timestamp}|${rawBody}`).digest();   const given = Buffer.from(signature.slice(7), "hex");   return crypto.timingSafeEqual(given, expected); }
POST https://your-endpoint.example/dialbreeze Content-Type: application/json X-DialBreeze-Event: call.disposition X-DialBreeze-Timestamp: 1790000000 X-DialBreeze-Signature: sha256=<hex HMAC of "timestamp|body"> {   "event": "call.disposition",   "sentAt": "2026-09-28T15:04:05.000Z",   "data": {     "leadId": "…",     "phone": "+12025550101",     "disposition": "APPOINTMENT_SET",     "status": "…",     "notes": "Pricing review Thursday 4 PM",     "callId": "…",     "durationSeconds": 290,     "agentName": "Jordan Vale"   } }

Lists in, dialing out.

The real lists screen with sample data: 150 fictional leads across three lists, and the CSV upload control.

Lists and import
Real product interface. Sample data, fictional people and numbers.

Browse 150 fictional leads across three lists and CSV upload affordance. Screen recording of the product with seeded sample data; simulated calls. No narration or source-call audio is included. Pause or seek to inspect a frame.

Integration questions.

Need a specific handoff? Email us with the workflow you need, not API keys, passwords or customer exports.

Does DialBreeze integrate with my CRM?
CSV import is supported. A CSV workflow is not a native CRM integration. Verify the exact handoff your team needs. There is no native CRM connector today. Two paths work now: the signed call.disposition webhook, which a receiver your team configures can accept, and CSV import and export. Test the handoff you need during setup before switching.
What happens if my endpoint is down?
Each delivery is attempted up to three times with a short backoff and a five-second timeout per attempt. Delivery outcomes are logged on a best-effort basis for manual investigation; this is not a durable outbox. There is no automatic replay queue; the retained payload is bounded, so recovery must be checked by an administrator.
Which events are sent?
call.disposition, when an operator saves the outcome of a call. The payload carries the lead ID, phone, disposition, status, notes, call ID, duration and operator name.
Is there a Zapier or Make app?
No dedicated DialBreeze app for either provider. Manual setup requires a receiver that verifies the raw body, signature and timestamp before any downstream action. Your team owns field mapping, duplicate handling and failure recovery. No provider workflow has been verified end to end here.

Test the handoff before you switch.

Import a small eligible CSV to check the columns before a larger file. You can check out without contacting us. For integration questions, describe the workflow only; do not email credentials. Pick your plan and seats, check out, set your password. Load calling credit and start dialing.

Get startedPricing