Coaching

Our Coaching Service API provides a comprehensive set of endpoints to create, read, update, delete, acknowledge, list, export, and manage all coaching-related entities—such as comments, plans, sessions, scorecards, and targets—covering everything from scorecard backfills to retrieving evaluation periods and agent quotas.

Languages
Servers
https://{api-domain}.cresta.com/

CoachingService

Operations

List the coaching progresses for the given time range and agents

Request

Path
parentstringrequired

Resource name of the parent. Format: customers/{customer_id}/profiles/{profile_id}

Bodyapplication/jsonrequired
agentUserNamesArray of strings(The agent user resource names to get the coaching overviews for. Format: customers/{customer_id}/users/{user_id})
pageTokenstring(Page token)
pageSizeinteger(int32)(Page size)
includeInactiveUsersboolean(If the result should include deactivated users)
groupNamesArray of strings(Group resource names to get the coaching overviews for. Format: customers/{customer_id}/groups/{group_id})
usecaseNamesArray of strings(Usecase resource names to filter the scorecards, conversations, and coaching plans for coaching progresses. Format: customers/{customer_id}/profiles/{profile_id}/usecases/{usecase_id})required
includeDevUsersboolean(If the result should include dev users)
orderBystring(coachingRetrieveCoachingProgressesRequestOrderBy)

Enum that denotes the ordering of the coaching progresses.

  • ORDER_BY_UNSPECIFIED: Unspecified order. The default order is by the agent name.
  • ORDER_BY_PROGRESS: order by the progress made
  • ORDER_BY_GAP: order by the gap to targets
Default "ORDER_BY_UNSPECIFIED"
Enum"ORDER_BY_UNSPECIFIED""ORDER_BY_PROGRESS""ORDER_BY_GAP"
orderDirectionstring(coachingRetrieveCoachingProgressesRequestOrderDirection)

Enum that denotes the ordering direction of the coaching progresses.

  • ORDER_DIRECTION_UNSPECIFIED: Unspecified order direction.
  • ORDER_DIRECTION_ASC: Ascending order.
  • ORDER_DIRECTION_DESC: Descending order.
Default "ORDER_DIRECTION_UNSPECIFIED"
Enum"ORDER_DIRECTION_UNSPECIFIED""ORDER_DIRECTION_ASC""ORDER_DIRECTION_DESC"
scorecardTemplateNamesArray of strings(Scorecard template names to filter on. Only the stats for the scorecards that are tied to the scorecard templates will be returned. You need to specify the revision id as *. Format: customers/{customer_id}/profiles/{profile_id}/scorecardTemplates/{scorecard_template_id}@*)
includeIndirectGroupMembersboolean(If include indirect group members when the group filter is applied)
curl -i -X POST \
  'https://{api-domain}.cresta.com/v1/{parent=customers/*/profiles/*}/coachingProgresses:retrieve' \
  -H 'Content-Type: application/json' \
  -d '{
    "agentUserNames": [
      "string"
    ],
    "pageToken": "string",
    "pageSize": 0,
    "includeInactiveUsers": true,
    "groupNames": [
      "string"
    ],
    "usecaseNames": [
      "string"
    ],
    "includeDevUsers": true,
    "orderBy": "ORDER_BY_UNSPECIFIED",
    "orderDirection": "ORDER_DIRECTION_UNSPECIFIED",
    "scorecardTemplateNames": [
      "string"
    ],
    "includeIndirectGroupMembers": true
  }'

Responses

A successful response.

Bodyapplication/json
agentCoachingProgressesArray of objects(agents' progresses)
Response
application/json
{ "agentCoachingProgresses": [ { … } ] }

Get a list of coaching sessions.

Request

Path
parentstringrequired

Resource name of the parent. Format: customers/{customer_id}/profiles/{profile_id}

Query
pageSizeinteger(int32)

Page size for the response.

pageTokenstring

The next page token for paging.

agentUserNamestring

Resource name of the agent to get the coaching sessions for. Format: customers/{customer_id}/users/{user_id}.

coachingPlanNamestring

Coaching plan you want to retrieve the sessions for Format: customers/{customer_id}/profiles/{profile_id}/coachingPlans/{coaching_plan_id}.

usecaseNamesArray of strings

Usecase resource names to filter the coaching sessions Made optional for backwards compatibilty, is actually required. Will work with only a single usecase, field is made repeated for future proofness. Format: customers/{customer_id}/profiles/{profile_id}/usecases/{usecase_id}.

curl -i -X GET \
  'https://{api-domain}.cresta.com/v1/{parent=customers/*/profiles/*}/coachingSessions'

Responses

A successful response.

Bodyapplication/json
coachingSessionsArray of objects(A coaching session. Next ID: 16)read-only

The requested coaching sessions resources.

nextPageTokenstringread-only

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

Response
application/json
{ "coachingSessions": [ { … } ], "nextPageToken": "string" }

Create a coaching session.

Request

Path
parentstringrequired

Resource name of the parent. Format: customers/{customer_id}/profiles/{profile_id}

Bodyapplication/jsonrequired

Coaching session to be created.

namestring(Resource name for the coaching session Format: customers/{customer_id}/profiles/{profile_id}/coachingSessions/{coaching_session_id})
createTimestring(date-time)required

When the coaching session is created.

updateTimestring(date-time)required

When the coaching session is last updated.

managerUpdateTimestring(date-time)required

When the coaching session is last updated by the manager.

agentUpdateTimestring(date-time)required

When the coaching session is last updated by an agent action.

acknowledgeTimestring(date-time)

The time when the agent acknowledged the coaching session.

agentCommentstring

The comment the agent left on the coaching session.

agentUserNamestring(Resource name of the agent who is subject to the coaching session Format: customers/{customer_id}/users/{user_id})required
creatorUserNamestring(Resource name for the creator of this coachin session. Format: customers/{customer_id}/users/{user_id})required
coachingPlanNamestring(Resource name for the coaching plan this coaching session belongs to. Format: customers/{customer_id}/profiles/{profile_id}/coachingPlans/{coaching_plan_id})required
sessionTimestring(date-time)(The scheduled time of the session)
meetingNotesstring

Notes taken during the coaching session.

managerSubmitTimestring(date-time)

When the manager submitted the coaching session.

agentSubmitTimestring(date-time)

When the agent submitted the coaching session.

usecaseNamestring(Resource name of the usecase this coaching session belongs to. Format: customers/{customer_id}/profiles/{profile_id}/usecases/{usecase_id})
managerSubmitterUserNamestring(Resource name of whom updated the session note Format: customers/{customer_id}/users/{user_id})
curl -i -X POST \
  'https://{api-domain}.cresta.com/v1/{parent=customers/*/profiles/*}/coachingSessions' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "createTime": "2019-08-24T14:15:22Z",
    "updateTime": "2019-08-24T14:15:22Z",
    "managerUpdateTime": "2019-08-24T14:15:22Z",
    "agentUpdateTime": "2019-08-24T14:15:22Z",
    "acknowledgeTime": "2019-08-24T14:15:22Z",
    "agentComment": "string",
    "agentUserName": "string",
    "creatorUserName": "string",
    "coachingPlanName": "string",
    "sessionTime": "2019-08-24T14:15:22Z",
    "meetingNotes": "string",
    "managerSubmitTime": "2019-08-24T14:15:22Z",
    "agentSubmitTime": "2019-08-24T14:15:22Z",
    "usecaseName": "string",
    "managerSubmitterUserName": "string"
  }'

Responses

A successful response.

Bodyapplication/json
coachingSessionobject(A coaching session. Next ID: 16)
Response
application/json
{ "coachingSession": { "name": "string", "createTime": "2019-08-24T14:15:22Z", "updateTime": "2019-08-24T14:15:22Z", "managerUpdateTime": "2019-08-24T14:15:22Z", "agentUpdateTime": "2019-08-24T14:15:22Z", "acknowledgeTime": "2019-08-24T14:15:22Z", "agentComment": "string", "agentUserName": "string", "creatorUserName": "string", "coachingPlanName": "string", "sessionTime": "2019-08-24T14:15:22Z", "meetingNotes": "string", "managerSubmitTime": "2019-08-24T14:15:22Z", "agentSubmitTime": "2019-08-24T14:15:22Z", "usecaseName": "string", "managerSubmitterUserName": "string" } }