You use the Zendesk Apps framework (ZAF) to build Zendesk apps. A Zendesk app enhances or extends the functionality of a Zendesk product. The app runs in an iframe that's embedded in one or more locations of the host product. ZAF gives an app access to the host product's resources using the ZAF client and the Apps framework APIs.
The following products support Zendesk apps:
An app accesses the host product's resources using an instance of the ZAF client. You can use the client's methods to:
- Listen for events
- Get or set a property, such as a ticket id
- Invoke an action, such as appending text to a ticket comment
You can also use the client's request() method to make requests to a Zendesk or third-party API.
For more information, see the ZAF Client API reference documentation.
The resources available to the ZAF client vary based on the app's host product and location. The Apps framework APIs organize the resources:
Core Apps API — Events, properties, and actions for all products and locations that support Zendesk apps
Apps Support API — Events, properties, and actions for Support apps
Apps Chat API — Events, properties, and actions for Chat apps
Apps Sell API — Events, properties, and actions for Sell apps
The ZAF client uses the browser's Zendesk session cookie to authenticate method calls. This avoids having to pass authentication information.
request() method also lets you authenticate API calls using
request headers or query parameters. For more information, see Making API
requests from a Zendesk
Requests from an app to Zendesk APIs are subject to the following rate limits:
If a request exceeds the apps rate limit, ZAF logs a message in the browser console.
If a request exceeds the account rate limit, the Zendesk API returns a response
with an HTTP "429 Too Many Requests" response status code and a
header. By default, ZAF will retry the request after the
passes. To disable this behavior, set the
option to false.