Zapier and Make connect thousands of apps without code. Connect them to your Zeloxa sites and every form submission, deployment or domain change can start an automation: add a row to Google Sheets, a subscriber to Mailchimp, a contact to HubSpot, send a Gmail, a Slack message or a text message.
Five events can start an automation:
| Event | Starts an automation when |
|---|---|
| Form submission | A visitor sends one of your site's forms. Spam never does. |
| Deployment ready | A deployment finished and is live. |
| Deployment failed | A deployment could not be built or released. |
| Domain verified | A custom domain is connected and serves your site. |
| Domain failed | A custom domain needs your attention. |
There are two ways to connect, and both end up in the same place — the Connected apps list under Hosting → Integrations:
- The Zeloxa app in Zapier or Make, when your workspace has it: sign in with an API token, pick a site and form from menus, and the app connects itself.
- A webhook URL, which works in every Zapier and Make plan that includes webhooks: the app gives you a URL, and you paste it into Zeloxa.
Before you start
- A Zeloxa site. For form recipes, a form on it that has received at least one submission is easiest: the apps then show your real fields while you set things up. See Forms.
- A Zapier or Make account.
- For the Zeloxa app only: an API token (next section).
Create an API token
Only needed when you use the Zeloxa app, not for webhook URLs.
- In the dashboard, open Hosting → API tokens and choose Create token.
- Name it after where it will live, for example Zapier.
- Choose the Automations access level (
host:hooks). It can read your sites and forms and connect automations — it cannot deploy, change domains or create more tokens. - Choose an expiry. Every automation the token connects stops when the token expires or is revoked, so pick a long one (or Never) for automations you want to keep running, and revoke it when you no longer need it.
- Copy the token. It is shown once.
Connect with the Zeloxa app
- In Zapier, create a Zap and search for Zeloxa as the trigger app. In Make, add a Zeloxa module to a scenario.
- Choose the event, for example New Form Submission.
- When asked to connect an account, paste your API token.
- Pick the site and, for forms, the form. Leave them empty to hear about every site or every form.
- Test the trigger. You see your last three submissions (or deployments, or domains); if there are none yet, an example with every field filled in.
- Add your action and turn the automation on.
Turning the automation off removes its connection in Zeloxa; turning it on again adds it back.
Connect with a webhook URL
- In Zapier, create a Zap with the trigger Webhooks by Zapier → Catch
Hook and copy the URL it shows (
https://hooks.zapier.com/hooks/catch/…). In Make, add the module Webhooks → Custom webhook, choose Add, name it and copy the address (https://hook.eu1.make.com/…). - In Zeloxa, open Hosting → Integrations and scroll to Connected apps. Choose the app, paste the URL, pick the event, the site and (for forms) the form, then choose Connect.
- Choose Send test on the new connection. Zeloxa sends your latest submission (or deployment, or domain) — or a filled-in example when there is none yet — so the app can learn the fields. In Make, run the scenario once (Run once) before you press it, so the webhook is listening.
- Back in Zapier, Test trigger now finds the request. In Make, the webhook module shows the fields it received.
- Add your action and turn the automation on.
If you delete the Zap or the scenario's webhook, Zeloxa removes the connection by itself the next time it has something to send.
What the apps receive
Each event arrives as one set of fields you can map directly:
| Field | What it is |
|---|---|
| Event | form.submission, deployment.ready, deployment.error, domain.verified or domain.failed. |
| Occurred At | When it happened. |
| Site Name, Site URL | Which site. |
| Form Name | The form (form submissions). |
| The sender's email address, when the form has an email field. | |
| Fields | Everything the visitor typed, one field per form input — Fields Name, Fields Message and so on in Zapier, fields: name in Make. |
| Deployment Number, Error Message, Environment, Git Branch, Git Message | Deployments. Environment is production or preview. |
| Hostname, Reason, Message | Domains. Message says what to do. |
The field names your form uses become the names of the Fields entries, so
<input name="company"> arrives as Fields Company. Give your form inputs
clear names before you build the automation. The full list is in the
API reference.
Recipe: form submission → Google Sheets row
Keep every contact form submission in a spreadsheet.
- In Google Sheets, create a sheet with a header row, for example Date · Name · Email · Message.
- In Zapier, start a Zap with the New Form Submission trigger (Zeloxa app) or Catch Hook connected to the Form submission event (webhook URL). Pick your site and form, and test the trigger.
- Add the action Google Sheets → Create Spreadsheet Row. Choose the spreadsheet and worksheet.
- Map the columns: Date → Submitted At, Name → Fields Name, Email → Email, Message → Fields Message.
- Test the action, check that the row appeared, and publish the Zap.
The same works in Make with Google Sheets → Add a Row.
Recipe: form submission → Mailchimp subscriber
Add people who fill in your newsletter or contact form to a Mailchimp audience.
- In Make, create a scenario that starts with the Zeloxa watch-form module, or a Custom webhook connected to the Form submission event for your form.
- Add a Filter after it: continue only when email exists. Without an email address Mailchimp has nothing to add.
- If your form has a consent checkbox, add a second condition, for example
fields: consent equal to
yes. Only add people who agreed to hear from you. - Add Mailchimp → Add/Update a Subscriber. Choose the audience, map Email Address → email, set Status to Subscribed (or Pending to send Mailchimp's confirmation email), and map merge fields such as FNAME → fields: name.
- Run the scenario once, send a test submission, and switch scheduling on (Immediately as data arrives).
In Zapier: New Form Submission → Filter by Zapier (Email exists) → Mailchimp → Add/Update Subscriber.
Recipe: deployment failed → SMS or Slack
Hear about a broken production deploy wherever you are.
- In Zapier, start a Zap with Deployment Failed (Zeloxa app), or a Catch Hook connected to the Deployment failed event. Choose a site or leave it empty for all of them.
- Add Filter by Zapier: continue only if Environment exactly
matches
production, so failed preview builds of branches do not wake you up. - Add an action:
- SMS by Zapier → Send SMS, with a message such as
Deploy #{Deployment Number} of {Site Name} failed: {Error Message}, or - Slack → Send Channel Message with the same text, plus Git Branch and Git Message to show what changed.
- SMS by Zapier → Send SMS, with a message such as
- Test and publish.
For Slack or Discord messages alone, the built-in integrations on the Integrations page are simpler: no Zap needed. See Webhooks and notifications. Owners and admins can also get an email when a production deploy fails, under Organization → Notifications.
Manage your connections
- See them all under Hosting → Integrations → Connected apps: the app, the event, the site and form, when it was connected and how the last delivery went.
- Remove one there to stop its deliveries straight away. The automation in Zapier or Make stops triggering until it is switched off and on again.
- Revoke the token under Hosting → API tokens to stop every connection that token created at once. They show as Stopped until removed.
- Removing a member from your organization revokes their tokens, and with them their connections.
- Each connection is listed in Hosting → Activity when it is added or removed.
Good to know
- Instant, sent once. Events are sent the moment they happen, once each, and the app has 5 seconds to answer. If Zapier or Make is unreachable at that moment, that event is not sent again. The Last delivery column shows failures.
- Spam never leaves Zeloxa. Submissions filed as spam do not start automations. The visitor's IP address and browser are never sent.
- Form content is personal data. Sending it to another app makes that app hold it too. Only connect forms to tools you are allowed to use for that data, and tell visitors in your privacy notice.
- Limits. Up to 100 connections per organization. Each connection receives one event; use several for several events.
- Keep webhook URLs private. Anyone who has the URL of your Zap or scenario can trigger it. Zeloxa only ever shows a shortened version after it is saved.
Troubleshooting
| Problem | What to do |
|---|---|
| Zapier says "We couldn't find a request" | Press Send test on the connection in Zeloxa, then Test trigger again. |
| Send test shows "Failed · HTTP 410" or the connection disappears | The Zap or webhook was deleted or turned off. Copy the new URL and connect again. |
| The URL is refused | Paste the full address starting with https://, exactly as the app shows it. |
| Fields from my form are missing | Only inputs with a name attribute are sent. Check the form's HTML, submit it again, and re-test the trigger. |
| Nothing arrives for real submissions | Check the connection's site and form filters, that the submission is in the form's inbox (not Spam), and that the connection is not Stopped. |
| The Zeloxa app says the token is invalid | The token was revoked or expired. Create a new Automations token and reconnect the account in the app. |
For developers
The connections are REST hooks on the Host API: POST /hooks to subscribe,
DELETE /hooks/{id} to unsubscribe, a signed flat JSON POST per event, and
GET /hooks/samples/{event} for sample data. See
Event hooks in the API reference.
