Automate Square tasks via Rube MCP (Composio): payments, orders, invoices, locations. Always search tools first for current schemas.
Add this skill
npx mdskills install sickn33/square-automationComprehensive Square automation with clear workflows, parameter details, and pitfall guidance
1---2name: square-automation3description: "Automate Square tasks via Rube MCP (Composio): payments, orders, invoices, locations. Always search tools first for current schemas."4requires:5 mcp: [rube]6---78# Square Automation via Rube MCP910Automate Square payment processing, order management, and invoicing through Composio's Square toolkit via Rube MCP.1112## Prerequisites1314- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)15- Active Square connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `square`16- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1718## Setup1920**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.2122231. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds242. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `square`253. If connection is not ACTIVE, follow the returned auth link to complete Square OAuth264. Confirm connection status shows ACTIVE before running any workflows2728## Core Workflows2930### 1. List and Monitor Payments3132**When to use**: User wants to view payment history or check payment status3334**Tool sequence**:351. `SQUARE_LIST_PAYMENTS` - Retrieve payments with optional filters [Required]362. `SQUARE_CANCEL_PAYMENT` - Cancel a pending payment if needed [Optional]3738**Key parameters**:39- `begin_time` / `end_time`: RFC 3339 timestamps for date range filtering40- `sort_order`: 'ASC' or 'DESC' for chronological ordering41- `cursor`: Pagination cursor from previous response42- `location_id`: Filter payments by specific location4344**Pitfalls**:45- Timestamps must be RFC 3339 format (e.g., '2024-01-01T00:00:00Z')46- Pagination required for large result sets; follow `cursor` until absent47- Only pending payments can be cancelled; completed payments require refunds48- `SQUARE_CANCEL_PAYMENT` requires exact `payment_id` from list results4950### 2. Search and Manage Orders5152**When to use**: User wants to find orders by criteria or update order details5354**Tool sequence**:551. `SQUARE_LIST_LOCATIONS` - Get location IDs for filtering [Prerequisite]562. `SQUARE_SEARCH_ORDERS` - Search orders with filters [Required]573. `SQUARE_RETRIEVE_ORDER` - Get full details of a specific order [Optional]584. `SQUARE_UPDATE_ORDER` - Modify order state or details [Optional]5960**Key parameters**:61- `location_ids`: Array of location IDs to search within (required for search)62- `query`: Search filter object with date ranges, states, fulfillment types63- `order_id`: Specific order ID for retrieve/update operations64- `cursor`: Pagination cursor for search results6566**Pitfalls**:67- `location_ids` is required for SEARCH_ORDERS; get IDs from LIST_LOCATIONS first68- Order states include: OPEN, COMPLETED, CANCELED, DRAFT69- UPDATE_ORDER requires the current `version` field to prevent conflicts70- Search results are paginated; follow `cursor` until absent7172### 3. Manage Locations7374**When to use**: User wants to view business locations or get location details7576**Tool sequence**:771. `SQUARE_LIST_LOCATIONS` - List all business locations [Required]7879**Key parameters**:80- No required parameters; returns all accessible locations81- Response includes `id`, `name`, `address`, `status`, `timezone`8283**Pitfalls**:84- Location IDs are required for most other Square operations (orders, payments)85- Always cache location IDs after first retrieval to avoid redundant calls86- Inactive locations may still appear in results; check `status` field8788### 4. Invoice Management8990**When to use**: User wants to list, view, or cancel invoices9192**Tool sequence**:931. `SQUARE_LIST_LOCATIONS` - Get location ID for filtering [Prerequisite]942. `SQUARE_LIST_INVOICES` - List invoices for a location [Required]953. `SQUARE_GET_INVOICE` - Get detailed invoice information [Optional]964. `SQUARE_CANCEL_INVOICE` - Cancel a scheduled or unpaid invoice [Optional]9798**Key parameters**:99- `location_id`: Required for listing invoices100- `invoice_id`: Required for get/cancel operations101- `cursor`: Pagination cursor for list results102- `limit`: Number of results per page103104**Pitfalls**:105- `location_id` is required for LIST_INVOICES; resolve via LIST_LOCATIONS first106- Only SCHEDULED, UNPAID, or PARTIALLY_PAID invoices can be cancelled107- CANCEL_INVOICE requires the invoice `version` to prevent race conditions108- Cancelled invoices cannot be uncancelled109110## Common Patterns111112### ID Resolution113114**Location name -> Location ID**:115```1161. Call SQUARE_LIST_LOCATIONS1172. Find location by name in response1183. Extract id field (e.g., 'L1234ABCD')119```120121**Order lookup**:122```1231. Call SQUARE_SEARCH_ORDERS with location_ids and query filters1242. Extract order_id from results1253. Use order_id for RETRIEVE_ORDER or UPDATE_ORDER126```127128### Pagination129130- Check response for `cursor` field131- Pass cursor value in next request's `cursor` parameter132- Continue until `cursor` is absent or empty133- Use `limit` to control page size134135### Date Range Filtering136137- Use RFC 3339 format: `2024-01-01T00:00:00Z`138- For payments: `begin_time` and `end_time` parameters139- For orders: Use query filter with date_time_filter140- All timestamps are in UTC141142## Known Pitfalls143144**ID Formats**:145- Location IDs are alphanumeric strings (e.g., 'L1234ABCD')146- Payment IDs and Order IDs are longer alphanumeric strings147- Always resolve location names to IDs before other operations148149**Versioning**:150- UPDATE_ORDER and CANCEL_INVOICE require current `version` field151- Fetch the resource first to get its current version152- Version mismatch returns a 409 Conflict error153154**Rate Limits**:155- Square API has per-endpoint rate limits156- Implement backoff for bulk operations157- Pagination should include brief delays for large datasets158159**Response Parsing**:160- Responses may nest data under `data` key161- Money amounts are in smallest currency unit (cents for USD)162- Parse defensively with fallbacks for optional fields163164## Quick Reference165166| Task | Tool Slug | Key Params |167|------|-----------|------------|168| List payments | SQUARE_LIST_PAYMENTS | begin_time, end_time, location_id, cursor |169| Cancel payment | SQUARE_CANCEL_PAYMENT | payment_id |170| Search orders | SQUARE_SEARCH_ORDERS | location_ids, query, cursor |171| Get order | SQUARE_RETRIEVE_ORDER | order_id |172| Update order | SQUARE_UPDATE_ORDER | order_id, version |173| List locations | SQUARE_LIST_LOCATIONS | (none) |174| List invoices | SQUARE_LIST_INVOICES | location_id, cursor |175| Get invoice | SQUARE_GET_INVOICE | invoice_id |176| Cancel invoice | SQUARE_CANCEL_INVOICE | invoice_id, version |177
Full transparency — inspect the skill content before installing.