skills/sales-squarespace/SKILL.md
Squarespace platform help — the design-first website builder's ecommerce/online-store backend, automated through the Squarespace Commerce APIs (Orders, Inventory, Products, Transactions, Contacts) plus OAuth-gated webhooks with HMAC-SHA256 signature verification. Use when wiring Squarespace orders, inventory, or customers into a CRM or data warehouse via the API, a Squarespace webhook fails Squarespace-Signature HMAC verification, an order.create webhook won't register (it needs OAuth, not an API key), the Commerce API returns nothing because the site is below the required commerce plan, payments stuck on a Squarespace Payments hold, choosing a Squarespace plan (Basic vs Core vs Plus vs Advanced) or weighing transaction/digital-product fees, or comparing Squarespace vs Shopify/Wix/Square Online for a creative or service business. Do NOT use for cross-tool checkout-conversion strategy (use /sales-checkout) or picking a Merchant of Record for global tax (use /sales-merchant-of-record).
npx skillsauth add sales-skills/sales sales-squarespaceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Squarespace is a design-first, all-in-one website builder with a built-in commerce layer — online store, memberships, digital downloads, gift cards, donations, subscriptions, and (via bundled Acuity Scheduling) bookings. You don't automate the site builder (pages/themes are UI-only); you automate the commerce layer with the Squarespace Commerce APIs (Orders, Inventory, Products, Transactions, Contacts) plus OAuth-gated webhooks. It's not a Merchant of Record (you own tax). This skill covers that integration surface and the pain points — the commerce-plan API gate, OAuth-only webhooks, HMAC verification, Squarespace Payments holds — that trip people up.
If references/learnings.md exists, read it first for accumulated platform knowledge.
Ask only what you need (skip if the prompt already says):
Skip-ahead rule: if the user's prompt already contains enough context, go straight to Step 2.
Map the request to the right home. When routing, give the exact command.
| The user's real problem | Route to |
|---|---|
| Checkout-conversion strategy across tools (order bumps, AOV, cart abandonment tactics) | /sales-checkout {question} |
| Migrating a store off (or onto) Squarespace — data export, redirects, SEO | /sales-checkout {question} (migration mechanics) |
| Choosing a Merchant of Record for global tax / VAT instead | /sales-merchant-of-record {question} |
| Memberships / paid gated-content strategy across tools | /sales-membership {question} |
| Selling digital downloads strategy across tools | /sales-digital-products {question} |
| Appointment booking strategy (Acuity is a separate product) | /sales-meeting-scheduler {question} |
| General website / landing-page / funnel strategy | /sales-funnel {question} |
| Post-purchase / abandoned-cart email sequences | /sales-email-marketing {question} |
| Not sure which skill | /sales-do {question} |
Anything Squarespace-specific (Commerce APIs, webhooks, plan gates, payments holds) — answer here using Step 3.
Read references/platform-guide.md for the full platform reference — capabilities & automation surface, pricing/plan gates, the data model with JSON shapes, integration recipes (cURL + Python), and integration patterns.
For raw API detail (endpoints, request/response JSON, auth headers, webhook HMAC verification), read references/squarespace-api-reference.md.
Answer using only the relevant section — don't dump the whole reference.
You no longer need the guide loaded — focus on the user's situation:
User-Agent (a default one draws stricter rate limiting) and Content-Type: application/json on writes. Base URL https://api.squarespace.com/{version}/{path} — versions are per-endpoint (Orders 1.0, Products 2). HTTPS only.order.create/order.update webhook, but its payload is thin — verify the HMAC, then GET the full order. If you can't host a listener or you're API-key-only, poll GET /commerce/orders with paired modifiedAfter+modifiedBefore.If you discover a gotcha or tip not in references/learnings.md, append it there with today's date.
Best-effort from research (2026-06) — review these, especially plan-gated features and integration details that may be outdated.
data carries an orderId, not the order — make a follow-up GET /commerce/orders/{id}. Dedupe on order.id; retries duplicate.Squarespace-Signature as HMAC-SHA256 over the raw body using hexToBytes(secret). Using the hex string directly, or hashing a re-serialized body, fails.{currency, value} decimal object, not integer cents (unlike Square/Sellfy). Don't divide by 100.modifiedAfter/modifiedBefore are paired and mutually exclusive with cursor — date window on the first page, cursor-only after./sales-checkout — Cross-tool checkout-conversion strategy, order bumps, AOV, and cart-abandonment tactics (Squarespace is one platform among Shopify/BigCommerce/Wix/Square Online/Medusa)./sales-square-online — Square Online, the other free-to-start website-builder-plus-store (and the closest API analog — shared-catalog commerce backend, HMAC webhooks)./sales-wix — Wix eCommerce, the other no-code website-builder-plus-store option./sales-shopify — Shopify commerce backend (GraphQL Admin API), the scale-oriented alternative for product-heavy stores./sales-merchant-of-record — Choosing a MoR (Paddle/Lemon Squeezy) for global VAT/GST vs owning tax yourself./sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-do -a claude-codeA developer/automation question. Recommend the order.create webhook over polling, but note Squarespace webhooks need OAuth (an API key can't subscribe). Walk through: register the subscription (store the one-time hex secret), verify the HMAC-SHA256 signature in the Squarespace-Signature header over the raw body using hexToBytes(secret), then GET /1.0/commerce/orders/{orderId} (the payload is just a pointer), and upsert deduping on order.id. If they can't host a listener, show the modifiedAfter/modifiedBefore polling loop instead. Point to references/squarespace-api-reference.md for the JSON + verification code.
The top integration trap. Explain the Commerce APIs are plan-gated — no API on a free trial or personal/Basic plan; you need a paid commerce plan (Squarespace docs say Core/Plus/Advanced/Commerce Advanced, some reviews say Advanced-only). Have them confirm the site's plan and that the API key has the right permission scopes, and that they're hitting https://api.squarespace.com/1.0/commerce/orders over HTTPS with Authorization: Bearer + a custom User-Agent. Flag the plan ambiguity as best-effort and tell them to verify against current docs.
Pricing/plan-gate question (answer from the guide). Walk the tiers (best-effort 2026): Basic ~$16 has a 2% commerce fee + 7% digital fee and no Commerce API; Core ~$23 removes the commerce fee (5% digital); Plus ~$39 (1% digital, lower processing); Advanced ~$99 (0%/0%, plus abandoned-cart recovery, subscriptions, advanced shipping, Commerce APIs). Do the break-even on the fee deltas vs the monthly jump, and note no multi-currency and limited gateways. Flag all pricing as best-effort and tell them to confirm current rates.
Two causes. (1) Auth: the Webhook Subscriptions API is OAuth-only — you can't create a subscription with an API key. Register an OAuth app, authorize scopes matching your topics (order.create/order.update), then POST /1.0/webhook_subscriptions. (2) Plan/verification: confirm the site is on an API-eligible commerce plan and that your listener returns 2xx fast over HTTPS. Use the "Send test notification" endpoint to validate. If you only need your own site and can't do OAuth, poll GET /commerce/orders?modifiedAfter=…&modifiedBefore=… instead.
Squarespace-Signature is HMAC-SHA256 over the raw request body, keyed by the subscription secret — which is hex-encoded and must be decoded to raw bytes first. Common mistakes: using the hex string directly as the key, hashing a parsed/re-serialized JSON object instead of the raw bytes, or comparing non-constant-time. Capture the raw body before any JSON parsing, do HMAC-SHA256(hexToBytes(secret), rawBody), hex-encode, and timingSafeEqual/compare_digest. If it still fails, rotate the secret (returns a new one once) and re-store it.
A documented, recurring complaint (Trustpilot/Reddit/BBB) with slow support resolution. Holds are a risk-review on the Squarespace Payments processor — there's no API to release them; you contact support and provide requested verification. Mitigations: don't run a time-sensitive launch on a brand-new Squarespace Payments account, keep a fallback gateway (Stripe/PayPal) connected, and reconcile payouts via the Transactions API so you can see what's actually settled vs held.
tools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).