Square
Payments and point-of-sale platform for payments, orders, customers, catalog items, locations, and refunds.
Supports payments and point-of-sale work across customers, orders, invoices, catalog items, bookings, and locations.
Use Square with Snow
Snow is a personal AI assistant that builds real apps for you, and they can put Square to work.
What Snow can do with Square
These are the Square operations Snow and the apps you build with it can run. Sign in to choose which ones Snow may run without asking.
Reads59
Look at your data without changing it.
- Batch Retrieve Inventory Counts
Retrieve inventory counts for multiple catalog objects and locations in a single batch request. Use this action when you need to efficiently check inventory levels across multiple item variations, locations, or states. The endpoint supports filtering by catalog objects, locations, states, and time ranges, making it ideal for inventory sync operations and reporting.
- Get Booking
Retrieves detailed information about a specific Square booking by its ID. Returns the complete booking object including appointment segments, customer notes, seller notes, location details, creator information, and current status. Use this action when you need to view or verify booking details for a known booking ID, check appointment times, or retrieve information about services and team members assigned to the booking. Required permission: APPOINTMENTS_READ (buyer-level) or both APPOINTMENTS_ALL_READ and APPOINTMENTS_READ (seller-level).
- Get Current Merchant
Tool to retrieve merchant information associated with the access token using Square's GraphQL API. Use when you need to obtain the merchant ID required for other GraphQL queries, or to get merchant details like business name, status, currency, and main location.
- Get Loyalty Account
Tool to retrieve detailed information about a specific Square loyalty account by ID. Use when you need to fetch loyalty account data including balance, lifetime points, customer association, and point expiration schedules. This action provides read-only access to loyalty program membership details.
- Get Merchant
Tool to retrieve detailed information about a specific Square merchant by ID. Use when you need to fetch merchant profile data including business name, country, currency, and main location ID. Use 'me' as the merchant_id to retrieve the currently authenticated merchant.
- Get Payment Refund
Retrieves a specific payment refund by its unique ID from Square. Returns complete refund details including amount, status, associated payment and order IDs, and refund destination information. Use this action when you need to retrieve detailed information about a specific refund, such as verifying refund status, checking refund amounts, or accessing refund metadata for reconciliation or customer service purposes.
- Get Subscription
Retrieves detailed information about a specific Square customer subscription by its ID. Use this action when you need to fetch subscription details including status, billing information, plan variation, associated customer, and scheduled actions. Returns comprehensive subscription data including payment information, invoices, phases, and configured actions. Required permission: SUBSCRIPTIONS_READ.
- Get Team Member
Tool to retrieve detailed information about a specific Square team member by ID. Use when you need to fetch team member profile data including name, contact information, location assignments, and wage settings.
- List Cards
Tool to retrieve cards on file associated with a Square account. Use when you need to list saved payment methods for a merchant or customer for payment processing or management purposes. Returns a maximum of 25 cards per request with pagination support.
- List Channels
Tool to list requested channels from Square. Use when you need to retrieve channel information for a specific reference type, reference ID, or status.
Creates13
Add something new to your account.
- Create Bulk Customers
Tool to create multiple customer profiles in a single request. Use when you need to efficiently create up to 100 customers at once. Each customer is identified by a unique idempotency key.
- Create Customer
Tool to create a new customer profile in Square. Use when you need to add a customer to the Square account. At least one of given_name, family_name, company_name, email_address, or phone_number is required.
- Create Location
Tool to create a new business location in a Square account. Use when you need to add a new physical or mobile location for the merchant.
- Create Order
Creates a new Square order with line items, taxes, discounts, and fulfillment details. Use this action when you need to create an order for processing payments or tracking sales. The created order will have a state of DRAFT or OPEN depending on the configuration. Each line item must have a quantity and either a catalog_object_id (for catalog items) or both name and base_price_money (for custom items). You can optionally include taxes, discounts, service charges, and fulfillment information. Use when: Creating a new order for a customer transaction, building a cart for checkout, or initiating a sales order workflow.
- Create Refund
Refunds a Square payment in full or partially. Use this action when you need to return funds to a customer for a completed payment, such as for returned products, cancelled services, or billing errors. The refund amount cannot exceed the original payment total minus any prior refunds.
- Create Team Member
Tool to create a new team member in Square. Creates a team member profile that can be used to assign permissions and track employee data. Use when you need to add a new employee or staff member to the Square account. The team member can then be assigned to locations and given access to Square products like Point of Sale. Requires given_name and family_name at minimum. Optionally specify email, phone, status (ACTIVE/INACTIVE), and location assignments.
- Create Card
Tool to create a card on file. Use when you need to securely store a customer's card for future payments. Requires a valid nonce or payment ID.
- Create Customer Custom Attribute Definition
Tool to create a customer-related custom attribute definition. Use when you need to define a new custom attribute that can be applied to customer profiles. Custom attributes allow storing additional structured data on customers beyond the standard fields.
- Create Customer Group
Tool to create a new customer group for a business. Use when you need to organize customers into groups for targeted marketing or segmentation.
- Create Dispute Evidence File
Tool to upload a file as dispute evidence. Use when you need to attach supporting documents (PDF, image, etc.) to an existing dispute. Use after creating or retrieving a dispute.
Updates26
Change something that is already there.
- Batch Create Inventory Changes
Applies multiple inventory adjustments and physical counts in a single batch request. Returns the created changes and current inventory counts for all affected items. Use this action when you need to update inventory quantities for multiple items or locations at once, either through physical stock counts or adjustments (e.g., receiving stock, recording waste, or correcting discrepancies). Supports up to 100 inventory changes per request. Each change can be either a PHYSICAL_COUNT (setting absolute quantity) or an ADJUSTMENT (modifying quantity with state transitions). The ignore_unchanged_counts parameter controls whether calculated counts are returned in the response.
- Batch Upsert Catalog Objects
Creates or updates multiple catalog objects in a single batch operation. Use this action when you need to efficiently manage catalog items, categories, discounts, taxes, or other catalog entities in bulk. Supports up to 10,000 objects across all batches, with each batch containing up to 1,000 objects. Use temporary IDs starting with # (e.g., #Tea) for new objects, and existing IDs to update objects. Each batch is processed atomically (all succeed or all fail). Use when you need to create multiple catalog items at once, update existing catalog objects in bulk, or set up an initial product catalog. The idempotency_key ensures safe retries without duplicate creation. Required permissions: ITEMS_WRITE
- Bulk Update Customers
Tool to update multiple customer profiles in a single batch operation. Use when you need to efficiently update 1-100 customer profiles at once. Each update request includes the customer ID as a key and the customer data to update as the value. Only modified fields need to be provided, and fields can be removed by setting them to null. Requires version number for optimistic concurrency control.
- Pay Order
Pays an existing Square order by processing approved payments and completing the transaction. Use this action when you need to finalize payment on an order that has already been created and has associated approved payments. The total amount of the payment_ids provided must equal the order total, and upon success, the order state transitions to COMPLETED. Important: The payments referenced in payment_ids must be in APPROVED status and must have been created with a reference to this order_id. For orders with a zero total, you can pass an empty payment_ids array or omit it entirely. Using the idempotency_key prevents duplicate payment processing if the request is retried. Required permissions: ORDERS_WRITE, PAYMENTS_WRITE
- Update Booking
Updates an existing Square booking with new appointment details, times, notes, or team members. Use when you need to modify a booking's start time, change appointment segments, update customer or seller notes, or modify the location type. Requires the current booking version number for optimistic concurrency control - get this from a previous retrieve booking call. Seller must subscribe to Appointments Plus or Premium to use this action.
- Update Customer
Tool to update an existing Square customer profile. Use when you need to modify customer details like name, email, address, or phone number. Supports sparse updates: only include fields you want to change, null values will remove fields. Include the version field for optimistic concurrency control.
- Update Location
Tool to update an existing business location in a Square account. Use when you need to modify location details like name, description, address, business hours, contact information, or social media profiles.
- Update Team Member
Tool to update an existing Square team member's information. Use when you need to modify team member details like name, email, phone number, status, location assignments, or wage settings. Supports sparse updates: only include fields you want to change. To update wage_setting.job_assignments, provide the complete list of job assignments.
- Upsert Catalog Object
Creates or updates a catalog object in the Square catalog. Use when you need to add or modify items, variations, categories, taxes, discounts, or other catalog entities in the merchant's inventory system. For new objects, use a temporary ID starting with '#' (e.g., '#new-item-1'). For updates, provide the existing object ID and current version number. The object type field determines which data field should be populated (e.g., type=ITEM requires item_data). Only one update request is processed at a time per seller account.
- Add Group to Customer
Tool to add a customer to a customer group. Use when you need to associate a customer with a specific group for targeted marketing, loyalty programs, or customer segmentation.
Deletes24
Remove something. This often cannot be undone.
- Bulk Delete Customers
Tool to bulk delete customer profiles from Square. Use when you need to delete multiple customer profiles at once (1-100 customers per request). Each successful deletion returns an empty object; failed deletions include error details. Note that delete events trigger separate webhook notifications per customer.
- Create Gift Card Activity
Creates a gift card activity to manage gift card balances. This action supports multiple activity types including ACTIVATE (initiate a gift card with an opening balance), LOAD (add funds), REDEEM (withdraw funds), CLEAR_BALANCE (set balance to zero), DEACTIVATE (permanently block), ADJUST_INCREMENT/ADJUST_DECREMENT (manual adjustments), REFUND (restore funds from refunds), and others. Use this action when you need to modify a gift card's balance or state. Each activity type requires specific details in the corresponding activity_details field (e.g., activate_activity_details for ACTIVATE type). Either gift_card_id or gift_card_gan must be provided to identify the target gift card. Important: DEACTIVATE and CLEAR_BALANCE are destructive operations - DEACTIVATE permanently blocks the card from future balance changes, and CLEAR_BALANCE sets the balance to zero.
- Delete Catalog Object
Tool to delete a Square catalog object by ID. When an object is deleted, other objects in the graph that depend on that object will be deleted as well (cascading deletion). Use this action when you need to permanently remove a catalog item, category, modifier, or other catalog object from Square. This action is irreversible — the catalog object cannot be recovered once deleted. Note: Only one delete request is processed at a time per seller account.
- Accept Dispute
Accept a dispute and acknowledge liability, returning funds to the cardholder. When you accept a dispute, Square debits the disputed amount from your account and updates the dispute state to ACCEPTED. This action is irreversible - once accepted, a dispute cannot be challenged. Only use after reviewing all evidence and determining that challenging the dispute is not viable. Note: Requires DISPUTES_WRITE permission scope.
- Cancel Booking
Cancels an existing Square booking, terminating the reservation. Use this action when a customer or seller needs to cancel a scheduled appointment. The booking must be in a cancellable state, and the cancellation will update the booking status accordingly. This action is irreversible - once a booking is cancelled, it cannot be restored and must be rebooked if needed. Use the booking_version parameter to ensure safe concurrent updates.
- Cancel Invoice
Cancels a Square invoice, preventing further payments from being collected. Requirements: - Invoice must be in SCHEDULED, UNPAID, or PARTIALLY_PAID state - Cannot cancel invoices in DRAFT state or terminal states (PAID, REFUNDED, CANCELED, FAILED) - Requires INVOICES_WRITE and ORDERS_WRITE OAuth scopes - Version number must match the current invoice version to prevent conflicts After cancellation, the associated order status is set to CANCELED and webhook events are triggered.
- Cancel Payment
Cancels (voids) a payment that is in APPROVED status. This is typically used in delayed capture scenarios where a payment was authorized but not yet captured, allowing you to void the authorization before settlement. Important: Only payments with APPROVED status can be canceled. Attempting to cancel a payment in any other status (COMPLETED, PENDING, CANCELED, FAILED) will result in an error. Once canceled, the payment status changes to CANCELED and the card details status changes to VOIDED. Required permissions: PAYMENTS_WRITE
- Delete Catalog Objects (Batch)
Deletes a set of CatalogObjects based on a list of target object IDs and returns a set of successfully deleted IDs in the response. Deletion is a cascading event such that all children of the targeted object are also deleted. Use this action when you need to remove multiple catalog objects (items, categories, modifiers, etc.) at once. This action is irreversible — the catalog objects cannot be recovered once deleted.
- Delete Customer
Tool to delete a Square customer profile. Use when you need to permanently remove a customer record from Square.
- Delete Customer Custom Attribute
Tool to delete a custom attribute from a customer profile. Use when you need to remove custom data associated with a specific customer. Requires the CUSTOMERS_WRITE OAuth permission scope.
Related integrations
Ready to put Square to work?
Sign up free, build an app by chatting, and connect Square in minutes. No credit card required.