Available experiences

There are 3 major ways to present the end-user experience.

The following table will act as a handy reference for helping you decide which experience to choose.

Please be sure to read the detailed explanations below for more details on each experience:

Experience Supports Auth slots Supports Config slots Supports Tray Config Wizard data mapping Supports large-scale data mapping Supports Custom JS
Config Wizard Yes Yes Yes No Yes
Auth only dialog Yes No No No No
Custom form Yes No No Yes No

Tray's Config Wizard

End users are presented with the Tray's configuration wizard where they can add auths and configs. You can add Data Mapping slots and apply Custom JS to config slots.

Config wizard use cases

This approach can be used for solutions that contain both authentication and configuration slots. This is the easiest approach to implementing Embedded Native as Config wizard is a UI element hosted by Tray.

We also suggest using this approach when you are first trying out Embedded Native.

This may not be ideal when you have a deeply nested or a large number of end-user-defined mappings in your solution. Here are two such cases:

  • Paginated mappings - Your solution requires the end user to map 100 fields in the configuration step, 100 fields can't fit in one page of the config wizard,

  • Complex Mappings - You are building an ETL job where the target system requires a schema of deeply nested fields with complex dependencies among fields and Tray's Data mapping and Custom JS might not suffice your needs.

For such cases, you can build your own custom form (refer below) as per your needs.

Tray's Auth-only dialog

End users won't be presented with the Tray's configuration wizard. They will only be providing the required auths for the solution with a click of a button.

Auth-only dialog use cases

This approach can be used for solutions that only contain authentication slots (no configuration slots), where data mappings are hard coded and where the end user just has to provide authentication.

Your own Custom form

When users click on the button the configure your solution, you can present them with a Custom form where all the required auths and configs will be listed out. Here's how you can use Tray to design such a form:

For the auth slots, you can leverage Tray's auth only dialog when users' click on Authorize button for a service auth.

For the config slots, you can leverage the callConnector mutation to create dynamic dropdowns.

Please note that you won't be able to use core Tray features like Data Mapping or Custom JS as they can only be used with the config wizard. However, you can write your own code using other features like Auth-Only dialog or Call Connector API as mentioned above.

Custom form use cases

This approach can be used for solutions that involve complex configurations/mappings (ex. paginated mappings ie. mapping tons of fields that can't fit on one page) that our config wizard is not designed for, or to fit the integration experience into an existing marketplace, you may wish to build your own form experience, leveraging our API’s.