Create multiple tasks via CSV upload
Upload up to 10,000 Tasks. Headers are case-insensitive. Recognized columns are type, target, context, taskContext, greeting, waitToGreet, accountId, scheduledFor, message, externalTaskId, goal.description, goal.completionCriteria, retryPolicy.delaysSeconds, retryPolicy.retryOn, and retryPolicy.responseTimeoutSeconds. Arbitrary nested meta.
columns are also accepted. Retry list columns accept JSON arrays or pipe-separated values. Email tasks can use meta.email.subject.
OpenAPI
````yaml post /api/v2/tasks/csv
openapi: 3.0.0
info:
version: 2.0.0
title: GetVoiceBot API
description: GetVoiceBot API Documentation
servers:
- url: https://api.getvoicebot.com
description: GetVoiceBot Production
variables:
baseUrl:
default: api.getvoicebot.com
description: Production API Root
security: []
tags:
- name: Agents
- name: Inbound Email
description: Control which senders may create inbound email work for an Agent.
- name: Features
description: Inspect capabilities available within an account hierarchy.
- name: Conversation Logs
description: Query conversation activity and calculate account-level metrics.
- name: Computer Agents
description: Set up, configure, inspect, and manage GetVoiceBot Computer Agents.
- name: Computer Agent Sessions
description: View and reset Computer Agent sessions.
- name: Accounts
- name: Agent Templates
description: Create, manage, and apply reusable Agent configurations.
paths:
/api/v2/tasks/csv:
post:
tags:
- Tasks
summary: Create multiple tasks via CSV upload
description: >-
Upload up to 10,000 Tasks. Headers are case-insensitive. Recognized
columns are type, target, context, taskContext, greeting, waitToGreet,
accountId, scheduledFor, message, externalTaskId, goal.description,
goal.completionCriteria, retryPolicy.delaysSeconds, retryPolicy.retryOn,
and retryPolicy.responseTimeoutSeconds. Arbitrary nested meta.
columns are also accepted. Retry list columns accept JSON arrays or
pipe-separated values. Email tasks can use meta.email.subject.
parameters:
- name: Idempotency-Key
in: header
required: false
schema:
type: object
properties:
type:
type: string
example: string
maxLength:
type: number
example: 200
description: >-
Required for uploads over 1,000 rows. Repeating the same key and
payload safely resumes or returns that submission; reusing it for a
different payload returns 409.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- csv
properties:
csv:
type: string
format: binary
description: CSV file
contactListName:
type: string
description: Optional Contact List to enroll every task contact into
encoding:
csv:
contentType: text/csv
responses:
'200':
description: Tasks queued
'202':
description: Large Task submission accepted for asynchronous creation
'400':
description: Invalid CSV or missing required fields
'401':
description: Unauthorized
'403':
description: Forbidden
'409':
description: Idempotency-Key was already used for a different payload
'500':
description: Internal Server Error
security:
- apiKeyAuth: []
components:
securitySchemes:
apiKeyAuth:
type: apiKey
in: query
name: token
description: GetVoiceBot API Token
````
