Record workshop registrations as customers
A class registration becomes a Square customer tagged with the workshop they booked, so invoicing and follow-up start from a real record.
New submission on your "Workshop signup" form
Create Customer in Square with the workshop name written into a custom attribute
One-directional. A submission triggers the action — nothing is written back into your form.
A studio selling class spots needs two things from a registration: somebody it can invoice, and a note of which class they booked. Writing the workshop name onto the customer profile gives both from one submission, with no spreadsheet copied across afterwards.
Pottery studios, cook schools and weekend workshops run this. The value shows up later, when you want to email the eleven people who took the glazing class in March rather than everybody who has ever been through the door.
Setting it up
- 1
Define a custom attribute on customers in Square first — call it workshop — because the action can only write to an attribute that already exists.
- 2
Publish the workshop registration form and keep Workshop You're Registering For as a select list, so the values written into Square stay consistent.
- 3
Trigger the Zap on formformform's New Submission and pick that registration form by name.
- 4
Add Square's Create Customer action, mapping Full Name across given and family name, plus Email Address and Phone Number.
- 5
Write Workshop You're Registering For into the custom attribute rather than the note — attributes can be filtered in the directory, free-text notes cannot.
- 6
Put Experience Level and Dietary Restrictions (if catered) in the customer note, where the tutor will read them before the session.
- 7
If you run the same class each term, include the month in the attribute value so March glazing and October glazing stay tellable apart.
- 8
Register yourself for a test class, check the attribute on the profile, then switch the Zap on.
What maps where
Using the Workshop Registration Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | Square |
|---|---|
| Full Name | Given and family name on the Square customer profile |
| Email Address | Email on the profile, used for the invoice and the after-class follow-up |
| Phone Number | Phone on the profile, for telling people a session has moved |
| Workshop You're Registering For | Custom attribute on the customer, so the directory can be filtered by class |
| Experience Level | Customer note, read by the tutor before the session |
Variations worth knowing
Customer groups are easier to send a campaign to than an attribute filter. If you run four workshops a year, add a group per class and use the attribute for the longer tail of one-off sessions.
Add a second Zapier action that emails the registration to whoever is teaching. Square holds the record for invoicing; the tutor gets the accessibility and experience answers in a form they will actually read on the morning.
If something isn't arriving
Custom attribute keys are defined in Square and are matched exactly. A key typed by hand into the Zap that differs by a character is skipped without an error. Pick the attribute from the dropdown in the step instead of typing it.
One submission produces one customer, so a pair sharing a booking is invisible to Square. Ask for one registration per person, or add a guest name field and put it in the note so the tutor knows to set out two wheels.
Frequently asked questions
How do I find everyone who took one particular class?
Filter the Customer Directory on the workshop attribute. That is the reason for putting the class name in an attribute rather than the note: it gives you a list you can act on, which the note field will not.
What happens when a student books a second workshop?
Writing the attribute again overwrites the earlier class unless you append instead. Decide whether you want the most recent booking or a running history, and build the step accordingly before your first busy term.
Where do I see how many people registered?
In formformform. Square holds the customer profiles; the registration count and the raw answers stay in your responses, where you can filter, search and export them. Nothing is written back from Square into the form.
Related automations
- Add counter signups to your Customer Directory
A signup at the till or on your site becomes a Square customer profile straight away, spelled the way the customer typed it.
- Add new members to a customer group
Each membership signup creates the customer in Square and drops them into the group your discounts and campaigns point at.
- Build a pickup pre-order the counter can ring up
A weekend pre-order arrives in Square as an open order with the right items, so staff prep it and ring it up at the register.
- Log catering enquiries as a customer and a draft invoice
Every catering enquiry lands in Square as a named customer and a draft invoice with the event details already on it.
- Turn quote requests into draft invoices
An order enquiry arrives in Square as a draft invoice addressed to the buyer, with the spec and the figure already on it.
- Add new clients to your QuickBooks customer list
Every new client who fills in your intake form arrives in QuickBooks as a customer record, ready to invoice.
Build the form first
The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.
Start free