Application Contexts
At runtime, each application receives or has access to various information about the authenticated user, its location within the Deskpro UI and the Deskpro Object it is associated with it. We refer to this information as the application's Context.
How does it work?
You choose a context for your application when you define a Target in your application manifest. Your are not limited to a single context, as you can have as many Target objects as required. It is also worth knowing that each Target is associated with one Deskpro Object like Ticket, Organization or Person.
The context gives you access to the authenticated user, the type and unique identifier of the target's Deskpro Object. Depending on where within the Deskpro UI the application is displayed, that is to say depending which Deskpro UI Component is acting as the container host for your application, the context will expose a list of events (for example, a ticket.reply
event) that the application can react to. The application is also given access to the data loaded by the hosting container and displayed in the Deskpro UI in the shape of a ContextDataObject.
Using the Application Context
The Application Context is useful when:
you need to retrieve the currently authenticated user
you want to access the data stored in the custom fields of its Deskpro Object or
you want to interact with the host ui container, for instance a Ticket Tab which shows your application which allows you to close it or activate it.
you need access to the data displayed in the context's Deskpro UI, for instance you need the primary email of the Person displayed in a CRM tab to pull additional information from a third party
You can access the context via AppClient.context property from the dpapp
application client your application receives. For reference, the context object is a concrete implementation of UITabContext.
Here is a list of recipes that cover most of the usage scenarios:
to retrieve the authenticated user, read Get the authenticated user
to access the context object's custom fields , read Access Custom Fields
for interacting with the host ui , read Interacting with the Host Container
You can read more about the various data objects available for each Application Context and their schema in the ContextDataObject Reference
Ticket Context events
Here is a list of Ticket Context related events:
Last updated