Zendesk Integration Technical Details
Robby Dunigan avatar
Written by Robby Dunigan
Updated over a week ago

Getting Started

MaestroQA provides an easy to use, out of the box API integration with Zendesk, which is used solely as a read-only integration. Within MaestroQA directly, you can one-click integrate with Zendesk and start syncing in Tickets immediately and begin customizing your integration.

We recommend creating a service account for MaestroQA in your Zendesk then doing the one-click integration in the MaestroQA dashboard (Settings > Integrations, Zendesk), which requires OAuth with an account that has the role “admin”.

Enabling this integration should take a Zendesk Admin no more than 15 minutes.

Technical Security Details

MaestroQA is hosted in Amazon Web Services (AWS), all data processing and storage will occur within AWS.

We utilize encryption at rest (AES256) and in transit (TLS min V1.2) for all customer data.

Our certifications and attestations include the following:

  • SOC2 Type 2 for Security, Confidentiality, and Privacy criteria

  • ISO27001 certified

  • HIPAA

We undergo regular third party external security, compliance, and configuration audits including penetration testing, vulnerability scanning and also have continuous monitoring and alerting in place

We are GDPR and CCPA compliant and offer manual and API based GDPR/CCPA data request tools to help customers support their GDPR/CCPA requirements.

More details on security policies available upon request.

Requesting Data

  • The main API Endpoints that MaestroQA hits are as follows. Please see the corresponding links for detailed information on the endpoints and its associated data

  • Data is primarily requested in time windows - from the time of the last sync until present. The next run of data collection and requests picks up with a start time corresponding to the last object updated time from the previous run with minimal buffer

    • By default, the start of data collection runs are spaced hourly

    • The differences between the newly collected data and what is pre-existing in MaestroQA are reconciled within MaestroQA’s platform to accurately reflect the most up to date information in Zendesk minus the syncing latency

    • Syncing latency, due to processing, can be anywhere from 1 to 3 hours

    • Actual processes are API endpoint specific depending on the use case and capabilities of that endpoint

  • For more information on the request and response formats, please refer to Request and Response Formats

Rate Limiting

  • MaestroQA queries the APIs to fetch data in bulk through batch processes

    • Requesting in bulk helps ensure the fewest requests for the data collected

  • MaestroQA queries the APIs via cursor pagination

    • As per Zendesk’s documentation: “Cursor pagination provides greatly improved performance when retrieving extremely large record sets”

    • Please see Cursor vs Offset Pagination Comparison for more details

  • MaestroQA has a backoff set based on the percentage of globally available and unused requests to help ensure any other 3rd party integrations that rely on Zendesk’s API run smoothly

  • In the event of rate limits being hit due to other 3rd party integrations, MaestroQA will retry requests at increasingly large time intervals to help ensure data is synced in promptly without adding any unnecessary strain to Zendesk’s API

  • To learn about your own usage limits, please refer to Zendesk’s Usage and Limits documentation

Storage

  • By default, we keep tickets updated within the last 30 days in our app database, accessible to the app.

    • The time frame of 30 days can be reduced within MaestroQA if needed

    • If a ticket is graded in MaestroQA, the ticket information is retained for 100 days in the application

    • After 100 days, only ticket metadata and QA scores are maintained in app

  • Information exceeding this threshold is deleted from our app database but remains in long-term storage within AWS - primarily for historical reporting purposes.

  • Ticket attachments are downloaded and stored within AWS and internally linked to tickets for security purposes

  • Please see Technical Security Details above for more information

Leveraging Zendesk Data

  • Ticket information is available in MaestroQA if there is an active associated agent with the ticket and it falls within the retention period for tickets

    • Active agents are those set within MaestroQA as being available in the system

    • Agents are associated with tickets based on a selection from a list of predefined rules, including but not limited to:

      • Assignee

      • Last Assignee

      • Commenter

      • Public Commenter

    • For retention period, see Storage above

  • Agent and user information is linked within the top-level view of tickets for reference

Customization

  • We support syncing any custom attribute fields linked to a Ticket, User, or Agent object into MaestroQA so that you can have all the data you need for QA. These can be configured within MaestroQA and we support custom formatting and transforms on these fields

  • MaestroQA has the ability to use Zendesk Agent data to automate group management

  • Further customizations can be made upon request. Please see Zendesk’s API Reference related to ticketing for further information on details and capabilities.

Did this answer your question?