Create analysis

View as Markdown

Send existing conversations to Anthropod for asynchronous analysis. Batch Analytics is part of Conversation Analytics, with a separate ingestion API for each channel.

How batch processing works

StepWhat happens
ConfigureGet your account API key and service ID, confirm field mappings, and configure an analytics callback in Developer Hub.
SubmitSend call records or chat conversations to the channel’s batch endpoint.
AcknowledgeA nonempty processing ID and receipt timestamp confirm receipt, not completed analysis.
Receive resultsValidation and analysis continue asynchronously. Your webhook receives product-specific results, including record failures.

The existing batch endpoints can return HTTP 200 with processing_id: null if initiation fails. A null identifier does not confirm acceptance; contact support before resubmitting.

Keep your source conversation and customer IDs for correlation. Use the processing ID when investigating a batch. Avoid resubmitting solely because analysis has not finished.

API reference

The endpoint pages contain the full inputs, outputs, examples, and errors:

APIReference
Analyze callsPOST /call_analytics/batch/
Analyze chatsPOST /chat_analytics/batch/

To retrieve stored analytics, see Conversation Analytics. For service setup, large imports, or provider-specific field mappings, contact support.

Call analysis

Analyze calls recorded by your telephony provider, CRM, or other system. Send a stable call ID, customer and employee IDs, call time, and an accessible recording URL for connected calls.

Prepare your records

PrepareGuidance
Service accessUse the existing account API key and the service assigned in Developer Hub. Keep the key on your backend.
IdentifiersSupply stable source call, customer, and employee IDs for correlation.
Call timeSend call_time in Unix epoch seconds, not milliseconds. The current validator accepts times from 1 January 2024 through the present.
RecordingMake connected-call recording URLs accessible to ingestion until processing completes.
ClassificationSend call_answer_status and call_direction explicitly when known.
MetadataConfirm custom fields and the supported batch size with support.

Submit and receive results

Send the records in data[] with your service_id. Acceptance returns HTTP 200 with a nonempty processing_id and timestamp.

Configure the analytics callback in Dashboard → Developer Hub → Configuration. Follow the webhook guide for the receiving payload, authentication headers, and acknowledgement. Record validation and analysis happen asynchronously.

You can display processed Conversation and Customer views using embedded URLs. The read APIs also support retrieving call analytics with channel=call; see Conversation Analytics for the read workflow.

Chat analysis

Analyze chats from your messaging, CRM, or support system. Each conversation contains your source IDs, conversation time, and a nonempty list of messages.

Prepare your conversations

PrepareGuidance
Service accessUse the existing account API key and the service assigned in Developer Hub.
IdentifiersSupply stable conversation, customer, employee, and source message IDs for correlation.
Conversation timeconversation_time uses Unix epoch seconds.
Message timeEach message’s timestamp uses Unix epoch milliseconds. Preserve the existing ingestion units.
MessagesInclude actor_id, actor_type, message_type, timestamp, and content. Ordinary text uses message_type: normal and content.text.content.
Source mappingConfirm lifecycle events, non-text content, custom metadata, and batch size during setup.

Submit and receive results

Send conversations in data[] with your service_id. HTTP 200 with a nonempty processing_id and receipt timestamp acknowledges the batch. Validation and analysis continue asynchronously.

Configure the analytics callback in Dashboard → Developer Hub → Configuration. Use the webhook guide to receive and correlate successful results and record failures.

Use embedded URLs to display processed dashboard views. The read APIs support channel=chat; their Conversation Analytics overview explains availability.