Skip to content

Documentv1.1.0

Updated

Last verified

Call a list with Batch ​

Use Batch for a finite contact list from CSV or Google Sheets.

Batch flow ​

text
[1] Create empty ──▶ [2] Import list ──▶ [3] Review ready
                                               │
                                               ▼
[6] Export results ◀── [5] Complete ◀── [4] Run calls

The import is atomic and changes a provisioned Batch to ready. Only the transition to running can start calls.

Prompt your AI agent

Recommended
text
Use the `dino-pong` skill to prepare a Batch for <target owner>.
Verify my authority, the agent, region, and target-authorized infrastructure.
Ask me to choose VAD, call duration, Lens lifetime, and capacity.
Check that capacity fits the selected outbound DID.
Show the complete empty-Batch creation and its effect.
Wait for my approval before creating it once.
Do not import contacts or start calls.
Use the Dino CLI directly
text
dino process create-batch \
  --agent-id <agent-genesis-id> --name <name> --region <region> \
  --vox-server-id <dino-runtime-id> --transport-did-id <outbound-did-id> \
  --partner-credentials-id <partner-id> --vad-mode <mode> \
  --hard-close-secs <90-900> --lens-ttl-days <30-180> \
  --process-limit <1-255> \
  --confirm-mutation process.batch.create

Import contacts ​

Map one unique-ID column, one phone column, and only declared agent placeholders.

json
{
  "uniqueIdColumn": "unique_id",
  "phoneColumn": "phone",
  "fieldColumns": {
    "customer_name": "name"
  }
}

Prompt your AI agent

Recommended
text
Use the `dino-pong` skill to import this Batch source: <absolute path>.
Verify that the process is provisioned.
Map the source ID, phone, and declared placeholders only.
Show validation errors and final contact counts before dispatch.
Import only after my approval.
Do not move the Batch to running until I separately approve every destination.
Use the Dino CLI directly
text
dino process import-csv --process-id <process-id> \
  --csv <absolute-contacts.csv> --mapping <absolute-mapping.json> \
  --confirm-mutation process.batch.importCsv

dino process get --process-id <process-id>

# After approval for the reviewed destinations and dispatch:
dino process set-phase --process-id <process-id> --phase running \
  --confirm-mutation process.batch.setPhase

Get results ​

text
dino process get --process-id <process-id>
dino process list-calls --process-id <process-id> --limit 50 --offset 0

dino process export-contacts --process-id <process-id> \
  --output <absolute-results.csv> \
  --confirm-mutation process.batch.exportContacts

Gotchas ​

  • Unmapped source columns are not available to the agent.
  • Import works only while the Batch is provisioned.
  • A retry returns eligible failed contacts to ready; it does not call them.
  • Exported contacts omit pricing and cost fields.
  • Use a stable source identifier. Do not use the row number as business identity.

Dinodial customer documentation