Selecting an Authentication
Support users in selecting 3rd party authentications, either through an existing authentication or by adding new.
An Authentication is a set of user credentials for an App that is stored securely by Zapier. When required, a user must select which of the Authentications they have for that App (they may have multiple) that they would like to use when a Zap executes.
We can fetch a list of Authentications available for an App by making a request to the /authentications
endpoint:
Our user can then select one of these Authentications to use with a Zap.
When no Authentications exist
It’s possible that the user doesn’t have any Authentications for an App they’ve picked, as in every case when it’s a new Zapier account. In these cases the /authentications
endpoint will return an empty list under the data
key. In this scenario, we should direct the user to the url provided by the /apps
endpoint under the links.connect_new_authentication
key to add a new Authentication.
This is also the best approach to take if you want to offer the user the option to use a new Authentication with this Zap, even if they already have Authentications available. (e.g. If the user wants to use a different SuperExampleCRM account than the ones already linked to Zapier)
If links.connect_new_authentication
is null
, then this app doesn’t require authentication, and null
should be passed instead of a valid id. Read more about that below.
Directing the user to create a new Authentication
The best way to use this links.connect_new_authentication
link is as follows:
Open the `links.connect_new_authentication` link in a popup
In this popup, the user will be prompted to authenticate with the app, and to allow Zapier to access that app.
Create an event listener to listen for `zapier.popup.close` messages from that popup
A message with that type will be posted when the auth flow in the popup is complete.
From the message, retrieve the new `authentication_id`
Afterwards, use that authentication_id
to continue the Zap creation process
When Authentication is not required
Some apps don’t require authentication at all - like Webhooks. You’ll know this is the case when fetching the app and it’s not possible to add a new authentication.
When creating zaps with these apps, null
should be passed in place of a valid authentication id;