Download OpenAPI specification:Download
Use this API to get interaction and recording insights, as well as create and edit users and teams, and JWT tokens for embedding selected Dstny pages in iframes.
Bearer token. Should be supplied in Authorization header. Example: Authorization: Bearer <token>.
To get a bearer token, go to Settings -> Api -> Token in your Dstny account, and create a new one by clicking the button in the upper right corner. In the modal, add a name and optionally description, and make sure the token is enabled if it will be used immediately.
bearerJWTTo register a webhook, log in as an admin to copilot.dstny.se and navigate to: Settings → API → Webhooks
conversation_created is available).Once registered, the system will send an HTTP POST request to your webhook URL whenever an event occurs.
conversation_created)Triggered when a new conversation is created.
Example Payload:
{
"event_type": "conversation_created",
"payload": {
"conversation_id": "d1b919ac-2d66-4a86-870f-b043ce099e41"
}
}
More webhook events will be introduced in future updates. When new events are available, they will be listed here.
[- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe",
- "mobile_number": 89295205465,
- "teams": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Foo team",
- "managers": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe"
}
], - "description": "Foo bar",
- "created_at": "2020-08-13T13:16:21Z"
}
], - "accounts": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Test account",
- "right_level": "user",
- "allow_users_inspiration_tag_changes": true,
- "access_ai_chat_features": true,
- "access_negative_stats": true,
- "is_switchboard_enabled": true,
- "is_dashboard_enabled": true,
- "compliance_sms": "string",
- "legal_text": null,
- "call_integrations": [
- null
], - "lynes_min_duration": null,
- "telenor_min_duration": null,
- "telavox_min_duration": null,
- "is_meetric_engage_enabled": true,
- "domain_aliases": [
- "string"
]
}
], - "last_login": "2020-08-13T13:16:21.000Z"
}
]| email required | string <email> |
| first_name required | string |
| last_name required | string |
| mobile_number | string |
| deleteMeetingRecordingDays | string |
| deleteContactDataDays | string |
| is_passive | boolean |
| email_aliases | Array of strings <email> |
| auto_join_meeting_bot | string or null |
| can_use_ai_agents | boolean |
object |
{- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "mobile_number": "string",
- "deleteMeetingRecordingDays": "string",
- "deleteContactDataDays": "",
- "is_passive": true,
- "email_aliases": [
- "user2@example.com"
], - "auto_join_meeting_bot": "0",
- "can_use_ai_agents": true,
- "settings": {
- "deleteMeetingRecordingDays": "",
- "deleteContactDataDays": ""
}
}{- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe",
- "mobile_number": 89295205465,
- "teams": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Foo team",
- "managers": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe"
}
], - "description": "Foo bar",
- "created_at": "2020-08-13T13:16:21Z"
}
], - "accounts": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Test account",
- "right_level": "user",
- "allow_users_inspiration_tag_changes": true,
- "access_ai_chat_features": true,
- "access_negative_stats": true,
- "is_switchboard_enabled": true,
- "is_dashboard_enabled": true,
- "compliance_sms": "string",
- "legal_text": null,
- "call_integrations": [
- null
], - "lynes_min_duration": null,
- "telenor_min_duration": null,
- "telavox_min_duration": null,
- "is_meetric_engage_enabled": true,
- "domain_aliases": [
- "string"
]
}
], - "last_login": "2020-08-13T13:16:21.000Z"
}string <email> | |
| first_name | string |
| last_name | string |
| mobile_number | string |
| deleteMeetingRecordingDays | string |
| deleteContactDataDays | string |
| is_passive | boolean |
| email_aliases | Array of strings <email> |
| auto_join_meeting_bot | string or null |
| can_use_ai_agents | boolean |
object |
{- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "mobile_number": "string",
- "deleteMeetingRecordingDays": "string",
- "deleteContactDataDays": "",
- "is_passive": true,
- "email_aliases": [
- "user2@example.com"
], - "auto_join_meeting_bot": "0",
- "can_use_ai_agents": true,
- "settings": {
- "deleteMeetingRecordingDays": "",
- "deleteContactDataDays": ""
}
}{- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe",
- "mobile_number": 89295205465,
- "teams": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Foo team",
- "managers": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe"
}
], - "description": "Foo bar",
- "created_at": "2020-08-13T13:16:21Z"
}
], - "accounts": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Test account",
- "right_level": "user",
- "allow_users_inspiration_tag_changes": true,
- "access_ai_chat_features": true,
- "access_negative_stats": true,
- "is_switchboard_enabled": true,
- "is_dashboard_enabled": true,
- "compliance_sms": "string",
- "legal_text": null,
- "call_integrations": [
- null
], - "lynes_min_duration": null,
- "telenor_min_duration": null,
- "telavox_min_duration": null,
- "is_meetric_engage_enabled": true,
- "domain_aliases": [
- "string"
]
}
], - "last_login": "2020-08-13T13:16:21.000Z"
}[- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Foo team",
- "managers": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe"
}
], - "description": "Foo bar",
- "created_at": "2020-08-13T13:16:21Z"
}
]| name required | string |
| description required | string |
| type | string |
| selectManagers | string |
| deleteMeetingRecordingDays | string |
| deleteContactDataDays | string |
| managers | Array of integers |
| auto_join_meeting_bot | string or null |
| low_priority_bot | boolean |
| can_use_ai_agents | boolean |
object |
{- "name": "string",
- "description": "string",
- "type": "string",
- "selectManagers": "string",
- "deleteMeetingRecordingDays": "string",
- "deleteContactDataDays": "string",
- "managers": [
- 0
], - "auto_join_meeting_bot": "0",
- "low_priority_bot": true,
- "can_use_ai_agents": true,
- "settings": {
- "deleteMeetingRecordingDays": "",
- "deleteContactDataDays": ""
}
}{- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Foo team",
- "managers": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe"
}
], - "description": "Foo bar",
- "created_at": "2020-08-13T13:16:21Z"
}| name | string |
| description | string |
| type | string |
| selectManagers | string |
| deleteMeetingRecordingDays | string |
| deleteContactDataDays | string |
| managers | Array of integers |
| auto_join_meeting_bot | string or null |
| low_priority_bot | boolean |
| can_use_ai_agents | boolean |
object |
{- "name": "string",
- "description": "string",
- "type": "string",
- "selectManagers": "string",
- "deleteMeetingRecordingDays": "string",
- "deleteContactDataDays": "string",
- "managers": [
- 0
], - "auto_join_meeting_bot": "0",
- "low_priority_bot": true,
- "can_use_ai_agents": true,
- "settings": {
- "deleteMeetingRecordingDays": "",
- "deleteContactDataDays": ""
}
}{- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Foo team",
- "managers": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe"
}
], - "description": "Foo bar",
- "created_at": "2020-08-13T13:16:21Z"
}Returns all users that belong to the specified team.
| teamId required | string Example: d3f65c3e-811c-4e4b-8439-415f1ba4e8de The team ID (UUID) |
{- "data": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe",
- "mobile_number": 89295205465,
- "teams": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Foo team",
- "managers": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe"
}
], - "description": "Foo bar",
- "created_at": "2020-08-13T13:16:21Z"
}
], - "accounts": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Test account",
- "right_level": "user",
- "allow_users_inspiration_tag_changes": true,
- "access_ai_chat_features": true,
- "access_negative_stats": true,
- "is_switchboard_enabled": true,
- "is_dashboard_enabled": true,
- "compliance_sms": "string",
- "legal_text": null,
- "call_integrations": [
- null
], - "lynes_min_duration": null,
- "telenor_min_duration": null,
- "telavox_min_duration": null,
- "is_meetric_engage_enabled": true,
- "domain_aliases": [
- "string"
]
}
], - "last_login": "2020-08-13T13:16:21.000Z"
}
]
}| user_ids required | Array of integers |
{- "user_ids": [
- 770,
- 771
]
}{- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Foo team",
- "managers": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe"
}
], - "description": "Foo bar",
- "created_at": "2020-08-13T13:16:21Z"
}Use available filters from Get Global Filters to filter conversations.
The GetConversation API supports multiple query parameters for filtering results. However, the valid values for these parameters must be retrieved from the Get Global Filters resource to ensure consistency and prevent invalid requests.
Get Global Filters (GET /api/v2/global-filters) to retrieve all available filter options.Get Global Filters as valid inputs when calling GetConversation.Request:
GET /api/v2/global-filters
Response:
{
...
"teams": [
{
"id": "75fc3b9a-b3a4-4291-8bc7-138a3bade3b4",
"name": "Team A",
"description": "Team A description",
"settings": [],
"managers": [],
},
{
"id": "05e62f00-3038-4acb-9d43-0a14aa466de5",
"name": "Team B",
"description": "Team B description",
}
],
...
Request:
GET /api/v2/conversations?global_team_ids[]=75fc3b9a-b3a4-4291-8bc7-138a3bade3b4&global_team_ids[]=05e62f00-3038-4acb-9d43-0a14aa466de5
| search | string Example: search=google Full-text search query |
| global_user_ids | Array of integers Example: global_user_ids[]=1&global_user_ids[]=95 IDs of users that organized the sessions |
| global_team_ids | Array of strings Example: global_team_ids[]=be054e38-1a5c-4adb-a9dc-d8af1956cde5&global_team_ids[]=6f668ee4-9144-4ace-8580-7beb8ba2a516 IDs of teams whose members organized the sessions |
| campaign_ids | Array of strings Example: campaign_ids[]=demo Names of campaigns the sessions belong to |
| recording_types | string Enum: "meeting" "call" "live" Example: recording_types[]=call Types of session to retrieve |
| deals_status | Array of strings Example: deals_status[]=closed%20won Current status of deal(s) related to sessions |
| global_start | string <date> Example: global_start=2020-01-01 Earliest session date |
| global_end | string <date> Example: global_end=2025-12-31 Latest session date |
[- {
- "meeting_id": "161089e2-c926-43d5-9c00-1fe77986cb80",
- "name": "string",
- "meeting_type": "string",
- "user": {
- "id": 0,
- "first_name": "string",
- "last_name": "string"
}, - "user_full_name": "string",
- "conversation_id": "1f081c60-e6b7-61da-b48a-d2fe763e606d",
- "session_id": "1f081c60-e6b7-61da-b48a-d2fe763e606d",
- "company_domains": [
- {
- "id": "string",
- "name": "string"
}
], - "participants": [
- {
- "id": "string",
- "email": "string",
- "last_name": null,
- "first_name": "string"
}
], - "thumbnails": [
- "string"
], - "date": "2019-08-24",
- "meeting_time": 0,
- "slides_shown": 0,
- "face2face_percentage": 0,
- "direct_share_percentage": 0,
- "screen_share_percentage": 0,
- "meeting_score": 0,
- "meeting_engagement_percentage": 0,
- "has_recording": true,
- "finished_merging": true,
- "division": 0,
- "shifts_per_minute": 0,
- "interruptions": 0,
- "session_note": "string",
- "presenter_questions": 0,
- "receiver_questions": 0,
- "total_questions": 0,
- "questions_per_hour": 0,
- "words_per_minute": 0,
- "engaging_questions_per_hour": 0,
- "live": true,
- "deal": [
- {
- "id": "string",
- "name": "string"
}
], - "todos_count": 0,
- "call_direction": "string",
- "topic": "string",
- "private": true,
- "call": true,
- "recording_type": "call",
- "call_external_id": "string"
}
]Creates a new conversation resource for a call. The response immediately returns a conversation_id, but note that the conversation is created asynchronously. It may take a few minutes before the conversation data is fully available and accessible via the API.
| call_external_id required | string Unique identifier for the call (external system ID). |
| call_start_time required | string <date-time> Timestamp when the call started. Format: ISO 8601. |
| call_end_time | string <date-time> Timestamp when the call ended. Optional if |
| call_duration | integer Duration of the call in seconds. Optional if |
| call_recording_url required | string <uri> Publicly accessible URL to the call recording. Must respond with HTTP 200. For optimal analysis, use high-quality MP3/WAV files (16-bit/44.1kHz+) with stereo separation if available. Note. If your recording is in stereo format, set call_is_stereo to true and provide participant channel information with call_participant_channel value. |
| call_is_stereo | boolean True if the audio is recorded in stereo. Defaults to false. |
| call_direction required | string Enum: "incoming" "outgoing" Direction of the call: 'incoming' or 'outgoing'. |
| call_title | string Optional call title or subject. If not provided system will generate name using provided participant information. |
| call_outcome | string Outcome of the call (e.g., 'Won', 'No Answer', 'Busy'). |
| call_participant_channel | string Enum: "left" "right" Audio channel the participant is on. Defaults to 'right'. This option is only used when provided call is in stereo format. |
| owner_email required | string <email> Email of the user who owns the call (required). |
| owner_name | string Full name of the owner. If omitted, inferred from email. |
| owner_phone_number | string Phone number of the owner. |
| participant_email | string <email> Email of the call participant. |
| participant_first_name | string First name of the participant. If missing, may be inferred from email. |
| participant_last_name | string Last name of the participant. If missing, may be inferred from email. |
| participant_phone_number | string Phone number of the participant. |
| participant_company_name | string Company or organization the participant belongs to. |
| participant_external_id | string External contact ID for the participant in your system. |
{- "call_external_id": "a1b2c3d4e5",
- "call_start_time": "2025-04-17T08:00:00Z",
- "call_end_time": "2025-04-17T08:15:00Z",
- "call_duration": 900,
- "call_is_stereo": false,
- "call_direction": "outgoing",
- "call_title": "Quarterly Review",
- "call_outcome": "Won",
- "call_participant_channel": "right",
- "owner_email": "john.doe@example.com",
- "owner_name": "John Doe",
- "owner_phone_number": "+46701234567",
- "participant_email": "client@example.org",
- "participant_first_name": "Client",
- "participant_last_name": "Smith",
- "participant_phone_number": "+46709876543",
- "participant_company_name": "Client AB",
- "participant_external_id": "external-1234"
}{- "conversation_id": "1f07d9fe-b515-6c3e-8fd2-ce54fb85a059"
}[- {
- "recording": {
- "url": "string",
- "type": "string"
}, - "statistics": [
- {
- "meeting_id": "161089e2-c926-43d5-9c00-1fe77986cb80",
- "name": "string",
- "meeting_type": "string",
- "user": {
- "id": 0,
- "first_name": "string",
- "last_name": "string"
}, - "user_full_name": "string",
- "conversation_id": "1f081c60-e6b7-61da-b48a-d2fe763e606d",
- "session_id": "1f081c60-e6b7-61da-b48a-d2fe763e606d",
- "company_domains": [
- {
- "id": "string",
- "name": "string"
}
], - "participants": [
- {
- "id": "string",
- "email": "string",
- "last_name": null,
- "first_name": "string"
}
], - "thumbnails": [
- "string"
], - "date": "2019-08-24",
- "meeting_time": 0,
- "slides_shown": 0,
- "face2face_percentage": 0,
- "direct_share_percentage": 0,
- "screen_share_percentage": 0,
- "meeting_score": 0,
- "meeting_engagement_percentage": 0,
- "has_recording": true,
- "finished_merging": true,
- "division": 0,
- "shifts_per_minute": 0,
- "interruptions": 0,
- "session_note": "string",
- "presenter_questions": 0,
- "receiver_questions": 0,
- "total_questions": 0,
- "questions_per_hour": 0,
- "words_per_minute": 0,
- "engaging_questions_per_hour": 0,
- "live": true,
- "deal": [
- {
- "id": "string",
- "name": "string"
}
], - "todos_count": 0,
- "call_direction": "string",
- "topic": "string",
- "private": true,
- "call": true,
- "recording_type": "call",
- "call_external_id": "string"
}
], - "transcription": {
- "status": "string",
- "transcript": [
- {
- "transcript": "string",
- "start": 0,
- "end": 0,
- "aiMeetingPhase": "string",
- "speakerId": "string",
- "speakerIndex": 0,
- "speakerFirstName": "string",
- "speakerLastName": "string",
- "isQuestion": true,
- "isObjection": true
}
], - "translatedTranscription": [
- {
- "transcript": "string",
- "start": 0,
- "end": 0,
- "aiMeetingPhase": "string",
- "speakerId": "string",
- "speakerIndex": 0,
- "speakerFirstName": "string",
- "speakerLastName": "string",
- "isQuestion": true,
- "isObjection": true
}
], - "translation": true,
- "summary": {
- "summary": "string",
- "buyer_questions": [
- "string"
], - "seller_questions": [
- "string"
], - "deal_probability_percent": 0,
- "deal_probability_reason": "string",
- "objections": [
- "string"
], - "quality_review": "string",
- "session_id": "string"
}
}
}
][- {
- "transcript": [
- {
- "transcript": "string",
- "start": 0,
- "end": 0,
- "aiMeetingPhase": "string",
- "speakerId": "string",
- "speakerIndex": 0,
- "speakerFirstName": "string",
- "speakerLastName": "string",
- "isQuestion": true,
- "isObjection": true
}
], - "summary": {
- "session_id": "string",
- "summary_dashboard": "string",
- "summary_switchboard": "string",
- "buyer_questions": [
- "string"
], - "seller_questions": [
- "string"
], - "deal_probability_percent": 0,
- "deal_probability_reason": "string",
- "objections": [
- "string"
], - "quality_review": "string"
}, - "status": "string",
- "translatedTranscription": [
- {
- "transcript": "string",
- "start": 0,
- "end": 0,
- "aiMeetingPhase": "string",
- "speakerId": "string",
- "speakerIndex": 0,
- "speakerFirstName": "string",
- "speakerLastName": "string",
- "isQuestion": true,
- "isObjection": true
}
], - "translation": true,
- "areSpeakersRemapped": true
}
][- {
- "participant": {
- "id": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "phone": 0,
- "type": "string"
}, - "meeting_score": 0,
- "meeting_engagement_percentage": 0,
- "division": null,
- "shifts_per_minute": null,
- "interruptions": 0
}
][- {
- "id": 0,
- "session_id": "string",
- "agent_id": 0,
- "agent_name": "string",
- "process_response": true,
- "test_run": true,
- "status": "string",
- "agent_custom_prompt": "string",
- "agent_type": "string",
- "agent_type_settings": [
- {
- "language": "string",
- "playbookBlocks": [
- {
- "id": "string",
- "uuid": "string",
- "title": "string",
- "weight": 0,
- "children": [ ],
- "parentId": "string",
- "description": "string"
}
]
}
], - "created_at": "2020-08-13T13:16:21.000Z",
- "response": "string",
- "playbook_summary": "string",
- "finished_at": "2020-08-13T13:16:21.000Z"
}
][- {
- "id": 0,
- "session_id": "string",
- "agent_id": 0,
- "agent_name": "string",
- "process_response": true,
- "test_run": true,
- "status": "string",
- "agent_custom_prompt": "string",
- "agent_type": "string",
- "agent_type_settings": [
- {
- "language": "string",
- "playbookBlocks": [
- {
- "id": "string",
- "uuid": "string",
- "title": "string",
- "weight": 0,
- "children": [ ],
- "parentId": "string",
- "description": "string"
}
]
}
], - "created_at": "2020-08-13T13:16:21.000Z",
- "response": "string",
- "playbook_summary": "string",
- "finished_at": "2020-08-13T13:16:21.000Z"
}
][- {
- "department_slug": "string",
- "department_label": "string",
- "kpi_slug": "string",
- "kpi_label": "string",
- "type": "string",
- "summary": "string",
- "event_start_seconds": 0,
- "event_end_seconds": 0,
- "impact": 0,
- "sentences": [
- {
- "id": "string",
- "speakerId": "string",
- "speakerFirstName": "string",
- "speakerLastName": "string",
- "transcript": "string",
- "start": 0,
- "end": 0
}
]
}
]Retrieves all available filter values that can be used to filter conversations in the API.
[- {
- "campaigns": [
- {
- "name": "string",
- "id": "string"
}
], - "users": [
- {
- "id": 0,
- "first_name": "string",
- "last_name": "string",
- "username": "string",
- "name": "string",
- "last_login": "2020-08-13T13:16:21Z",
- "right_level": "string",
- "enabled": true,
- "settings": {
- "deleteMeetingRecordingDays": "string",
- "deleteContactDataDays": "string"
}, - "teams": [
- {
- "id": "string",
- "name": "string",
- "created_at": "2020-08-13T13:16:21Z",
- "description": "string"
}
], - "integration": "string",
- "language": "string",
- "mobile_number": "string"
}
], - "teams": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "settings": {
- "deleteMeetingRecordingDays": "",
- "deleteContactDataDays": ""
}, - "managers": [ ],
- "created_at": "2020-08-13T13:16:21Z",
- "integration": "string",
- "language": "string"
}
], - "meetingTypes": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "parent_id": "string",
- "parent_name": "string",
- "target_engagement": 0,
- "target_talk_listen_ratio": 0,
- "target_shifts_per_minute": 0,
- "sort_index": 0,
- "enabled": true,
- "sync_with_ai": true,
- "teams": [ ],
- "created_at": "2020-08-13T13:16:21Z",
- "phrases": [
- "string"
]
}
], - "recordingTypes": [
- {
- "id": "string",
- "name": "string"
}
], - "dealsStatus": [ ],
- "callsOutcome": [
- {
- "id": "string",
- "name": "string"
}
]
}
]Provide the email of a user on the current account. The JWT token returned can be set as the token query parameter when embedding a page, in the iframe's src attribute.
Available embeddable pages:
Dashboard
<iframe src="http://app.meetric.com/embed/dashboard?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.testotken"></iframe>
Integrations (Coming soon)
<iframe src="http://app.meetric.com/embed/integrations?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.testtoken&parent_page=https://yourwebsite.com"></iframe>
Conversations (Coming soon)
Settings (Coming soon)
| email required | user.email@company.com |
{- "email": "john.doe@example.com"
}{- "JWT": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}Returns departments that exist for the account. Departments are derived from teams with a department type and users with department assignments.
{- "data": [
- {
- "slug": "b2b-sales",
- "name": "B2B Sales",
- "description": "Discovery calls, product demos, proposal reviews, contract negotiations, and closing new business.",
- "group_slug": "core-customer-facing-revenue",
- "group_name": "Core Customer-Facing & Revenue Teams",
- "color": {
- "name": "Deep Blue",
- "light": "#e2eafc",
- "normal": "#0f4abf",
- "dark": "#0b3a99"
}
}
]
}Returns all teams that belong to the specified department (teams where team.type matches the department slug).
| departmentSlug required | string Example: b2b-sales The department slug (e.g., 'b2b-sales', 'customer-success') |
{- "data": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Foo team",
- "managers": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe"
}
], - "description": "Foo bar",
- "created_at": "2020-08-13T13:16:21Z"
}
]
}Returns all users that belong to the specified department. A user belongs to a department if: (1) the department is in their departments array, OR (2) they belong to a team with this department type.
| departmentSlug required | string Example: b2b-sales The department slug (e.g., 'b2b-sales', 'customer-success') |
{- "data": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe",
- "mobile_number": 89295205465,
- "teams": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Foo team",
- "managers": [
- {
- "id": 1,
- "username": "yolo@yolo.com",
- "email": "yolo@yolo.com",
- "first_name": "Joe",
- "last_name": "Doe"
}
], - "description": "Foo bar",
- "created_at": "2020-08-13T13:16:21Z"
}
], - "accounts": [
- {
- "id": "d3f65c3e-811c-4e4b-8439-415f1ba4e8de",
- "name": "Test account",
- "right_level": "user",
- "allow_users_inspiration_tag_changes": true,
- "access_ai_chat_features": true,
- "access_negative_stats": true,
- "is_switchboard_enabled": true,
- "is_dashboard_enabled": true,
- "compliance_sms": "string",
- "legal_text": null,
- "call_integrations": [
- null
], - "lynes_min_duration": null,
- "telenor_min_duration": null,
- "telavox_min_duration": null,
- "is_meetric_engage_enabled": true,
- "domain_aliases": [
- "string"
]
}
], - "last_login": "2020-08-13T13:16:21.000Z"
}
]
}Returns all AI agents configured for the account. AI agents analyze meeting transcriptions to generate summaries, track playbook adherence, extract variables, and discover insights.
{- "data": [
- {
- "id": 123,
- "name": "Sales Playbook Agent",
- "type": "playbook",
- "status": "active",
- "custom_prompt": "Focus on identifying customer pain points and objections.",
- "type_settings": {
- "language": "en",
- "playbookBlocks": [
- {
- "id": "string",
- "uuid": "string",
- "title": "string",
- "weight": 0,
- "children": [ ],
- "parentId": "string",
- "description": "string"
}
]
}, - "global_filters": {
- "global_user_ids": [
- "string"
], - "global_team_ids": [
- "string"
], - "global_meeting_types": [
- "string"
], - "campaign_ids": [
- "string"
], - "recording_types": [
- "string"
], - "calls_outcome": [
- "string"
]
}, - "meeting_role_assignment": "sales",
- "enable_playbook_summary_instructions": true,
- "playbook_summary_instructions_prompt": "string",
- "created_at": "2024-01-15T10:30:00Z"
}
]
}Creates a new AI agent for the account. Agent types include: meeting_summary (generates summaries), playbook (tracks adherence to sales playbooks), magic_variable (extracts structured data), and magic_insight (free-form data extraction).
| name required | string Display name of the agent |
| type required | string Enum: "meeting_summary" "playbook" "magic_variable" "magic_insight" Type of agent |
| status required | string Enum: "active" "draft" "pause" Agent status |
| customPrompt | string Custom prompt instructions |
object Type-specific configuration | |
| globalFilters | object Filters for conversation selection |
| meetingRoleAssignment | string Default: "sales" Enum: "sales" "support" "internal" "onboarding" "project" "negotiation" "consulting" "customer_success" |
| enablePlaybookSummaryInstructions | boolean Default: false |
| playbookSummaryInstructionsPrompt | string or null |
{- "name": "Sales Playbook Agent",
- "type": "playbook",
- "status": "draft",
- "customPrompt": "Focus on customer objections and buying signals.",
- "typeSettings": {
- "language": "en",
- "playbookBlocks": [
- {
- "id": "string",
- "uuid": "string",
- "title": "string",
- "weight": 0,
- "children": [ ],
- "parentId": "string",
- "description": "string"
}
]
}, - "globalFilters": { },
- "meetingRoleAssignment": "sales",
- "enablePlaybookSummaryInstructions": false,
- "playbookSummaryInstructionsPrompt": "string"
}{- "data": {
- "id": 123,
- "name": "Sales Playbook Agent",
- "type": "playbook",
- "status": "active",
- "custom_prompt": "Focus on identifying customer pain points and objections.",
- "type_settings": {
- "language": "en",
- "playbookBlocks": [
- {
- "id": "string",
- "uuid": "string",
- "title": "string",
- "weight": 0,
- "children": [ ],
- "parentId": "string",
- "description": "string"
}
]
}, - "global_filters": {
- "global_user_ids": [
- "string"
], - "global_team_ids": [
- "string"
], - "global_meeting_types": [
- "string"
], - "campaign_ids": [
- "string"
], - "recording_types": [
- "string"
], - "calls_outcome": [
- "string"
]
}, - "meeting_role_assignment": "sales",
- "enable_playbook_summary_instructions": true,
- "playbook_summary_instructions_prompt": "string",
- "created_at": "2024-01-15T10:30:00Z"
}
}Returns details of a specific AI agent.
| agentId required | integer Example: 123 The AI agent ID |
{- "data": {
- "id": 123,
- "name": "Sales Playbook Agent",
- "type": "playbook",
- "status": "active",
- "custom_prompt": "Focus on identifying customer pain points and objections.",
- "type_settings": {
- "language": "en",
- "playbookBlocks": [
- {
- "id": "string",
- "uuid": "string",
- "title": "string",
- "weight": 0,
- "children": [ ],
- "parentId": "string",
- "description": "string"
}
]
}, - "global_filters": {
- "global_user_ids": [
- "string"
], - "global_team_ids": [
- "string"
], - "global_meeting_types": [
- "string"
], - "campaign_ids": [
- "string"
], - "recording_types": [
- "string"
], - "calls_outcome": [
- "string"
]
}, - "meeting_role_assignment": "sales",
- "enable_playbook_summary_instructions": true,
- "playbook_summary_instructions_prompt": "string",
- "created_at": "2024-01-15T10:30:00Z"
}
}Updates an existing AI agent configuration.
| agentId required | integer Example: 123 The AI agent ID |
| name required | string Display name of the agent |
| type required | string Enum: "meeting_summary" "playbook" "magic_variable" "magic_insight" Type of agent |
| status required | string Enum: "active" "draft" "pause" Agent status |
| customPrompt | string Custom prompt instructions |
object Type-specific configuration | |
| globalFilters | object Filters for conversation selection |
| meetingRoleAssignment | string Default: "sales" Enum: "sales" "support" "internal" "onboarding" "project" "negotiation" "consulting" "customer_success" |
| enablePlaybookSummaryInstructions | boolean Default: false |
| playbookSummaryInstructionsPrompt | string or null |
{- "name": "Sales Playbook Agent",
- "type": "playbook",
- "status": "draft",
- "customPrompt": "Focus on customer objections and buying signals.",
- "typeSettings": {
- "language": "en",
- "playbookBlocks": [
- {
- "id": "string",
- "uuid": "string",
- "title": "string",
- "weight": 0,
- "children": [ ],
- "parentId": "string",
- "description": "string"
}
]
}, - "globalFilters": { },
- "meetingRoleAssignment": "sales",
- "enablePlaybookSummaryInstructions": false,
- "playbookSummaryInstructionsPrompt": "string"
}{- "data": {
- "id": 123,
- "name": "Sales Playbook Agent",
- "type": "playbook",
- "status": "active",
- "custom_prompt": "Focus on identifying customer pain points and objections.",
- "type_settings": {
- "language": "en",
- "playbookBlocks": [
- {
- "id": "string",
- "uuid": "string",
- "title": "string",
- "weight": 0,
- "children": [ ],
- "parentId": "string",
- "description": "string"
}
]
}, - "global_filters": {
- "global_user_ids": [
- "string"
], - "global_team_ids": [
- "string"
], - "global_meeting_types": [
- "string"
], - "campaign_ids": [
- "string"
], - "recording_types": [
- "string"
], - "calls_outcome": [
- "string"
]
}, - "meeting_role_assignment": "sales",
- "enable_playbook_summary_instructions": true,
- "playbook_summary_instructions_prompt": "string",
- "created_at": "2024-01-15T10:30:00Z"
}
}Returns available AI agent type templates with their default configurations, prompts, and sample data.
{- "data": [
- {
- "id": 1,
- "name": "Meeting Summary",
- "type": "meeting_summary",
- "pre_prompt": "string",
- "post_prompt": "string",
- "default_prompt": "string",
- "default_config": { },
- "samples": [ ]
}
]
}Returns available meeting role assignments that define speaker roles in transcripts (e.g., sales: Seller/Buyer, support: Agent/Client).
{- "data": {
- "sales": {
- "label": "Sales Meetings",
- "roles": [
- "Seller",
- "Coworker",
- "Buyer"
]
}, - "support": {
- "label": "Support Calls",
- "roles": [
- "Support Agent",
- "Coworker",
- "Client"
]
}, - "internal": {
- "label": "Internal Meetings",
- "roles": [
- "Owner",
- "Coworker",
- "Participant"
]
}, - "onboarding": {
- "label": "Onboarding/Training Calls",
- "roles": [
- "Trainer",
- "Trainee",
- "Client"
]
}, - "project": {
- "label": "Project Meetings",
- "roles": [
- "Project Manager",
- "Team Member",
- "Client"
]
}, - "negotiation": {
- "label": "Negotiation Calls",
- "roles": [
- "Negotiator",
- "Legal Team",
- "Counterparty"
]
}, - "consulting": {
- "label": "Consulting Calls",
- "roles": [
- "Consultant",
- "Client",
- "Stakeholder"
]
}, - "customer_success": {
- "label": "Customer Success",
- "roles": [
- "Customer Success Manager",
- "Client",
- "Account"
]
}
}
}Returns requests for a specific AI agent. Use the is_test_run query parameter to filter by request type:
is_test_run=true - Returns only test runs (requests executed for testing/preview purposes)is_test_run=false - Returns only actual requests (processed and stored results from live conversations)Test runs are typically created when previewing agent behavior on a conversation without persisting results. Actual requests are created when an agent processes a conversation and stores the results for analytics.
| agentId required | integer Example: 123 The AI agent ID |
| is_test_run | string Enum: "true" "false" Example: is_test_run=true Filter by request type. Use |
{- "data": [
- {
- "id": 456,
- "session_id": "1f07d9fe-b515-6c3e-8fd2-ce54fb85a059",
- "status": "completed",
- "agent_type": "playbook",
- "is_test_run": true,
- "created_at": "2024-01-15T10:30:00Z",
- "finished_at": "2024-01-15T10:30:45Z"
}
]
}Returns details of a specific AI agent request including the prompt sent and response received.
| agentId required | integer Example: 123 The AI agent ID |
| requestId required | integer Example: 456 The request ID |
{- "data": {
- "id": 456,
- "session_id": "1f07d9fe-b515-6c3e-8fd2-ce54fb85a059",
- "agent_id": 123,
- "agent_name": "Sales Playbook Agent",
- "status": "completed",
- "agent_type": "playbook",
- "agent_type_settings": { },
- "agent_custom_prompt": "string",
- "process_response": true,
- "test_run": false,
- "response": "string",
- "playbook_summary": "string",
- "created_at": "2024-01-15T10:30:00Z",
- "finished_at": "2024-01-15T10:30:45Z"
}
}Executes an AI agent on a specific conversation synchronously. Returns the analysis results immediately. Use is_test_run=false to process and store results.
| agentId required | integer Example: 123 The AI agent ID |
| conversationId required | string Example: 1f07d9fe-b515-6c3e-8fd2-ce54fb85a059 The conversation ID (session UUID) |
| is_test_run | boolean Default: true If true, results are not persisted. Default: true |
| force | boolean Default: false If true, forces re-execution even if cached results exist. Default: false |
{- "is_test_run": true,
- "force": false
}{- "data": {
- "id": 456,
- "session_id": "1f07d9fe-b515-6c3e-8fd2-ce54fb85a059",
- "agent_id": 123,
- "agent_name": "Sales Playbook Agent",
- "status": "completed",
- "agent_type": "playbook",
- "agent_type_settings": { },
- "agent_custom_prompt": "string",
- "process_response": true,
- "test_run": false,
- "response": "string",
- "playbook_summary": "string",
- "created_at": "2024-01-15T10:30:00Z",
- "finished_at": "2024-01-15T10:30:45Z"
}
}