Publishing a Zapier app
Whitelabel documentation
Before starting the Zapier app registration process, you will need to provision your own API documentation, similar to our guide here. We host our guide on Mintlify, and you can visit their Quickstart guide to see how to do the same.
The files for our documentation are stored in our public Github repository. Feel free to refer to them when you create your own!
Initial setup
Zapier has its own guide for setting up integrations, which can be viewed here. You can try referring to their official guide if something does not work. Otherwise, you can contact us.
In your Stripe account, please set the zapier_integration
boolean to True to enable it for your desired plans. You can also visit the Partners Dashboard’s free-plan settings to enable Zapier for free-tier users, if needed.
To get started, you will need a Zapier developer account. Once you have logged in, you can create a new integration. Please fill in all required details on that form. Once you have done so, please proceed to the following steps.
Authentication
You will want to set up API key authentication for your integration. Once selected, you need to add the following two authetication fields in “Configure your fields”. If an option is not mentioned here, you do not need to change its default value as you create these fields.
-
Field type: Field
-
Label: Description
-
Key: description
-
Type: String
-
Required: No
-
Help text: A description to help identify your
<App Name>
integration in Zapier.
-
Field type: Field
-
Label: API Key
-
Key: api_key
-
Type: String
-
Required: Yes
-
Help text: Your API key, generated from within
<App Name>
.
In the next step, “Configure a Test Request & Connection Label”, you should switch to code mode and use the following code as the test:
For the connection label, you can use {{bundle.authData.description}}
.
Make sure to replace your-domain.com
with the URL of your whitelabelled app.
When you get to the “Test your Authentication” step, you will want to create an API key within your whitelabelled app, and connect it to your Zapier integration after clicking “Add new account” in the dropdown menu. You can use the “Test Authentication” button to verify that your whitelabelled app has been connected to Zapier.
Triggers
We only have one trigger here, the chatbot form submission trigger. When you add a new trigger in this section, please use the following settings:
-
Key: form_submission
-
Name: Form Submission
-
Noun: Form
-
Description: Triggers when a new user submits a form within their chat.
-
Visibility in Editor: Shown
In the next tab after you save, you can add input fields for your Zapier user. We want to add chatbot UUID as a field, since this will allow the user to set up Zaps that connect to specific bots. Add the following field:
-
Key: chatbot_uuid
-
Label: Chatbot UUID
-
Help text:
Chatbot UUID for tracking form submission. You can find your chatbot UUID [here](https://your-domain.com/site/chatbot/dashboard).
-
Type: String
-
Options: Required must be selected
Finally, in the “API Configuration” tab, you should set the trigger type to “REST Hook”. Then, you can use the following code for the “Subscribe” section:
In the “Unsubscribe” section, use the following:
And in the “Perform List” section, use:
You should not turn on pagination, and you can put the following into the “Perform” field: return [bundle.cleanedRequest];
.
At this point, you can test your trigger by making a Zap.
For the sample data in the final section, you can use the minimum amount available. For example, if most users will collect only the email and phone number, and not anything else, you just need to add the email and phone number:
Then, in “Output fields”, you can add the keys “Name” and “Phone”, both of which are strings. You can leave the labels blank. At this point, the trigger setup is complete.
Actions
We provide a single action, which enables a user to send a message to a chatbot via a Zap. When you create the action, you will want to use the following settings:
-
Type: Create
-
Key: send_message
-
Name: Send Message
-
Noun: Message
-
Description: Send a message to a chatbot and receive an answer.
-
Visibility: Shown
Next, in the “Input Designer” tab, you should add three fields: the chatbot UUID, the session UUID, and the query (i.e. the message sent to the AI). They should be set as follows.
Chatbot UUID
-
Key: chatbot_uuid
-
Label: Chatbot UUID
-
Help Text:
Send a message to specific chatbot and receive a response. You can find your chatbot UUID [here](https://your-domain.com/site/chatbot/dashboard).
-
Type: String
-
Options: Required must be selected
Query
-
Key: query
-
Label: Query
-
Help Text: Enter your question and any additional details you’d like to provide to the chatbot.
-
Type: Text
-
Options: Required must be selected
Session UUID
-
Key: session_uuid
-
Label: Session UUID
-
Help Text: Use a session UUID to store all incoming messages within a single session. Create a new session or reuse an existing one. This ensures continuity and context in your conversations.
-
Type: String
Finally, please go to the “API Configuration” tab for this action and use the following code for the API endpoint:
You can test your API connection in the next section to see if it worked. Use a chatbot UUID from your whitelabelled app.
Finally, since we expect the AI to return only a bit of text from this API, please insert the following as sample output data:
There is only one output field, response
, of type string
.
Publishing
You do not need to configure any other integration settings after this, and can move on to publishing. You will need to create Zaps to test your trigger and action, so please do so within Zapier. In addition, on the right-side bar of the integration, there should be a list of action items Zapier requires you to complete before your app can be considered for publication. Please work through this list.
During the publishing process, you will be asked to create an account on your whitelabelled app for Zapier personnel to use. If you need the verification code to activate this account, please let us know, and we will provide it.
Once you have been approved, your Zapier integration should have a public link. For example, GPT-trainer’s link is: https://zapier.com/apps/gpt-trainer/integrations. You can paste this link into the Partners Dashboard once it’s ready.