---
title: "Workshop registrations into Square customers"
description: "Each workshop registration creates a Square customer with the class name stored in a custom attribute, ready to invoice and follow up afterwards."
url: "https://www.formformform.com/automations/square-workshop-signups-to-customer-records"
type: static
generatedAt: "2026-08-23T18:56:58.727Z"
---
![Square logo](/logos/integrations/square.svg)

# 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.

When this happens

New submission on your "Workshop signup" form

Do this

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.  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.  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.  3
    
    Trigger the Zap on formformform's New Submission and pick that registration form by name.
    
4.  4
    
    Add Square's Create Customer action, mapping Full Name across given and family name, plus Email Address and Phone Number.
    
5.  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.  6
    
    Put Experience Level and Dietary Restrictions (if catered) in the customer note, where the tutor will read them before the session.
    
7.  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.  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](https://www.formformform.com/templates/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

Use a group when there are only a few classes

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.

Tell the tutor without opening Square

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

The workshop name is blank on every new profile.

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.

A couple booking together shows up as one attendee.

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](https://www.formformform.com/automations/square-signups-to-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](https://www.formformform.com/automations/square-vip-signups-to-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](https://www.formformform.com/automations/square-pickup-preorders-to-orders)
    
    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](https://www.formformform.com/automations/square-catering-enquiries-to-deposit-invoices)
    
    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](https://www.formformform.com/automations/square-quote-requests-to-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](https://www.formformform.com/automations/quickbooks-create-customer-from-intake)
    
    Every new client who fills in your intake form arrives in QuickBooks as a customer record, ready to invoice.
    

-   [All Square integration details →](https://www.formformform.com/integrations/square)
-   [Start from the Workshop Registration Form →](https://www.formformform.com/templates/workshop-registration-form)
-   [Browse every automation →](https://www.formformform.com/automations)

## 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](https://app.formformform.com/register?utm_source=landing&utm_medium=bottom&utm_campaign=automations&utm_content=square-workshop-signups-to-customer-records)
