Connect Square to Definable AI
Square provides payment processing, POS systems, invoicing, and e-commerce tools, enabling sellers to accept card payments and manage their business
About Square
Square is a productivity tool. Connect it to Definable AI with one-click OAuth2 — no API keys or custom code required.
What you can automate with Square
Use Definable AI's agent platform to trigger workflows from Square, process results with 50+ AI models, and sync data across 900+ connected apps.
Tools & Actions (96 available)
- 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.
- 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.
- Batch Upsert Customer Custom Attributes: Tool to create or update custom attributes for multiple customers in a single batch request. Use when you need to set custom data on customer profiles (e.g., preferences, loyalty tiers, tags). Supports 1 to 25 upsert operations per request. Before using this action, ensure the custom attribute definitions exist in your Square seller account. The custom attribute keys must match existing definitions. Use optimistic concurrency (version field) to prevent overwriting concurrent updates. Required permissions: CUSTOMERS_WRITE
- Batch Upsert Locations Custom Attributes: Tool to create or update custom attributes for multiple locations in a single batch request. Use when you need to set custom data on location records (e.g., store ratings, delivery zones, tags). Supports 1 to 25 upsert operations per request. Before using this action, ensure the custom attribute definitions exist in your Square seller account. The custom attribute keys must match existing definitions. Use optimistic concurrency (version field) to prevent overwriting concurrent updates. Required permissions: MERCHANT_PROFILE_WRITE
- Batch Upsert Merchants Custom Attributes: Tool to create or update custom attributes for multiple merchants in a single batch request. Use when you need to set custom data on merchant profiles (e.g., business types, establishment dates, merchant categories). Supports 1 to 25 upsert operations per request. Before using this action, ensure the custom attribute definitions exist in your Square seller account. The custom attribute keys must match existing definitions. Use optimistic concurrency (version field) to prevent overwriting concurrent updates. Required permissions: MERCHANT_PROFILE_WRITE
- 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.
- Bulk Retrieve Channels: Tool to bulk retrieve multiple Square channels by their IDs in a single request. Use when you need to fetch specific channels by their unique identifiers rather than listing all channels.
- 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.
- Calculate Order: Tool to preview order pricing without creating an order. Use when you need to calculate the total cost, taxes, discounts, and other pricing details for an order before finalizing it. Particularly useful for integrating rewards, discounts, and complex pricing scenarios.
- 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
- 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 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: 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 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.
- Create Dispute Evidence Text: Upload text evidence for a dispute challenge. Use this to submit textual information (up to 500 characters) that supports your case in a payment dispute. After uploading all evidence, you must call SubmitEvidence to finalize the dispute challenge. Endpoint: POST /v2/disputes/{dispute_id}/evidence-text
- Create Invoice Attachment: Upload and attach a file to a Square invoice. Use this action to add supplementary documents (receipts, contracts, supporting documentation) to an existing invoice. Attachments can only be added to invoices in DRAFT, SCHEDULED, UNPAID, or PARTIALLY_PAID state. Square supports up to 10 attachments per invoice with a combined maximum size of 25 MB in production (1 KB in Sandbox). Supported file formats: GIF, JPEG, PNG, TIFF, BMP, PDF. Creating an attachment increments the invoice version and triggers an invoice.updated webhook event.
- 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 Location Custom Attribute Definition: Tool to create a location-related custom attribute definition. Use when you need to define new custom attributes for Square location objects to store additional business-specific data.
- 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.
- Delete Customer Custom Attribute Definition: Tool to delete a customer-related custom attribute definition. Use when you need to remove a custom attribute definition that is no longer needed. This action requires CUSTOMERS_WRITE permission.
- Delete Customer Group: Tool to delete a customer group by its ID. Use when you need to permanently remove a customer group from Square.
- Delete Dispute Evidence: Removes a specific piece of evidence from a dispute. Evidence that is removed will NOT be sent to the bank. This action requires the DISPUTES_WRITE permission scope. Important: You CANNOT remove evidence after it has been submitted to the bank using the SubmitEvidence endpoint. The deletion is permanent and cannot be undone. Use this when: - You need to remove evidence that was uploaded by mistake - You want to replace evidence with a better version (delete old, upload new) - The evidence is no longer relevant to the dispute case Prerequisites: - A valid dispute_id (obtain from list/retrieve disputes) - A valid evidence_id (obtain from list evidence or create evidence response) - The evidence must not have been submitted to the bank yet
- Delete Invoice: Tool to delete a Square invoice (only DRAFT invoices can be deleted).
- Delete Invoice Attachment: Tool to delete an attachment from a Square invoice. Endpoint: DELETE /v2/invoices/{invoice_id}/attachments/{attachment_id}
- Delete Location Custom Attribute: Tool to delete a custom attribute from a location. Use when you need to remove custom data associated with a specific business location. Requires the MERCHANT_PROFILE_WRITE OAuth permission scope.
- Delete Location Custom Attribute Definition: Tool to delete a location-related custom attribute definition. Once deleted, the custom attribute definition cannot be used to add custom attributes to locations. Use when you need to remove obsolete or incorrect custom attribute definitions from your Square account.
- Delete Locations Custom Attributes (Batch): Tool to delete custom attributes from multiple locations in a single batch request. Use when you need to remove custom metadata from multiple business locations efficiently. To delete custom attributes owned by other applications, the attribute's visibility must be set to VISIBILITY_READ_WRITE_VALUES.
- Delete Merchant Custom Attribute: Tool to delete a custom attribute from a merchant profile. Use when you need to remove custom data associated with a specific merchant. Requires the MERCHANT_PROFILE_WRITE OAuth permission scope.
- Delete Merchant Custom Attribute Definition: Tool to delete a merchant-related custom attribute definition. Once deleted, the custom attribute definition cannot be used to add custom attributes to merchants. Use when you need to remove obsolete or incorrect custom attribute definitions from your Square account.
- Delete Merchants Custom Attributes (Batch): Tool to delete custom attributes from multiple merchants in a single batch request. Use when you need to remove custom metadata from merchant profiles efficiently. To delete custom attributes owned by other applications, the attribute's visibility must be set to VISIBILITY_READ_WRITE_VALUES.
- Delete Webhook Subscription: Permanently deletes a webhook subscription by its ID. Once deleted, the subscription will no longer receive event notifications. This action cannot be undone. Note: Webhook subscriptions are application-level resources and require personal access token authentication (not OAuth tokens).
- Get Business Booking Profile: Tool to retrieve the business booking profile for a Square merchant via GraphQL. Use when you need to check if bookings are enabled, view cancellation policies, or access booking configuration settings. This is an alpha feature.
- 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 Customer Custom Attribute: Retrieves a custom attribute from a customer profile in Square. Use this when you need to access specific custom data associated with a customer, such as preferences, external IDs, or other merchant-defined information. Requires CUSTOMERS_READ permission.
- Get Customer Custom Attribute Definition: Tool to retrieve a customer-related custom attribute definition from Square. Use when you need to fetch the schema, visibility, or metadata of a specific custom attribute definition by its key.
- Get Customers via GraphQL: Tool to retrieve customer profiles from Square Customer Directory using GraphQL API. Use when you need to fetch customer information including name, contact details, and profile data for a specific merchant. Requires merchant ID filter.
- Get Dispute Evidence: Retrieves detailed information about a specific piece of evidence that was uploaded for a dispute. Use this action to: - Get metadata about evidence (file details, upload time, evidence type) - Verify evidence was uploaded successfully - Review evidence details before submitting a dispute response Note: This returns metadata only, not the actual file content. To upload evidence, use the Create Dispute Evidence File or Create Dispute Evidence Text actions. Endpoint: GET /v2/disputes/{dispute_id}/evidence/{evidence_id}
- Get Invoice: Retrieves detailed information about a specific Square invoice by its ID. Returns the complete invoice object including payment requests, recipient details, accepted payment methods, custom fields, attachments, and current status. Use this when you need to view or verify invoice details for a known invoice ID. Required permission: INVOICES_READ
- 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 Online Checkout Location Settings: Tool to retrieve location-level settings for Square online checkout. Use when you need to get checkout configuration including customer notes, policies, branding, and tipping options for a specific location.
- 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.
- List Customer Custom Attribute Definitions: Tool to list customer-related custom attribute definitions from Square. Use when you need to discover available custom attributes that can be attached to customer profiles.
- List Customer Custom Attribute Definitions (GraphQL): Tool to retrieve customer custom attribute definitions via Square's GraphQL API. Use when you need to discover available custom attributes and their metadata for customer profiles. Alpha feature.
- List Customer Custom Attributes: Tool to list custom attributes for a customer profile. Use when you need to retrieve all custom data associated with a specific customer, including optional definitions that provide metadata about each attribute.
- List Customer Groups: Tool to retrieve the list of customer groups of a business. Use when you need to discover customer group IDs or list all customer groups for segmentation and targeting purposes.
- List Customer Segments: Tool to retrieve the list of customer segments of a business. Use when you need to discover customer segment IDs for targeting or filtering customer groups in Square.
- List Customers: Tool to retrieve customer profiles associated with a Square account. Use when you need to list customers for CRM, reporting, or customer management purposes. Only returns profiles with public information (given_name, family_name, company_name, email_address, or phone_number).
- List Dispute Evidence: Tool to list evidence items associated with a given dispute. Endpoint: GET /v2/disputes/{dispute_id}/evidence
- List Invoices: Tool to list invoices for a Square location.
- List Location Custom Attribute Definitions: Tool to list location-related custom attribute definitions from Square. Use when you need to discover available custom attributes that can be attached to location profiles.
- List Locations: Tool to retrieve all business locations from a Square account. Use when you need to discover available location IDs for other Square API calls that require location_id parameter (like listing invoices or payments).
- List Locations Custom Attributes: Tool to list custom attributes for a specific location in Square. Use when you need to retrieve all custom attribute values associated with a particular location.
- List Merchant Custom Attribute Definitions: Tool to list merchant-related custom attribute definitions from Square. Use when you need to discover available custom attributes that can be attached to merchant profiles.
- List Merchants: Tool to retrieve merchant account information associated with the access token. Use when you need to get merchant profile details including business name, country, currency, and main location ID.
- List Merchants Custom Attributes: Tool to list custom attributes for a specific merchant in Square. Use when you need to retrieve all custom attribute values associated with a particular merchant.
- List Payments: Tool to list payments by location and time range to enable reconciliation and net sales reporting from Square POS. Use when you need to retrieve payment records for reporting, analytics, or reconciliation purposes.
- List Webhook Event Types: Tool to list available webhook event types. Use when you need to discover event types before creating or updating a webhook subscription.
- List Webhook Subscriptions: List all webhook subscriptions owned by your application. Returns webhook subscriptions with their event types, notification URLs, and status. Supports filtering by enabled/disabled status, sorting by creation date, and pagination for large result sets. Note: Webhook subscriptions are application-level resources and require personal access token authentication (not OAuth tokens).
- Remove Group From Customer: Removes a customer from a customer group. Use this when you need to disassociate a customer from a specific group. Once removed, the customer will no longer be part of the group and won't receive group-specific benefits or targeting.
- Retrieve Bulk Customers: Tool to retrieve multiple customer profiles in a single request. Use when you need to efficiently fetch up to 100 customer profiles by their IDs.
- Retrieve Channel: Retrieve a Square channel by its ID. Channels represent different distribution points for catalog content, including physical locations and online platforms. Use this to get detailed information about a specific channel, including its status, associated references, and metadata.
- Retrieve Customer: Tool to retrieve detailed information about a specific Square customer by ID. Use when you need to fetch customer profile data including contact information, preferences, and group memberships.
- Retrieve Customer Group: Tool to retrieve a specific Square customer group by ID. Use when you need to fetch details about a customer group including its name and timestamps.
- Retrieve Customer Segment: Tool to retrieve a specific customer segment by its ID. Use when you need to get details about a customer segment including its name and timestamps.
- Retrieve Dispute: Tool to retrieve a Square dispute by ID. Endpoint: GET /v2/disputes/{dispute_id}
- Retrieve Location: Tool to retrieve detailed information about a specific Square location by ID. Use when you need to get complete details about a specific location, including address, business hours, contact information, and capabilities.
- Retrieve Location Custom Attribute: Retrieves a custom attribute associated with a location in Square. Use this when you need to access specific custom data associated with a location, such as metadata, external IDs, or other merchant-defined information.
- Retrieve Location Custom Attribute Definition: Tool to retrieve a location-related custom attribute definition. Use when you need to get the schema, visibility, and metadata for a custom attribute associated with locations.
- Retrieve Merchant Custom Attribute: Retrieves a custom attribute associated with a merchant in Square. Use this when you need to access specific custom data associated with a merchant, such as metadata, external IDs, or other merchant-defined information.
- Retrieve Merchant Custom Attribute Definition: Tool to retrieve a merchant-related custom attribute definition from Square. Use when you need to fetch the schema, visibility, or metadata of a specific custom attribute definition by its key.
- Retrieve Merchants: Tool to retrieve merchant information including status, main location details, and capabilities using Square's GraphQL API. Use when you need to fetch merchant profile data for specific merchant IDs.
- Retrieve Order: Retrieves detailed information about a specific Square order by its ID. Use this tool when you need to: - Fetch complete details of an order including line items, pricing, taxes, and discounts - Check order status and fulfillment information - View payment tenders and refunds associated with an order - Access order metadata and timestamps Requires: ORDERS_READ permission scope.
- Retrieve Payment Link: Retrieves a Square-hosted payment link by ID. Returns complete payment link details including the checkout URL, associated order ID, checkout options, pre-populated buyer data, and creation timestamps. Requires ORDERS_READ permission.
- Retrieve Token Status: Tool to retrieve information about an OAuth access token or personal access token. Use when you need to verify token validity, check token expiration, inspect authorized scopes, or validate merchant association before making API calls.
- Retrieve Webhook Subscription: Retrieve a Square webhook subscription by its ID. Returns subscription details including name, enabled status, event types, notification URL, and signature key. Note: Requires personal access token authentication with DEVELOPER_APPLICATION_WEBHOOKS_READ scope (OAuth tokens are not supported for webhook subscriptions).
- Search Customers: Tool to search customer profiles in Square Customer Directory. Use when you need to find customers by email, phone, creation date, or other filters. Returns paginated results with optional total count.
- Search Orders: Tool to search orders across one or more Square locations with filters. Use when you need to find orders within a date range, by state, by customer, or other criteria. This is the primary way Square exposes 'list orders for a date range' functionality.
- Submit Dispute Evidence: Submits evidence for a dispute to the cardholder's bank. IMPORTANT: You must upload evidence FIRST using CreateDisputeEvidenceText or CreateDisputeEvidenceFile before calling this endpoint. Once evidence is submitted, it cannot be modified or removed. The dispute state will change to PROCESSING after successful submission. Use this when: (1) You have uploaded all evidence files/text, (2) The dispute is in EVIDENCE_REQUIRED state, and (3) You are ready to finalize and send evidence to the bank before the due date.
- Test Webhook Subscription: Tests a webhook subscription by sending a test event to the configured notification URL. Use this to verify that your webhook endpoint is correctly receiving and processing Square events. The response includes the HTTP status code returned by your endpoint and the test payload that was sent. Useful after creating or updating a subscription to confirm proper integration.
- 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 Customer Custom Attribute Definition: Tool to update a customer-related custom attribute definition in Square. Use when you need to modify the name, description, visibility, or schema of an existing custom attribute definition. Supports sparse updates: only include fields you want to change. Use the version parameter for optimistic concurrency control to prevent conflicting updates.
- Update Customer Group: Tool to update a customer group's information by its ID. Use when you need to modify the name or other attributes of an existing customer group in Square.
- 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 Location Custom Attribute Definition: Tool to update a location-related custom attribute definition in Square. Use when you need to modify the description, name, visibility, or schema of an existing location custom attribute definition.
- Update Merchant Custom Attribute Definition: Tool to update a merchant-related custom attribute definition in Square. Use when you need to modify the description, name, visibility, or schema of an existing merchant custom attribute definition.
- Update Online Checkout Location Settings: Tool to update location-level settings for Square online checkout. Use when you need to modify checkout configuration including customer notes, policies, branding, and tipping options for a specific location. Supports sparse updates: only include fields you want to change.
- Update Order: Updates an existing Square order by adding, modifying, or removing fields. Use for OPEN or DRAFT orders only (COMPLETED/CANCELED orders cannot be updated). Requires the current order version number for optimistic concurrency control - get this from retrieve/search order first. Supports sparse updates: only include fields you want to change. To remove fields, use fields_to_clear array with dot notation paths. Common use cases: adding line items, updating quantities, applying discounts/taxes, modifying fulfillment details, updating metadata.
- Update Webhook Subscription: Tool to update a Square webhook subscription. Use when you need to modify subscription settings such as name, enabled state, event types, notification URL, or API version of an existing webhook subscription.
- Update Webhook Subscription Signature Key: Tool to rotate the signature key for a webhook subscription. Use when you need to replace the current signature key for security purposes.
- Upsert Customer Custom Attribute: Tool to create or update a custom attribute for a customer profile. Use when you need to store custom data on a customer record, such as preferences, loyalty tiers, or external system IDs. The custom attribute key must match an existing custom attribute definition in the Square account.
- Upsert Location Custom Attribute: Tool to create or update a custom attribute for a location. Use when you need to store custom data on a location record, such as capacity limits, special features, or external system IDs. The custom attribute key must match an existing custom attribute definition in the Square account.
- Upsert Merchant Custom Attribute: Tool to create or update a custom attribute for a merchant profile. Use when you need to store custom data on a merchant record, such as business notes, external system IDs, or configuration values. The custom attribute key must match an existing custom attribute definition in the Square account.
How to connect Square
- Sign in to Definable AI and go to Apps
- Search for Square and click Connect
- Authorize via OAuth2 — takes under 30 seconds
- Use Square actions in your AI agents and workflows