Please consult the main API Documentation for information on obtaining an api token and authenticating requests.
10 requests per second
100 requests per minute.
This is subject to change (as is the max number of items per requests, below), so we recommend building in error handling for hitting the rate limit.
Push Bulk CSAT Scores
Import a batch of CSAT scores into MaestroQA (max 100 items / request)
Request Body (JSON)
Note: Remove the notes following // before sending the actual API request.
"submitted_at": "2021-10-05T14:48:00.000Z", // string - the iso formatted datetime the survey response was submitted [year]-[month]-[day]T[hour]:[minute]:[second]Z ex. 2021-10-05T14:48:00.000Z - required
"ticket_id": "922250816601", // string - the id of the ticket in the helpdesk system (such as Zendesk) - required
"agent_id": "12345", // string - the id of the agent in the helpdesk system - either agent_id or agent_email is required
"agent_email": "firstname.lastname@example.org", // string - the email of the agent in the helpdesk system - either agent_id or agent_email is required
"score": 5, // integer - the primary csat score - required
"comment": "Great service!", // string - customer comment; CSAT setups often have this as a text answer to a follow up question - optional
"score_label": "Perfect", // string - textual equivalent to the numeric score - i.e. "Strongly Agree" - optional
"min_score": 0, // integer - the minimum score achievable - defaults to 1 - optional
"max_score": 5, // integer - the maximum score achievable - defaults to 5 - optional
"clarifying_answers": [ // string - other clarifying survey answers, if your CSAT survey contains more than the 2 typical CSAT questions - optional
"question": "Did you like the product experience?", // string - the question asked - required
"comment": "It was OK, not as good as the support service", // string - customer comment; CSAT setups often have this as a text answer to a follow up question - optional
"score_label": "Meh", // string - textual equivalent to the numeric score - i.e. "Strongly Agree" - optional
"score": 3, // integer - the question score - required
"min_score": 0, // string - the minimum score achievable - defaults to 1 - optional
"max_score": 5 // string - the maximum score achievable - defaults to 5 - optional
Once the request is properly formatted in JSON, it should look something like this:
All fields marked optional can be omitted; we recommend including the
max_score fields for future proofing, in case you ever change the range of values for your csat score.
Please note the
agent_email fields are used by MaestroQA to credit the submitted CSAT score to the correct ticket and agent; those should be the identifiers as setup in your helpdesk (such as Zendesk or Salesforce).
For Qualtrics surveys, the easiest way to get the
ticket_id is to embed it as externalDataReference in the Qualtrics survey distribution.
We recommend also sending either
agent_email (if you have control over how externalDataReference is created, you could encode both
agent_id within it and retrieve them that way); if neither
agent_email is sent, the item will not be inserted and return an error. If both are sent,
agent_id will take precedence.
Status 201 CREATED
results: [ // zendesk inspired
"_id": “5840ec43ac414d9c9”, // internal maestro id
"status": "Failed: [[Error Message]]",