Home/Resources

Automation & AIJuly 20269 min read

Syncing forms, newsletter and CRM in a restaurant

Source of truth, guest identifier, consent: how to sync forms, newsletter and CRM without re-entry, and avoid duplicates and lost consent.

GetPax, the CRM for private events and groups

Your restaurant probably keeps contacts in three places: the reservation system, the newsletter tool and the website forms (contact, private dining, events). Without a plan, each holds a different version of the same guest, and someone retypes the data by hand. The result: duplicates, emails sent to someone who had unsubscribed, and requests that fall through the cracks.

This guide explains how to sync forms, newsletter and CRM without re-entering data: the principle to set first (source of truth, guest identifier, consent), the three possible methods (native integration, API, automation tool) and the mistakes that come up most often. The SevenRooms part relies on its documented features.

Note: tool menus and options change over time. The SevenRooms paths cited here come from the documentation at the time of writing; check them in your own account.

Before connecting anything, make three decisions on paper.

1. One source of truth per piece of data. For each item (contact details, visit history, preferences, subscription status), a single tool is authoritative. The others receive a copy. For a restaurant, the CRM or reservation system is usually authoritative for the guest and their history, and the newsletter tool for the subscription state at send time. If two tools can edit the same data, they will end up contradicting each other.

2. One guest identifier. You need a key that lets you say "this form and this reservation are the same person". The simplest and most common is the email address, normalised (lowercase, no spaces). The phone number can serve as a second criterion. Avoid using the name alone: two guests can both be called Martin.

3. Consent that travels with the record. For each contact, record whether they agreed to commercial communications, through which channel, when and via which form. For individuals, the CNIL requires prior consent given by a positive action, with an unticked box. An exception exists for similar products or services offered to someone who is already a customer, with a simple, free right to object. That information must be copied along with the contact.

What SevenRooms already does to collect and match contacts

If you use SevenRooms, several documented building blocks cover part of the work.

  • Subscription Widget (Settings > Subscription Widget): a newsletter signup form, available through a direct link or an HTML button to place on your website, and also usable behind a QR code in the venue. It collects first name, last name, phone and email by default; these fields cannot be disabled. If the guest already exists in the database, these fields are used to find their profile and update it. You can add birthday, postal code and dietary restrictions, offer a group-level opt-in and enable reCAPTCHA.
  • Email subscription statuses: Subscribed (explicit opt-in), Unsubscribed, and Not Yet Subscribed (no choice made, guest of a transaction). Once a guest leaves Not Yet Subscribed, they cannot go back. For European venues, SevenRooms applies a filter: only guests who explicitly opted in receive marketing campaigns, and the "All Guests" Auto-tag is not available; you use "Marketing Opt-Ins". Standard Automated Emails (confirmation, pre-arrival reminder, feedback) are considered transactional.
  • Double opt-in: available on request from your Customer Success Manager or support. A guest is considered subscribed only after clicking the confirmation link. For existing guests, SevenRooms can either treat them as subscribed or send them a confirmation email (in which case your marketable base is zero until they confirm). Validate this with your legal counsel.
  • Import (Clients > More > Import Clients): .xlsx file, 4,000 rows per import, with a Basic or Advanced template. Import applies a matching algorithm based on first name, last name and phone or email; if a profile matches, it is merged and updated. SevenRooms states that import does not perform a full database de-duplication (a separate service is available on request) and that an import cannot easily be undone.
  • Merging duplicates (Clients, tick the profiles, Merge): the merge is permanent. It requires a Superuser, or a Manager with the Merge Client Profiles permission.

For the marketing sends themselves, see our guide on emailing and GDPR on SevenRooms.

Method 1: native integration

This is the simplest and most stable option when it exists: two tools are designed to talk to each other, with guided setup.

Documented example: SevenRooms to Mailchimp. In SevenRooms, go to Settings > Email Service Providers, click Authenticate and enter your Mailchimp account's API key. Then, in the Clients tab, filter the guests you want, choose Export > Send to Mailchimp and pick the destination group. Two important points from the documentation:

  • guests without an email address cannot be sent;
  • if your filters do not include marketing opt-in, SevenRooms shows a warning: cancel and filter on guests who gave consent first.

A limit to know about: this send is a manual action, triggered by a user on a selection, not a continuous two-way sync. The documentation does not describe unsubscribes made in Mailchimp flowing back to SevenRooms automatically: check this before relying on it. That gap is exactly what creates consent errors (see below).

Pros: little technical work, vendor support. Cons: limited to what the vendor has built.

Method 2: the API

The API is the option when you want full control: custom fields, matching rules, two-way sync.

  • SevenRooms side: the documentation states that an API exists and that you should contact your Customer Success Manager or support to access it. No technical detail is public in the help centre: access and scope are discussed with SevenRooms.
  • Newsletter tool side, Mailchimp example: the Marketing API lets you add or update an audience member with a PUT request, where the member identifier is the MD5 hash of the lowercase email address. A status field accepts subscribed, unsubscribed, pending and transactional, among others. The status_if_new field sets the status only if the address is not yet in the list. The pending status relates to a confirmation awaiting in a double opt-in logic; see Mailchimp's documentation for the exact flow.

Pros: tailor-made, reliable, suited to volume. Cons: needs development and maintenance.

Method 3: an automation tool

In between, an automation tool such as Zapier or Make links a trigger (form submitted) to actions (create the contact, notify the team) without writing code.

Typical case for a Webflow site: Webflow can send each form submission to a web address (webhook); the automation tool receives it, looks up the record by email, creates or updates it in the CRM, and adds the contact to the newsletter tool only if the consent box is ticked. Where the webhook setting sits in Webflow varies with the interface version; check Webflow's help. Also publish the site before testing, since unpublished changes do not trigger webhooks.

Pros: quick to set up, visual. Cons: cost depends on volume, reliance on a third party, scenarios to monitor. For other scenarios of this kind, see 5 practical restaurant automations.

Duplicates

  • No unique key: without a clear rule, every form creates a new record. Always search by email before creating.
  • Spelling variants: capitals, spaces or address aliases. Normalise before comparing.
  • Bulk import without cleaning: as SevenRooms documentation reminds, import does not perform a full de-duplication. Clean your file first.
  • Merging too fast: because the merge is permanent, check name, phone, email and history before confirming.

Lost consent

  • Unsubscribe not passed back: a guest unsubscribes in the newsletter tool but stays "subscribed" in the CRM, which resubscribes them at the next sync. Decide which base is authoritative for status and pass unsubscribes back.
  • Implied consent copied as explicit: a guest who only booked (Not Yet Subscribed) must not become "subscribed" in the other tool.
  • Undated consent: keep the date, the source (which form) and the text shown at signup.
  • Unfiltered export: exporting the whole base to the newsletter tool without filtering on opt-in.

Checklist before connecting anything

  • List every place a contact can enter (reservation, widget, forms, POS, Wi-Fi, import).
  • Choose the source of truth and the identification key.
  • Define the consent fields (status, date, source) and what they mean in each tool.
  • Choose the method: native, API or automation.
  • Test with a dummy contact: signup, unsubscribe, duplicate, edit.
  • Define the retention period and the deletion procedure.
  • Name an owner who checks the syncs every month.

Syncing forms, newsletter and CRM: frequently asked questions

Which identifier should you use to avoid duplicate guests?

The normalised email address (lowercase, no spaces) is the most common identifier, with the phone number as a second criterion. SevenRooms, for instance, matches profiles on first name, last name and phone or email. A name alone is never enough.

What should you do when a guest unsubscribes from the newsletter?

The status must be updated in all your databases, not only in the sending tool. Without syncing that status, a later sync can resubscribe the person. Also keep a record of the objection so you do not contact them again.

Does SevenRooms offer an API to connect my tools?

Yes, the help centre states that an API exists and invites you to contact the Customer Success Manager or support for access. Technical details are not public in that documentation: scope is discussed with SevenRooms.

Can a guest who booked receive my newsletter?

Not automatically. For individuals, the principle is prior consent, with a limited exception for similar products or services offered to an existing customer. At SevenRooms, European venues only send marketing campaigns to guests who explicitly opted in.

Need help syncing your forms, newsletter and CRM?

Connecting these tools cleanly means choosing the right method for your situation, then testing it. It is work māhie does regularly for restaurants and hotels.

  • Map your contact sources and pick the source of truth;
  • Connect your Webflow site, SevenRooms, your CRM and your newsletter tool through native integration, API or webhook;
  • Configure how consent and unsubscribes flow back;
  • Clean your database and set up duplicate detection;
  • Train your teams on good collection habits.

See our CRM & VIP cards offer and our SevenRooms expertise, then contact māhie.

Corentin
CorentinFounder of māhie