Zenoti S3 export bucket
How to connect Nabu to your Zenoti S3 export bucket, including the IP approval request, the credentials you need, and what to do if the test fails.
What this connection is
Zenoti can write your data exports into a secure Amazon S3 storage bucket on a schedule. Nabu reads that bucket, so your dashboards update on their own and you never have to export anything by hand.
Use this method when Zenoti has already set up an export bucket for you, or when API access is not available on your plan. If you have a Zenoti API key, the direct connection is simpler and you should use that instead.
Nabu only reads. It never changes anything in the bucket, and it never writes back into Zenoti.
What you need from Zenoti
Three things, and nothing beyond them:
- Bucket name
- Access key ID
- Secret access key
You will also enter your Zenoti organization name, which is the name in your Zenoti login URL. If you sign in at goldmedspa.zenoti.com, your organization name is goldmedspa.
You are not asked for an AWS region or a folder path. Nabu finds both on its own.
Step 1: Ask Zenoti to approve Nabu's IP addresses
Most Zenoti export buckets only accept connections from a short list of approved IP addresses. Nabu connects from a fixed set of addresses, and onboarding shows you that list with a copy button. Copy it from that screen rather than from this page, so you always send the current list.
Email the list to Zenoti support and ask them to allow read access to your export bucket from those addresses. This is a routine request for their team.
Then choose I've requested access. Continue setup. This is the normal path, and it is what almost every new customer does. Nabu records that you are waiting on Zenoti and takes you to the rest of setup. You are not asked for bucket credentials yet, because nothing could be tested with them until Zenoti approves the addresses.
From there you finish your first location, reach Setup ready, and complete checkout if you are on a paid plan. Your account can be active and paid before the bucket is connected, so a slow reply from Zenoti does not hold anything up. Zenoti shows as waiting for IP approval until the connection is tested, and no data syncs before then.
If you had already coordinated with Zenoti before signing up, or your bucket has no IP restriction, choose Already whitelisted? Connect now instead. That opens the credentials form during onboarding and tests the connection right away. If the test fails, you can still switch to the waiting path and carry on.
Step 2: Connect the bucket once Zenoti approves
Open Integrations → Zenoti in your dashboard. This is where the connection gets finished, and where it lives from then on.
You will see the current status, Nabu's connection IPs with a copy button, links to this guide and to support, and a Zenoti approved access button. Choosing it opens the credentials form. It does not mark anything connected on its own.
Enter your Zenoti organization name, bucket name, access key ID, and secret access key, then choose Test and connect. Nabu connects to the bucket, checks that it can read your export, and reports the centers it found. Only a successful test marks Zenoti connected.
Nabu detects the AWS region itself, and expects your export to sit in a folder named after your Zenoti organization, which is how Zenoti usually sets it up. If your export is somewhere else, the test says so and an S3 root folder field appears. Enter the folder name Zenoti gave you and test again.
If the test fails, you stay on this page with the message and a retry. Nothing about your account changes, and you are never sent back through onboarding.
Where your locations come from meanwhile
Because the connection is not live yet, Nabu does not have your Zenoti center list during setup, so you enter your first location yourself. That location is real and your dashboards use it. Once the S3 connection is working, Nabu can match and enrich it from the export, and you can add your other centers from Settings.
If the test fails
| What you see | What it usually means |
|---|---|
| No S3 bucket with that name exists | The bucket name has a typo, or it is not the name Zenoti gave you |
| Access denied | The keys are valid, but they do not have permission to read that bucket. Ask Zenoti to confirm the keys are for read access to this bucket |
| Nabu could not find your Zenoti export | The keys work and the bucket is there, but the export is not. Ask Zenoti to confirm the export is running and writing to this bucket |
| Nabu could not find or open your export folder | The bucket is reachable, but your export is under a different folder name. Check your organization name, ask Zenoti for the folder name, and enter it in the S3 root folder field |
If a connection was working and later starts failing, the usual cause is rotated keys. Ask Zenoti for the current access key and secret, then enter them again in Integrations → Zenoti.
If a message keeps coming back after you have checked all of this, open a ticket from Help in your dashboard and include your bucket name and the exact message you saw.
After you connect
Nabu pulls your history first. Most accounts finish in a few minutes. Several years of data can take up to 30 minutes, and you can keep working on the rest of your setup while it runs.
After that, Nabu syncs new data on a schedule set by your plan. You can also run a sync yourself from Settings → Integrations → Zenoti → Sync now.
Nabu reports what your Zenoti data actually contains. If services are uncategorized or appointments have no provider assigned in Zenoti, those gaps show up in Nabu too. Fix them in Zenoti and they fill in on the next sync.
Frequently asked questions
Does Nabu need write access to the bucket? No. Read access is enough.
What does Nabu read out of the export? Appointments, sales and payments, clients, providers, and services. It does not read clinical notes, intake forms, or any protected health information. See Connecting Zenoti for the full list.
Can I switch to the API later? Yes. You can move between the API and the export bucket in either direction from Settings → Integrations, and either one can be switched to CSV import or manual setup.
What if Zenoti will not approve the IP addresses? First ask whether your bucket has an IP restriction at all, because many do not. If the request is refused, CSV import gives Nabu the same records with periodic manual exports.
Can I use a bucket my company owns instead of Zenoti's? Yes, as long as Zenoti's export is writing into it and the keys you give Nabu can read it.
What can Nabu do with these keys? Read your export, and nothing else. Nabu never writes to the bucket or back into Zenoti, and you can ask Zenoti to revoke the keys at any time.

