You can upload a CSV file with details about your guide users — guest reservations, event attendees, wedding guests or anyone else using your guide. Touch Stay creates an invitation for each person, so you can schedule messages and send them unique, trackable guide links through Message Hub (Messaging & Chat in the new Hub sidebar).
Table of contents:
How to get set up
ℹ️ Who can upload: you need an Owner, Admin or Editor role. Users with the Viewer role can only view past uploads.
For each guide user you add, Touch Stay creates an invitation, which is used to send them email or text messages. To create the invitations, your CSV file must contain all of these fields:
Reservation ID: if you don't have a reservation ID, add a made-up number so this field isn't blank — for example a unique attendee number or any other numeric code you use to track guide users.
External Property ID: the ID your booking system uses to identify each property. If your booking system doesn't have a separate property ID, or you're building the CSV another way, you can use the property name.
Guest Name
Guest Email
Guest Phone: include the + country dialling code. It's important to include the + at the start, even if you're messaging guests in your own country.
Arrival Date
Departure Date
Set-up steps
1. Set up your message templates
Before you upload your CSV file, set up your email or text messages using our templates (or create your own). See How to create message templates using Message Hub for step-by-step instructions. Once the CSV file is imported, an invitation is created for each guide user and messages are sent based on your sending schedule.
2. Add your CSV Import ID to each guidebook
Each guidebook needs a CSV Import ID so the rows in your file are matched to the right guidebook. Use the External Property ID from your booking system, or your own ID.
New Hub: the CSV Import ID can't be edited from the guidebook settings yet. Email [email protected] with each guidebook's name and the ID you want to use, and we'll add it for you.
Legacy Hub: go to Guides, select a guide, scroll to the CSV Import ID box at the bottom of the Guide Details tab, click Edit, type the ID and click Save.
If you have a large number of properties, email [email protected] and we can import your External Property IDs in bulk.
Importing and processing your CSV file
1. Upload your CSV file
Go to Messaging & Chat → Invitations (legacy Hub: Message Hub → Invitations) and click Uploads:
Click Choose file, select the CSV file from your device and click Submit.
ℹ️ Note: your CSV can contain a maximum of 100 rows. If you have more reservations to import, upload them in batches.
2. Field mapping
On the next screen, map the mandatory Touch Stay fields to the matching columns in your CSV file. Your selections are saved and filled in automatically the next time you upload a CSV with the same structure.
ℹ️ Note: you must also select the date format used in your CSV file. When ready, click Submit.
3. Data validation
You'll see a table of your data ready for import. Touch Stay now validates it to make sure the invitations can be created. To adjust your field mapping, click Back. If everything looks correct, click Validate.
4. Correct any errors
Any validation errors are shown in a table. Each one must be corrected, or the row removed, before the file can be imported. If your file has no errors, you'll go straight to the final import screen in step 5.
Click the warning icons to see the detailed error message. You can correct the data directly in the table, or click the line number to mark a row for deletion. See Common errors and how to resolve them below.
When you're ready to re-validate and/or remove the rows marked for deletion, click Update. Once all errors are corrected or removed, you'll be taken to the final import screen.
5. Import
Once your file passes validation, you'll see a final table of your data. Click Import data and Touch Stay will create the invitations and trigger your messages based on the schedule you've set.
⚠️ Important: rows are imported one by one. If the import stops with an error partway through, the invitations for the rows before the error have already been created, and their scheduled messages can start sending. Check Invitations before you upload the same file again, so guests don't get duplicate invitations.
To see the invitations created from the upload, go to Messaging & Chat → Invitations. The guide view count for each reservation is shown in the table. Use the (⋯) menu on an invitation and choose View/Edit to check the status of its messages.
Common errors and how to resolve them
External Property ID: Cannot find a Touch Stay property/guide with this ID. The ID in your booking system can't be matched to a Touch Stay guidebook. This usually happens with recently added properties whose ID hasn't been added to Touch Stay yet. Check that the guidebook's CSV Import ID matches the ID in your CSV (see step 2 of the set-up).
Reservation ID: An invitation with this ID already exists. This Reservation ID has already been imported and used to create an invitation, so the row is most likely a duplicate and can be deleted from the current import. If the duplicate row has updated data, such as a date change, update the existing invitation manually from Messaging & Chat → Invitations.
Frequently asked questions
Can I delete an invitation once it's been created?
Yes. Go to Messaging & Chat → Invitations, click the (⋯) menu on the invitation and choose Delete. Deleting an invitation also deletes its unique guidebook link, so even if a guest has already opened the link, it will stop working and they'll no longer have access to your guidebook.
How do I update an invitation that has already been created?
Go to Messaging & Chat → Invitations, click the (⋯) menu on the invitation and choose View/Edit. After saving the details, you'll see the message schedule: messages that have already been sent stay visible but can't be selected again.
The guest's email address can only be changed while the invitation's departure date hasn't passed.
Does the importer support multiple languages?
If you use our full multi-language feature (not Google Translate), you can create invitations in any of your active languages. Your CSV must include a field for the language each invitation should be sent in, using the 2-letter ISO 639-1 code — for example English = en, French = fr. Map this field to the language field during field mapping (step 2 above). If you don't include a language field, English is used.
Make sure you have message templates saved in every language you want to send invitations in.
🤝 Need help?
Our Fin AI assistant is available 24/7 and typically responds in under 10 seconds. If Fin isn't able to solve your issue, our support team will take ownership of your case from there.
You can also reach out to our team at [email protected], and we'll be happy to help.





