This API will be deprecated in a future version of MaestroQA - please use our new Coaching APIs moving forward
Authentication
Please consult the existing API Docs here for information on how to obtain an API token.
Rate Limits
We are placing this endpoint in our “Hard Endpoints” bucket at launch - meaning the rate limits are 1 request / second, 30 requests / minute.
This is subject to change (as is the max time range), so we recommend building in error handling for hitting the rate limit - please see the “Rate Limit Error Response” section.
Get Coaching Export Data
Export coaching sessions and related data, including coaching points and to-dos, that were created or took place within the specified date range (maximum 90 days).
POST
=> https://app.maestroqa.com/api/v1/coaching-sessions
Request Headers
Include your API token in the request headers, under the apiToken
key
Request Body (JSON)
When making a request to the coaching data API endpoint, you need to include a JSON object in the request body. This JSON object should contain the following parameters:
startDate
: This parameter specifies the start date to use when determining which coaching sessions to return. You should format the date as [year]-[month]-[day]endDate
: This parameter specifies the end date to use when determining which coaching sessions to return. The end date must be within 90 days of the start date. Format the date as [year]-[month]-[day]. For instance, "2023-07-08" corresponds to July 8, 2023.timeAxis
: This parameter allows you to choose which date to use when filtering coaching sessions. There are two options:"meetingDate"
: Use the meetingDate field of coaching sessions to filter based on the actual meeting date."createdAt"
: Filter coaching sessions based on their creation date.
Here's an example of a request body JSON object:
{
"startDate": "2023-06-08",
"endDate": "2023-07-08",
"timeAxis": "createdAt"
}
Successful Response
Successful requests will receive a response with an array of coaching sessions; this array contains objects representing coaching sessions that match the requested criteria. Each coaching session object includes various fields that provide information about the session, associated coaching points, and action items.
Further details about resources returned by the Coaching API can be found in Understanding the Coaching Data Schema.
Here's an example of a response from the coaching data API endpoint:
[
{
"_id": "JuEDLQtksMoSAdteK",
"coachingFormName": "Weekly 1:1 for Harrison",
"coachingTemplateId": "16906fb5ce9d57646fa38362_2",
"coachingTemplateName": "1:1 Session",
"meetingFormat": null,
"formCreatorId": "nQHdkaE76F7upgJwr",
"formCreatorName": "james.raine@maestroqa.com",
"coachName": "james.raine@maestroqa.com",
"coachId": "nQHdkaE76F7upgJwr",
"agentId": "72999",
"agentName": "Harrison Hunter",
"createdAt": "2023-06-30T21:16:51.588000",
"updatedAt": "2023-06-30T21:17:40.093000",
"sharedWithAgent": true,
"meetingDate": "2023-06-30T21:16:51.423000",
"agentConfirmed": false,
"coachConfirmed": true,
"coachNotes": "Coaching notes...",
"agentNotes": "Agent's notes...",
"isDeleted": null,
"activityLog": [
{
"userId": "nQHdkaE76F7upgJwr",
"userEmail": "james.raine@maestroqa.com",
"actionType": "update",
"descriptions": [
"Session date for 'Weekly 1:1 for Harrison' set to Fri Jun 30 2023 21:16:51 GMT+0000 (Coordinated Universal Time)"
],
"timestamp": "2023-06-30T21:16:59.867000",
"ipAddress": "50.71.249.143"
},
{
"userId": "nQHdkaE76F7upgJwr",
"userEmail": "james.raine+admin@maestroqa.com",
"actionType": "create",
"descriptions": [
"Created session 'Weekly 1:1 for Harrison'"
],
"timestamp": "2023-06-30T21:16:51.599000",
"ipAddress": "50.71.249.143"
}
],
"coachingPoints": null,
"todos": null
},
// Additional coaching session objects...
]
In this example, each coaching session object contains fields such as:
_id: The unique identifier of the coaching session.
coachingFormName: The name or title of the associated coaching form.
coachingTemplateId: The ID of the coaching template used for the session.
coachingTemplateName: The name or title of the coaching template used for the session.
meetingFormat: The format or type of meeting, such as in-person or virtual.
formCreatorId: The ID of the user who created the coaching form.
formCreatorName: The name of the user who created the coaching form.
coachName: The name of the coach facilitating the session.
coachId: The ID of the coach facilitating the session.
agentId: The ID of the agent participating in the session.
agentName: The name of the agent participating in the session.
createdAt: The date and time when the coaching session was created.
updatedAt: The date and time when the coaching session was last updated.
sharedWithAgent: Indicates whether the coaching session has been shared with the agent.
meetingDate: The date and time of the coaching session.
agentConfirmed: Indicates whether the agent has confirmed the coaching session.
coachConfirmed: Indicates whether the coach has confirmed the coaching session.
coachNotes: Notes or comments from the coach about the session.
agentNotes: Notes or comments from the agent about the session.
isDeleted: Indicates whether the coaching session has been deleted.
activityLog: An array of activity log objects, representing actions performed on the coaching session.
coachingPoints: An array of coaching point objects associated with the session.
todos: An array of action item objects associated with the session.
Please note that the response may contain multiple coaching session objects, each representing a different session based on the requested criteria.
Return schema
Coaching Sessions
Coaching sessions represent one-on-one meetings or sessions between a coach and an agent. Each coaching session contains the following information:
_id
: The unique identifier (ID) of the coaching sessioncoachingFormName
: The name or title of the coaching sessioncoachingTemplateId
: The ID of the coaching template used for the session.coachingTemplateName
: The name or title of the coaching template used for the session.meetingFormat
: The format or type of meeting, such as in-person, virtual, or phone call.formCreatorId
: The user ID of the user who created the coaching session.formCreatorName
: The name of the user who created the coaching sessioncoachName
: The name or email of the coach facilitating the sessioncoachId
: The user ID of the coach facilitating the sessionagentId
: The external agent ID of the agent being coached (note: this is the ID for the agent from your helpdesk integration(s))agentName
: The name of the agent participating in the session.createdAt
: The date and time when the coaching session was created.updatedAt
: The date and time when the coaching session was last updated.sharedWithAgent
: Indicates whether the coaching session has been shared with the agent.sharedWithAgentDate
: The date the session was shared with the agentmeetingDate
: The date and time of the coaching session.agentConfirmed
: Indicates whether the agent has confirmed the coaching session (or "marked complete")agentConfirmedDate
: The date the agent marked the session as "complete"coachConfirmed
: Indicates whether the coach has confirmed the coaching session (or "marked complete")coachConfirmedDate
: The date the coach marked the session as "complete"coachNotes
: Notes or comments from the coach about the session.agentNotes
: Notes or comments from the agent about the session.
Coaching Points
Coaching points are specific areas of focus or discussion within a coaching session. Each coaching point represents a particular topic or aspect and includes the following details:
_id
: The unique identifier (ID) of the coaching point.coachingFormIds
: The IDs of the coaching sessions associated with the coaching point.type
: The type of coaching point: strength, opportunity, or N/Aclassification
: The classification or category of the coaching point, such as general, QA, CSAT, or productivity.ticketId
: The ID of the ticket associated with the coaching point.subject
: The subject or topic of the coaching point.rubricName
: The name of the rubric associated with the coaching point (if applicable)criteriaName
: The name of the criteria associated with the coaching point (if applicable)kpiName
: The name of the key performance indicator (KPI) associated with the coaching point (if applicable)score
: The score for the associated grade, criteria, KPI, or CSAT.agentNotes
: Notes or comments from the agent about the coaching point.coachNotes
: Notes or comments from the coach about the coaching point.createdAt
: The date and time when the coaching point was created.updatedAt
: The date and time when the coaching point was last updated
To-Dos
To-Do's are tasks or action items that can be associated with a coaching session. Each to-do includes the following information:
_id
: The unique identifier (ID) of the to-do.actionString
: The description or details of the to-do.coachingFormIds
: The IDs of the coaching sessions associated with the to-do.completedAt
: The date and time when the to-do was completed.createdAt
: The date and time when the to-do was created.creatorId
: The ID of the user who created the to-do.creatorName
: The name of the user who created the to-dodescription
: Additional details or instructions for the to-do.link
: A link or URL associated with the to-do.status
: The status of the to-do: "complete" or "incomplete"title
: The title or name of the to-do.type
: The type or category of the to-do: "general", "guru", "lessonly"updatedAt
: The date and time when the to-do was last updated.
These schemas provide structure to your coaching data and ensure that every coaching session, coaching point, and to-do has the information it needs to be useful and actionable.