Conversation Intelligence API

API is rate limited to 5 requests per second between 6AM and 9PM ET, and 25 requests per second between 9PM ET and 6AM ET. (Rate limiting will just queue the request rather than returning an error, although timeouts will happen if queued for at least one minute.)

API Overview

Request API access to be enabled for your instance to have access token credentials provisioned, See below for all the potential data points that can be leveraged.

If you have any questions on leveraging these, please reach out to your Coach Customer Success Representative to set up a call with one of our Solutions Engineers who will make sure you get up and running with our API.

Jump to:

Base URL

https://users.execvision.io/api/ev/2/users

Authentication

For authentication with the C360 API, please contact your customer success rep who will
have our tech team spin up and share a secure set of credentials and share accordingly. Follow the standard method for basic authentication for your particular http client. The username will be your user ID, and password will be the provided password. Below is an example of basic authentication using “curl”. in short, means that the credentials will be specified in the “Authorization” request header using the following format:

  • username (your user ID) and password joined by a single colon : and

  • then that is encoded using Base64 encoding to form the credentials string.

  • Then that credentials string is set to the request header in the following format:

Authorization: Basic <credentials>

Delete Endpoints are only available upon request.

Meaning of Common Query Parameter Fields

This version uses a last modified timestamp and limit approach to queries, rather than returning all results from a specific date. It also adds the ability to delete calls (only if enabled for the user’s token).

  • The since parameter, is required wherever it is listed and is a timestamp in ISO 8601 format (e.g., “2021-12-31T09:15Z”). Currently specifying seconds in the timestamp is ignored.

  • Some endpoints accept an optional last_id parameter. For those endpoints, the parameter should be given to ensure correct paging – from the last entry in the previous page fetched, get both the last modified timestamp (to pass as since) AND the id (to pass as last_id), and pass them BOTH to the endpoint to receive the next page. Failure to do this could result in some data being missed when multiple objects have the same last modified date. Known bug: Sometimes the next page will include the id specified in the last_id parameter.

  • The limit parameter is a nonnegative integer. The maximum value for all endpoints is 1000 unless otherwise specified. In certain cases, the maximum value may be lower – see individual endpoint docs for exceptions. The default value is 100 if none is specified.

Paging of Endpoints that Return a List of Values

For endpoints such as Calls and Call Topics that have both since and last_id first make a request with just the since parameter.

https://users.execvision.io/api/ev/2/calls?since=2023-08-15T00:00:00Z&limit=1000

Response

[
{"id": "aadb60cc-f532-479b-be74-9bd8b487edc0",
"callerId": "ce915029-9048-4853-8791-2e944d5c44b9",
...
},
...
{"id": "bfc4970b-5971-4856-987f-6f2fe712dbd0",
...
"callTime": "2023-08-15T10:00:01Z"
...
}
]

The for next page set the since and last_id to the values corresponding to the last object from the prior response.

https://users.execvision.io/api/ev/2/calls?since=2023-08-15T10:00:01Z&last_id=bfc4970b-5971-4856-987f-6f2fe712dbd0&limit=1000

For other endpoints that have just a since and not a last_id just update the since parameter to the timestamp of the last object in the previous response.

API End Points

Path

Response

/api/ev/2/check GET

Empty. Use this to check access and connectivity.

/api/ev/2/users GET

Array of active User objects.

/api/ev/2/teams GET

Array of active Team objects.

/api/ev/2/departments GET

Array of active Department objects.

/api/ev/2/calls?since={since}[&limit={limit}][&last_id={id}][&include_transcripts=false][&include_crm_matches=false][&render_templates=false] GET

Array of calls that experienced a state change at or after since (max page size 1000 when render_templates is false, 100 when it is true). Stage changes include any progress of a call through our data pipeline (e.g., a transcript was generated, metadata was updated, etc.).

/api/ev/2/calls/deleted?since={since}[&limit={limit}][&last_id={id}] GET

Array of calls deleted at or after since.

/api/ev/2/calls/search?{field_name}={field_value}

Array of strings, the ids of calls matching the search. Results limited to 1000 ids.

/api/ev/2/call/{id} GET

Look up a call by id.

/api/ev/2/call/{id} DELETE

Delete a call by id. Not allowed unless explicitly enabled for the requesting user’s token.

/api/ev/2/call_topics?since={since}[&limit={limit}][&last_id={id}][&window_length={length}&minimum_matches={matches}] GET

Array of topic matches in calls, where calls are in the complete state and where the calls were last updated at or after since. The maximum allowed value for limit is 100.
Optionally, if window_length (in seconds) and minimum_matches is given, a sliding window filter will be applied. This filter eliminates any topic that doesn’t appear at least minimum_matches number of times within a timeframe of window_length seconds.

/api/ev/2/listens?since={since}[&limit={limit}] GET

Array of listens last modified at or after since - includes listener, file id, total time. Computed nightly, so can only query up to the previous day.

/api/ev/2/scores?since={since}[&limit={limit}] GET

Array of scores last modified at or after since, including normalized percentage score. Results per answer, include "result" id corresponding to a scorecard being filled out by a single person.

The limit here applies to the scorecard results, not the number of answers (e.g., a request with limit=1 should be expected to return an array containing the answers one user provided on one scorecard, not simply one answer).

/api/ev/2/scorecard/{id} GET

Get a scorecard definition.

/api/ev/2/topics GET

Get a list of all active topic definitions.

/api/ev/2/feedback?since={since}[&limit={limit}] GET

Array of comments and highlights left on this date.

/api/ev/2/shares?since={since}[&limit={limit}] GET

Array of shares created at or after since, both internal and external.

/api/ev/2/meetings?since={since}[&limit={limit}] GET

Array of meetings last modified at or after since, including participants and meeting time.

/api/ev/2/plans?since={since}[&limit={limit}] GET

Array of coaching plans last modified at or after since, including a summary of meetings that have happened in the plan.

/api/ev/2/kpis?since={since}[&limit={limit}] GET

Array of KPI observations last modified at or after since.

/api/ev/2/kpi/{id} GET

Get a particular KPI definition.

/api/ev/2/transcript/{id} GET

Get a simplified transcript by call id.

Written specifically for Intuit. Discuss before sharing with other customers.

Calls Endpoint

The calls endpoint offers a number of parameters to control the data returned:

  • include_transcripts (boolean, default = false). Should the transcript field be included in calls returned? This option can increase the size of the response significantly.

  • include_crm_matches (boolean, default = false). Should the crmMatches field be included in the calls returned? This option can increase the time taken to return responses.

  • render_templates (boolean, default = false). Should the call card templates be added to the metadata field in the calls? This option can cause slower response time. IMPORTANT: If true, the maximum limit is reduced to 100.

The call endpoint supports none of these parameters, returning all optional data described above.

Search Endpoint

The calls/search endpoint takes exactly one field name and a value of that field and returns the ids of calls having the given value in the given field. For example, assuming a call exists in your account with id "callid",

/api/ev/2/calls/search?metadata.id=callid will return ["callid"].

Note that the value passed must be all lowercase to match properly. For example, if you wanted to find calls where the company field contains the string Hewlett Packard Enterprise, you would use the following query:

/api/ev/2/calls/search?metadata.company=hewlett+packard+enterprise

You can find available field names by looking at the metadata in the call and calls responses.

Results are limited to 1000 ids. There is no pagination.

Response Object Examples

User

Field

Type

Description

userId

string

ID of user

email

string

user's email

firstName

string

users' first name

lastName

string

user's last name

teamId

string

user's team ID

departmentId

string

user's department ID

systemIds

array of strings

array of IDs from external integrations

Example:

{
"userId": "fc9a78ce-104e-43e4-b59f-38255af837bd",
"email": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe",
"teamId": "c482d0b3-c2f0-4276-920a-37487c61d72c",
"departmentId": "54c2c3ab-48c1-4790-bac7-16fe1475f581"
// these correspond to the user's id in your dialer/crm
"systemIds": ["jason","argonauts"]
}

Team

Field

Type

Description

id

string

ID of team

name

string

team's name

managerId

string

user ID of manager

departmentId

string

team's department ID

Example:

{
"id":"c482d0b3-c2f0-4276-920a-37487c61d72c",
"name":"Quality Assurance Team",
"managerId":"4287afe4-a4e1-4714-9725-68bebb6718a1",
"departmentId":"54c2c3ab-48c1-4790-bac7-16fe1475f581"
}

Department

Field

Type

Description

id

string

ID of department

name

string

department's name

Example:

{
"id":"fe3577be-b911-485e-82cd-d024c65e5bdd",
"name":"New department"
}

Call

Field

Type

Description

id

string

ID of call.

callerEmail

string

Email address of the caller.

callerId

string

User ID of caller.

callSummary

object or null

AI-generated call summary.

callTime

string

Date and time of start of call in ISO 8601 format.

duration

number

Duration of call in seconds.

direction

string

Direction of call: INBOUND, OUTBOUND, or SCREENSHARE

state

string

Processing state of call: COMPLETE, CONVERTER_REJECTED, ...

transcript

array of objects or null

Array of transcription word or phrase (see Transcription Word).

crmMatches

array of objects

Array of CRM match objects.

stats

object

Call stats.

originalPath

string

Original name and/or path of the recording file.

metadata

object

Call's custom fields mapped from the CRM. The fields in this object vary depending on what values have been set for a specific call.

Example:
{
"id": "a987a7b3-74e9-421e-8c96-2fdcfbda1c8b",
"callerId": "f3624158-1204-4fe3-b71a-38677f0ec547",
"callTime": "2018-01-01T11:11:11Z",
// seconds
"duration": 123,
"direction": "INBOUND",
// OUTBOUND, SCREENSHARE
"state": "COMPLETE",
"transcript": [
{
"start": "26.594",
"end": "26.704",
"word": "hey",
// punctuation following word
"p": ",",
// "voice" - 0-indexed speaker number
"v": 1
},
...
],
"crmMatches": [
{
"crmName": "Salesforce",
"activityCrmId": "00T6Q00008kHwVrUAK",
"account": {
"crmId": "0017000000kjYm7AAE",
"name": "memoryBlue"
},
"contacts": [
{
"crmId": "0035w00002zo034AAA",
"name": "Kellie Courville"
}
],
"engagement": null
}
],
"stats": {
"internalTalkTime": 418,
"externalTalkTime": 238,
"talkRatio": 0.6371951219512195,
"interchangesPerMinute": 2.589041095890411,
"longestSegmentDurations": {
"1": 34.47000000000003,
"0": 76.0
},
"talkSpeeds": [
{
"start": 76.24,
"end": 375.23,
"wordsPerMinute": {
"1": 56.59052142212114,
"0": 102.74591123448945
}
},
{
"start": 375.74,
"end": 675.63,
"wordsPerMinute": {
"0": 120.24408949948315,
"1": 54.62002734335924
}
},
{
"start": 675.64,
"end": 727.1,
"wordsPerMinute": {
"1": 88.61251457442668,
"0": 72.28915662650597
}
}
]
},
// the original name/path of the recording file
"originalPath": "foo.txt",
"callSummary": {
"nextSteps": [
"Marc will debrief Tim on the conversation.",
"Keep optimizing and handling inbound leads efficiently to not let any fall through the cracks."
],
"questionsAndAnswers": [
{
"question": "Q: What is the speaker's company focused on right now?",
"answer": "A: The speaker's company is focused on shedding their start-up skin, getting refined in their process, having organized structure, and becoming a well-structured and scalable global organization."
}
],
"summary": "The phone call is a recording from the Liberty Box recordings in the public domain. It is a preface to the book of stories for the storyteller by Fe C. The preface discusses the importance of storytelling in the home and school and how it has become recognized as an important part of the equipment of parents and teachers. The difficulty for parents and teachers is often finding fresh material, but this book provides a collection of stories drawn from many nations and sources, including real-life tales of child life, child heroes, and animals. The stories in the book have been chosen for their moral value and present virtues such as persistence, faithfulness, honesty, generosity, and loyalty. The themes are emphasized more than once, and the form of each story is such that the parent or teacher can tell or read it with slight modifications. The author expresses appreciation for helpful suggestions as to material received from Mrs. Mary W. Cro, a teller of stories at various branches of the Boston public library."
},
// the content of this map will correspond to the data from your crm that's uploaded
"metadata": {
"deleted": false,
"opportunity_price_point": 50000,
"uploader": "124"
}
}

Call Summary

Field

Type

Description

nextSteps

array of string

a list of suggest next steps for call participants

questionsAndAnswers

array of object

list of questions and answers from the call

summary

string or null

a summary of the call’s transcript

Questions and Answers

Field

Type

Description

question

string

the question

answer

string

the answer

Transcription Word or Phrase

Field

Type

Description

start

string

start of the transcription object in seconds, formatted as a string

end

string

end of transcription object in seconds, formatted as a string

word

string

transcription word (or phrase)

p

optional string

punctuation following word (or phrase)

v

number

voice/speaker, zero-indexed speaker number

Example:

{
"start": "26.594",
"end": "26.704",
"word": "hey",
// punctuation following word
"p": ",",
// "voice" - either 0 or 1
"v": 1
}

CRM Match Object

Field

Type

Description

crmName

string

Name of the CRM system (e.g., Salesforce, Outreach).

activityCrmId

string

ID in the CRM system of the activity associated with the call.

account

object or null

CRM account entity (if any) associated with the call.

contacts

array of object

CRM contact entities associated with the call.

engagement

object or null

CRM engagement (e.g., an Opportunity in Salesforce) entity (if any) associated with the call

CRM Entity Object

Field

Type

Description

crmId

string

ID of the entity in the source CRM system.

name

string

Name of the entity in the source CRM system.

Call Stats

Field

Type

Description

internalTalkTime

number

Total talk time (seconds) by internal speakers.

externalTalkTime

number

Total talk time (seconds) by external speakers.

talkRatio

number

Ratio of internal time to total talk time.

interchangesPerMinute

number

Number of speaker changes per minute.

longestSegmentDurations

object

JSON object mapping transcript speaker numbers (as strings, because this is JSON) to duration of the longest continuous, uninterrupted speech by that speaker in the call.

talkSpeeds

array of object

Array of talk speeds, one for each (roughly) five-minute section of the call.

Talk Speeds

Field

Type

Description

start

number

Start of this section, in seconds since the start of the call.

end

number

End of this section, in seconds since the start of the call.

wordsPerMinute

object

JSON object mapping transcript speaker numbers (as strings, because this is JSON) to the approximate number of words per minute spoken by that speaker during this section.

Deleted Call

Field

Type

Description

id

string

ID of the deleted call.

deletedAt

string (ISO timestamp)

Time the call was deleted.

callerId

string

User ID of caller.

callTime

string (ISO timestamp)

Time the call was made.

Example:
{
"id": "0f93dd42-9dab-4365-a192-2ce0b5449a71",
"deletedAt": "2022-05-19T16:58:14.048648Z",
"callerId": "00be2baf-f0b9-47b7-9fee-85693f4d7fa5",
"callTime": "2022-05-19T16:58:09.749Z"
}

Topic Match

Field

Type

Description

callId

string

ID of the call

modified

string (ISO timestamp)

last modified timestamp of the call in ISO 8601 format

questionCounts

object

counts of canonical questions matched in the call’s transcript

topicMatches

array of object

array of topic matches from the call’s transcript

Canonical Question Counts

Find

Type

Description

internalSpeakerQuestionCount

number (nonnegative integer)

number of sentences spoken by an identified internal speaker containing a match of the canonical questions topic

externalSpeakerQuestionCount

number (nonnegative integer)

number of sentences spoken by an identified external speaker containing a match of the canonical questions topic

unknownSpeakerQuestionCount

number (nonnegative integer)

number of sentences spoken by an unidentified speaker containing a match of the canonical questions topic

Single Topic Match

Each match is a text block from the call’s transcript with a list of topics that matched within the block.

Field

Type

Description

startTime

number

start time, in seconds since the beginning of the call, of the text block

endTime

number

end time, in seconds since the beginning of the call, of the text block

text

string

the text of the block

speakerType

string (enumeration)

one of INTERNAL, EXTERNAL, UNKNOWN

topicsWithMatches

array of object

array of topics with matches

Topic with Matches

Field

Type

Description

topicId

string

ID of the topic

topicName

string

name of the topic

matches

array of object

array of matches

Single Topic Match

Provides information about an individual topic match within the block. The indices provided are zero-based indexes into the block’s text, if that text were an array split on whitespace. They are inclusive. For example if the start and end indices are both zero, that indicates that only the first word of the block matched the topic.

Field

Type

Description

searchText

array of string

words and phrases from the topic that matched

matchingText

string

text from the transcript that matched

matchStartTime

number

start time, in seconds since the beginning of the call, of the matching text

matchStartIndex

number (nonnegative integer)

start index of the match in the text block

matchEndTime

number

end time, in seconds since the beginning of the call, of the matching text

matchEndIndex

number (nonnegative integer)

end index of the match in the text block

Listen

Field

Type

Description

date

string

date of a listen in ISO 8601 format

callId

string

ID of call listened to

listener

string

user ID of listener

caller

string

userID of caller

timeListened

number

length of listen in seconds

Example:

{
"date": "1950-05-03",
"modified": ""
"callId": "7f6c3b45-cdcc-433b-ad3d-314a5cf91cd5",
"listener": "83fe2c2f-2422-4741-84b4-1d7a0187d681",
"caller": "83fe2c2f-2422-4741-84b4-1d7a0187d681",
// seconds
"timeListened": 10.0
}

Scores

Field

Type

Description

reviewer

string

email of reviewer

reviewerTeam

string

team name of reviewer

caller

string

email of caller

callerTeam

string

team name of caller

callId

string

ID of the call scored

resultId

string

ID of the score

scoreTime

string

date and time of scoring in ISO 8601 format

modified

string

last modified time in ISO 8601 format

scorecardId

string

ID of the scorecard

scorecardName

string

name of the scorecard

questionId

string

ID of question

question

string

text of question

skill1

string or null

first skill associated with question

skill2

string or null

second skill associated with question

skill3

string or null

third skill associated with question

scheme

string

scheme used for scoring (see Scoring Scheme)

answer

number

answer to score

rawAnswer

number

raw answer to the score

reason

string or null

reason for score, if provided

comment

string or null

comment with score, if provided

Example:

This exactly matches the format that’s produced by the UI export.

{
"reviewer": "tim.smith@example.com",
"reviewerTeam": "My Team",
"caller": "inttest4@bah.com",
"callerTeam": "trending_team_name",
"callId": "scorecard_mb1",
"resultId": "CR23",
"scoreTime": "2018-11-09T18:09:11.794403Z",
"modified": "2018-11-09T18:09:11.794403Z",
"scorecardId": "c_scorecard",
"scorecardName": "C",
"questionId": "Q1C",
"question": "Q1",
"skill1": "hunting",
"skill2": "trapping",
"skill3": "charring",
"scheme": "OneToThree",
"answer": 3.0,
"rawAnswer": 5,
"reason": null,
"comment": null
}

Scoring Scheme

Answer

Raw Answer

Percentage

OneToFive

0

0

0%

1

1

20%

2

2

40%

3

3

60%

4

4

80%

5

5

100%

OneToThree

0

0

0%

1

1

33%

2

3

66%

3

5

100%

OneTwo

0

0

0%

1

3

50%

2

5

100%

YesNo

no

0

0%

yes

5

100%

PassFail

fail

0

0%

pass

5

100%

Scorecard

The scorecard api returns an array of scorecard questions each with the following fields:

Field

Type

Description

scorecardId

string

ID of scorecard

scorecardScheme

string

scheme used for scoring (see Scoring Scheme)

scorecardName

string

name of scorecard

questionID

string

ID of question

questionText

string

text of question

Example:

[
{
"scorecardId": "82d02942-1bc4-4678-8e4e-7d3e56a5dc10",
"scorecardScheme": "OneToThree",
"scorecardName": "Accounting Profiling",
"questionId":" f310c6b0-1f39-46f0-9bb2-f15af398ddcb",
"questionText": "Does the rep inquire about the number of total reps"
},...
]

Topic Definition

Field

Type

Description

id

number

ID of topic

name

string

name of topic

words

string

words/phrases that make up the topic

Example:

{
"id": 1
"name": "Common objections"
"words": ["please don't", "stop calling", "off your list"]
}

Feedback

Field

Type

Description

feedbackAt

string

date and time when feedback given ISO 8601 format

modified

string

last modified timestamp in ISO 8601 format

callId

string

ID of call reviewed

feedbackBy

string

ID of user providing the feedback

isComment

boolean

true of feedback is a comment

isHighlight

boolean

true if feedback is a highlight

text

string or null

text of feedback given such as highlight text or comment text

startTime

number

start time of feedback in seconds

endTime

number or null

end time of feedback in seconds

Example:

{
"feedbackAt": "2018-04-22T16:23:58.097101Z",
"modified": "2018-04-22T16:23:58.097101Z"
"callId": "10466b71-61dc-4f96-9b12-871004b1ccbc",
"feedbackBy": "08288a91-87e7-4ade-bbad-2280f064b1fc",
"isComment": true,
"isHighlight": false,
"text": "<p>enim adipisci vitae</p>",
"startTime": 10.0,
"endTime": null // will be non-null on highlights
}

Shares

Field

Type

Description

sharedAt

string

date and time when shared in ISO 8601 format

callId

string

ID of call shared

sharedBy

string

ID of user sharing call

recipientUserIds

array of strings

IDs of users receiving shared call, internal sharing

recipientEmails

array of strings

emails of receiving shared call, external sharing

Example:

{
"sharedAt": "2018-04-27T10:10:00Z",
"callId": "47d8d07c-a5af-41bf-be85-28e889cc0532",
"sharedBy": "de2ef481-e2bf-4633-8098-877a1153e054",
"recipientUserIds": ["8a5b75fb-9043-467f-9c62-ffa1b5197778", "e684b187-d622-4614-891e-beba5b1e162e"],
"recipientEmails": ["foo@bah.com"]
}

Meetings

Field

Type

Description

meetingId

number

ID of coaching meeting

planId

number

ID of coaching plan

coachId

string

user ID of coach

recipientId

string

user ID of recipient

startTime

string

meeting start date and time

endTime

string

meeting end date and time

scores

object

the skill name and score for each skill reviewed in the meeting

callReviews

array of objects

an array of calls reviewed in meeting with:

  • callId - ID of call reviewed

  • questions - scored questions in the review (see Meeting Questions)

questions

array of objects

an array of review type questions (see Meeting Questions)

comments

string or null

review comments provided, if any

modified

string

last modified timestamp in ISO 8601 format

Example:
{
"meetingId": 9266,
"planId": 3913,
"dateTime": "2020-08-17T15:00:00-04:00", // scheduled time
"coachId": "51d91544-8fef-4fe3-92f7-89d3c1c2f4ff",
"recipientId": "460a5f56-cf06-4252-b4be-c3b4220fb767",
"startTime": "2020-08-12T08:46:45.23184-04:00",
"endTime": "2020-08-12T08:46:52.408-04:00",
"scores": { // skill name to overall score for the skill, as a percent
"Challenges": 20
},
"callReviews": [ // calls + scorecard questions go here
{
"callId": "8fa41d84-a060-4e0f-95bf-d315da545e5c",
"questions": [ // scorecard questions relevant to the call.
{
"question": "Did the rep ask probing questions to uncover challenges?",
"possibleScore": 5, // always 5 for scorecard questions
"actualScore": 1,
"reviewWeight": null // always null for scorecard questions
}
]
},
{
"callId": "59bc0458-fb35-4163-8303-70ce6164e4e4",
"questions": [
{
"question": "Did the rep ask probing questions to uncover challenges?",
"possibleScore": 5,
"actualScore": 1,
"reviewWeight": null
}
]
}
],
"questions": [ // review type questions go here
{
// For text questions, the possible score and actual score will always be null, and the weight will always be 0.
"question": "This is a text question",
"possibleScore": null,
"actualScore": null,
"reviewWeight": 0
},
{
"question": "Does the rep pull it off?",
"possibleScore": 5,
"actualScore": 5,
"reviewWeight": 34
}
],
"comments": "asdfgsd fg" // general review comments, null if none.
"modified": "2020-08-12T08:46:52.408-04:00"
}

Meeting Questions

Field

Type

Description

question

string

text of question

possibleScore

number

max possible value of score

actualScore

number

score given to question

reviewWeight

number

relative weight of score relative to other scores

Example:

 {
"question": "Does the rep pull it off?",
"possibleScore": 5,
"actualScore": 5,
"reviewWeight": 34
}

Plans

Field

Type

Description

planId

string

ID of plan

name

string

Name of plan

objective

string

the objective of the plan

coachId

boolean

user ID of coach

recipientId

boolean

user ID of recipient

plannedMeetings

number

number of meetings planned

completedMeetings

number

number of meetings completed

estimatedMissedMeetings

number

estimated number of meetings in past schedule but missed

skill

array of objects

array of skills included in plan each with fields:

  • skillId – (number) ID of skill

  • skillName – (string) name of skill

modified

string

last modified timestamp in ISO 8601 format

Example:

 {
"planId": 3789,
"name": "Lead In, Pre-call Research, Aug 2020-Dec 2020",
"objective": "Alon Kostetsky should improve skills: Lead In, Pre-call Research",
"startDate": "2020-08-06T13:41:35.135707-04:00",
"coachId": "5322d716-caec-4336-95e0-3fc1ce577455",
"recipientId": "a12fac0e-63fc-4f3a-bffb-e2493139bc9d",
"plannedMeetings": 20, // number of expected meetings
"completedMeetings": 2, // number of completed meetings
// approximate number of meetings that should have happened but didn't. Determined by
// counting from plan start until completion (or date of request, for open plans) and
// subtracting completed meetings.
"estimatedMissedMeetings": 1,
"skill": [ // skills associated with the plan
{
"skillId": 44,
"skillName": "Lead In"
},
{
"skillId": 8750,
"skillName": "Pre-call Research"
}
],
"modified": 2020-08-06T13:41:35.135707-04:00"
},

KPI Observation

Field

Type

Description

observedAt

string

date and time when shared in ISO 8601 format

observerId

string

user ID of observer

observedId

string

user ID of observed

kpiId

number

ID of KPI

value

number

value of KPI

modified

string

last modified timestamp in ISO 8601 format

Example:
{
"observedAt": "2021-06-25T10:32:00Z",
"observerId": "224",
"observedId": "224",
"kpiId": 3,
"value": 18.56,
"modified": "2021-06-25T10:32:00Z"
}

KPI Definition

Field

Type

Description

kpiId

number

ID of kpi

description

string

description of kpi

frequency

string

frequency of kpi: DAILY, WEEKLY, MONTHLY, QUARTERLY

target

number

target value of kpi

Example:
{
"kpiId": 1,
"description": "Linking goals",
"frequency": "MONTHLY",
"target": 23.23
}

Simplified Transcript<button class="cc-1r0b9w7" style="font-family: inherit; display: inline; outline: none; background-color: transparent; border: none; color: var(--ds-icon, #42526e); cursor: pointer; right: 0px; padding-left: 0px; padding-right: 0px; opacity: 0; transform: translate(-8px, 0px); transition: opacity 0.2s ease 0s, transform 0.2s ease 0s;" aria-label="Copy link to heading" type="button"></button>

Fields:

Field

Type

Description

speakers

array of objects

Speakers on the call

transcript

array of objects

The transcript. Each object contains text from a single speaker.

Speaker fields:

Field

Type

Description

email

string or null

speaker’s email

firstName

string or null

speaker’s first name

lastName

string or null

speaker’s last name

speakerNumber

number

integer speaker number, which corresponds to the same field in the transcript object and can be used to match speakers with text

speakerType

string

one of INTERNAL (speaker matched a coach user), EXTERNAL (speaker matched a CRM contact), UNKNOWN (we didn’t match the speaker)

Transcript fields:

Field

Type

Description

endTime

number

end of the text, in seconds since the start of the call

speakerNumber

number

integer speaker number corresponding to the speaker of this portion of the call (see speakers above)

startTime

number

start time of the text, in seconds since the start of the call

text

string

the spoken text

Is this article helpful?
0 0 0
Leave a Comment
 
Attach a file