Insights

How to connect Revinate with Zapier, and when not to

There is no Revinate app in Zapier, but a webhook step will push new contacts into Revinate without code. Here is how to build it, and when to stop.

Data & Insights
Harry FielderCEO & Co-Founder
20 Oct 2026 · 7 min read

Search Zapier's app directory for Revinate and you will not find it. Seven years after we first wrote this guide, the hotel CRM still has no app of its own on the platform most marketers reach for when they want two systems to talk.

You can still connect them without writing code. Zapier's Webhooks by Zapier step can send each new contact straight to Revinate's Contact List API, using the token Revinate gives every contact list that accepts uploads by API. A form submission, a Wi-Fi log-in or a new member arrives in one system, and a few seconds later the guest is on the right list in Revinate.

The steps are below. The less obvious advice is to check whether you need Zapier at all, and to know when a Zap has quietly become an integration that somebody should own. Both are questions our Umi Labs team spends a lot of time on.

Look for a built-in connection first

The PMS integration brings staying guests into Revinate. Everyone else (subscribers, enquirers, Wi-Fi users, voucher buyers) needs another way in, so before you build anything, look in the settings of the system that holds them.

A surprising number of the tools hotels already use can send contacts to Revinate with nothing more than a list token, and Revinate has a route of its own.

  • Wi-Fi. Social WiFi sends every log-in to a Revinate contact list as it happens, once you paste the token into its integrations tab.
  • Website messaging. Triptease lets you connect its email capture messages to Revinate contact lists, one token per list.
  • Vouchers. VoucherCart pushes buyers and their last purchase into Revinate, and updates existing profiles rather than duplicating them.
  • Revinate's own sign-up form. Each contact list can generate a form to embed on your site, which needs no middleman at all.

If the sending system has a Revinate setting, use it, because its vendor maintains the connection and you do not.

Zapier is for the rest, which is usually a website form, a membership area, a live chat tool or a sales CRM that has never heard of Revinate. The original version of this article came from exactly that situation. We had built a members' area on a hotel's WordPress site for private rates and offers, the hotel moved its CRM to Revinate, and nothing joined the two.

What you need before you start

  1. A Zapier Professional plan or above. Webhooks and multi-step Zaps are not on the free plan, which allows only a trigger and a single action.
  2. A Revinate contact list set to accept uploads by API. Open the list, choose to upload via API and copy the token at the top of the page. Treat it as a password.
  3. Custom fields on that list. At least the source and the sign-up date, so you can segment and report on these contacts later.
  4. A record of consent. An unticked marketing opt-in on the form, because a wedding enquiry or a Wi-Fi log-in is not permission to send a newsletter under UK GDPR and PECR.

What the API itself does and does not do, and why it only ever adds people, is covered in our guide to Revinate's contacts API. This piece stays with the no-code route.

Building the Zap, step by step

Every Zap is a sentence. When this happens, do that. The trigger is the first half, the action is the second, and a filter in between decides which events are allowed to finish the sentence.

The trigger

In Zapier, choose Create, then Zap workflows, and pick the app where the guest first appears. In our case study that was WordPress, with the New User trigger. Connect the account and test the trigger so Zapier pulls in a real sample record with a name and email address, because every later step maps from it.

If the sending system has no Zapier app but can post data to a web address, use the Catch Hook trigger in Webhooks by Zapier instead. Zapier gives you a unique URL, and the system sends each new record to it.

The filter

WordPress creates users with many roles, from administrators to editors, and only the members belonged in Revinate. So the second step was Filter by Zapier, set to only continue if the role contains subscriber.

Add a second rule for consent, so the Zap only continues when the opt-in field is true. Filters do not use tasks, so a Zap that stops at the filter costs you nothing. A filter is the cheapest place to keep the wrong people out of your CRM.

The action

The request goes to Revinate's endpoint, https://contact-api.inguest.com/api/add-contacts-to-lists.

  1. Add an action step, choose Webhooks by Zapier, and pick the Custom Request event. The simpler POST event cannot send the nested lists Revinate expects.
  2. Set the method to POST and paste the endpoint into the URL field.
  3. Set the payload type to JSON and add a header named Content-Type with the value application/json.
  4. In the Data box, write the request body, then map the guest's details into it from the trigger step.
  5. Run the test and read the response before you go any further.

The body has two parts. A list called tokens holds your contact list token in quotation marks, and you can add more tokens to put the same guest on several lists. A list called contacts holds the guest, with email as the only required field and first_name, last_name, phone and the postal address fields (address_1, address_2, city, state, country and zip) as optional ones.

Zapier sends whatever you type in that box exactly as written, without checking it, as its help page on custom requests warns. A missing comma or bracket breaks every run, and so can a guest whose name contains a quotation mark. Keep the body to the fields you actually need.

Testing and publishing

A successful response lists the email addresses Revinate added. Check that your test address is in it, then find the contact in the list in Revinate. Zapier's green tick is not proof. Revinate can accept a request with the wrong token and simply add no one, so a Zap can run perfectly for months while every sign-up disappears. Add a filter step that stops and alerts you when nothing was added.

When the test contact appears, choose Publish, and watch the Zap's run history for the first week.

Make, n8n and other tools

The same three steps work in other tools.

Make

Make's HTTP app has a module called Make a request that does the job of Webhooks by Zapier. Build the body as a data structure rather than a raw JSON string and Make escapes awkward characters for you, which removes the broken-quotation-mark problem.

n8n

n8n's HTTP Request node does the same, with a JSON body you specify directly. Unlike Zapier and Make, n8n can be self-hosted. That suits a group that wants guest data to pass only through infrastructure it controls, as long as someone is responsible for keeping that server running.

When a Zap stops being enough

Zapier counts a task for every successful action, so a Zap with one webhook step uses one task per new contact. At a few hundred sign-ups a month, that is nothing. Across several properties and sources, with formatting steps added to tidy the data, the bill and the number of Zaps grow together, and nobody adds them up.

The bigger cost is ownership. A Zap is usually built by whoever was keen that week, inside their own login. When they leave, or the form changes, it stops and nobody is told.

A lot of people have APIs but don't use them, and their customers don't use them.
Harry Fielder, CEO, Umi

That is the real argument for Zapier. Revinate's API has been sitting there, documented and nearly unchanged, since at least 2019, and a webhook step is the lowest-cost way to start using it. Once you have several sources, though, the questions in our guide to APIs for hoteliers come into play, starting with which system owns the guest record. A short piece of middleware with logging and alerts is often cheaper to live with than ten Zaps, and deciding where it fits belongs in a wider hotel tech strategy.

Where to start

Pick the one source that collects the most guest email addresses outside the PMS. For most hotels that is the Wi-Fi or the newsletter form, and if capture itself is the weak point, start with growing the newsletter database.

Open that system's settings and look for Revinate. If it is there, paste in a token and you are done. If it is not, build the Zap above, test it with your own address, and put the name of the person who owns it in the Zap's title.


One connection that works and is watched is worth more than five that nobody remembers building.

Questions hotels ask

Not as a Zapier app. At the time of writing there is no Revinate app in Zapier's directory. You connect the two with Webhooks by Zapier, using a Custom Request step that sends new contacts to Revinate's Contact List API with the token for the list you want them added to.

Yes. Webhooks by Zapier and multi-step Zaps are available from the Professional plan upwards. The free plan only allows a trigger and one action, and does not include webhooks, so it cannot send contacts to Revinate.

Yes. Make's HTTP Make a request module and n8n's HTTP Request node can both send the same request to Revinate's Contact List API. Make escapes special characters for you when you build the body as a data structure, and n8n can be self-hosted.

Check the response from the webhook step. If the list of added email addresses is empty, the token is usually wrong or belongs to a different list. Also check that the body is valid JSON and that the email field was mapped from the trigger, not left as placeholder text.

Free 30 Minute Consultation

Want Revinate joined up with the rest of your stack?

Umi Labs builds and looks after the connections between hotel systems, from a single Zap to proper middleware, and will tell you honestly which one each source needs.

Keep reading

More in Data & Insights