Prerequisites
- A Square account with access to the Square Developer Console.
- A personal access token from an application in the Developer Console. Square issues separate tokens for production and sandbox.
Connection setup
Create a Square connection from Connections → New connection → Square.Use a personal access token, not an OAuth access token. Square OAuth access tokens expire after 30 days. Integrate.io does not refresh them for this connection, so scheduled jobs would start failing with HTTP 401. Personal access tokens do not expire.
Multiple locations
Square returns payments and payouts for the seller’s main location only, unless the request includes a location ID. Refunds and disputes include all locations and ignore the Location ID setting.- If you leave Location ID blank, payments and payouts come from your main location only.
- If you set Location ID, payments and payouts come from that location only. An unknown location ID fails with HTTP 400.
locations object to look up your location IDs.
Source properties
The source component is configured in Step 02 of the component editor.Source table (object)
Select the Square object to read data from:Orders are not available. Square lists orders only through a
POST search endpoint, and this connector reads GET list endpoints. Bookings, invoices, cash drawer shifts, and loyalty programs are also not available.payments, refunds, and payouts read all history. Square limits these endpoints to the last year by default. Integrate.io requests records created since January 1, 2000 to remove that limit.
Load type
Select how records are loaded on each pipeline run:- Full Load. Fetches all records for the selected object on every run.
- Incremental Load. Fetches only records newer than a reference date. Available for
paymentsandrefunds. For other objects, the UI shows Incremental Load not supported because Square’s list endpoints for them don’t accept a date filter.
Incremental load settings
When Incremental Load is selected, the following options appear: Sync date field. The date field used to filter records. You can pick any date field detected for the object, such asupdated_at or created_at. Integrate.io asks Square for records updated after the reference date, then keeps only the records whose selected field is after the reference date.
Load records. Only newer than ( > ) is available for Square objects. The older than ( < ) option is hidden.
Reference date. Choose the source of the date value:
- Last successful run. Loads records since the last successful run of this pipeline, using the
$_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMPsystem variable. Recommended for scheduled pipelines. - Fixed Date. Pick a specific calendar date. Integrate.io sends a date such as
2025-10-21to Square as2025-10-21T00:00:00Z(midnight UTC). - Variable. Use a custom package variable. Dates without a time zone are read as UTC.
Source schema
After configuring the source properties, the Schema section (Step 03) displays the available fields with their detected data types. Use the field selector to choose which columns to include in your pipeline. You can rename fields with aliases and change data types as needed. Nested JSON objects in Square responses are flattened into individual columns with underscore-separated names. For example,risk_evaluation.created_at becomes risk_evaluation_created_at.
Integrate.io does not send a Square-Version header. Responses follow the API version your Developer Console application is set to, so field names can differ between applications on different versions.