# GTM Swag > GTM Swag helps B2B go-to-market teams in the US get meetings by sending personalized, thoughtful physical gifts: an AI agent or workflow tool picks a gift that fits each person and the moment, an owner or admin on the team approves the spend, and Better Swag produces and ships each gift. Agents prepare; people approve. Good moments: a new role, an event or webinar follow-up, a funding round, a product launch, a closed deal or a renewal. Status: `get_workflow_guide` (REST `GET https://gtmswag.com/api/v1/workflow`) returns `mode`. `mode:"test"`, every workspace's default: everything works end to end, but nothing ships and payments use Stripe's test environment; don't send its gift links to real prospects. To enable delivery, a person emails eric@betterswag.com. `mode:"live"`: only `verified:true` gifts can be ordered, and each gift needs a sender-supplied US address (`addressMode:"known"`); a person added with `addressMode:"confirm"` shows "Needs a shipping address" and approving returns `409 LIVE_ADDRESSLESS_UNAVAILABLE`, except in a batch campaign whose preview returns a `prepaidOffer`. Pricing: a gift costs its catalog `priceCents + shippingCents` (USD cents), all-in with delivery and sales tax; with `shippingQuoteRequired:true`, delivery isn't priced yet. Playbooks draw from a prepaid balance ($25–$20,000 per top-up), kept separately per `mode`; one-time campaigns are paid by card checkout. Nothing is charged until an owner or admin approves or pays, or auto-approve does within its limits. Recipients never pay. No subscription or platform fee. Connect: Claude: Customize → Connectors → + Add → Add custom connector with `https://gtmswag.com/mcp`. Claude Code: `claude mcp add --transport http gtm-swag https://gtmswag.com/mcp`, then `/mcp` to sign in. ChatGPT: `https://gtmswag.com/chatgpt/mcp` (one-time drafts, links, tracking; no playbooks). REST: `https://gtmswag.com/api/v1` with `Authorization: Bearer` and a workspace key from Integrations, kept in a secret store, never in chat. Keys: 46 tools at `/mcp`; 31 (the sign-in list) at `/mcp?profile=gifting`. Playbook-first loop: `search_gifts` (then `get_gift`) → `create_campaign` with `mode:"always_on"` (a draft with no people) → a teammate opens `https://gtmswag.com/campaigns/CAMPAIGN_ID?review=1` and selects Turn on playbook → `add_to_playbook` (REST `POST /api/v1/playbooks/CAMPAIGN_ID/people`) once per trigger, reading `approval.state` and `approval.reason` → `list_queue`, giving each waiting person's `approvalUrl` to an owner or admin → `get_balance`, giving `topUpUrl` to an owner or admin when `lowBalance` is true → `get_gift_link_records` once a gift exists. Use a batch campaign only for a fixed list. Start each session with `get_workflow_guide`. Who does what: keys and connections read, draft and add people. Only signed-in people turn a playbook on; only a signed-in owner or admin approves, skips (`approve_gift`, `skip_gift`, `unskip_gift`), pays, adds funds or turns on auto-approve, which approves gifts within a per-gift limit and monthly budget (`approval.state:"auto_approved"`). Every error carries `nextAction` (`open_url`, `reread_and_retry`, `ask_user`, `retry_later` or `stop`), `retryable` and sometimes `retryAfterMs`; follow it. ## Start here - [Agent gifting guide](https://gtmswag.com/agent-guide.md): Status, playbook loop, roles, prices, catalog, errors, links and tracking. - [API and MCP reference](https://gtmswag.com/api-docs.md): Every route and tool with inputs, results and examples. ## Connect - [Connection guide](https://gtmswag.com/guides/connect.md): Claude, Claude Code, other MCP clients and REST keys. - [ChatGPT guide](https://gtmswag.com/guides/chatgpt.md): ChatGPT's 12 tools, their arguments and limits. - [MCP server card](https://gtmswag.com/.well-known/mcp.json): Endpoints, authentication and version. - [OAuth protected resource](https://gtmswag.com/.well-known/oauth-protected-resource/mcp): OAuth discovery and scopes for `/mcp`. ## Core loop - [OpenAPI 3.1](https://gtmswag.com/openapi.json): Catalog, campaigns, playbook people, queue, balance, gifts, tracking and events. - [Catalog](https://gtmswag.com/api/v1/catalog): Current product IDs, prices and requirements. Public; includes retired gifts, so filter `retired:false` first, then `available:true`. - [Clay](https://gtmswag.com/guides/clay.md): Add a person per Clay row, fetch gift links and write link opens back. - [HubSpot](https://gtmswag.com/guides/hubspot.md): Add a contact per workflow enrollment, retry safely and write gift links back. ## Rules - US delivery only. Up to 500 people per batch campaign and 2,000 per playbook. - Each person needs a `name`, a personal `https://www.linkedin.com/in/…` `profileUrl`, or `sourceSystem` plus `externalId`; email and company are optional. Send `sourceSystem` and `externalId` so a repeat returns `alreadyQueued:true` and never charges twice. Never invent people, addresses, prices or links. - A gift link exists only for `addressMode:"confirm"`, after approval or payment. It belongs to one recipient, expires 14 days after the gift is created, and stays out of public pages and logs. GTM Swag never emails it. Show up to 25 links in chat; export a CSV for more. - 240 requests per minute per workspace; on `429 RATE_LIMIT` or `409 PLAYBOOK_BUSY`, wait `retryAfterMs` and resend. - Watch `send.created` and `send.link_opened` with `list_tracking_events` (REST `GET /api/v1/events`). Never promise, infer or ask for a reply or meeting. ## Legal and support - [Privacy Policy](https://gtmswag.com/privacy): Data about customers and recipients. - [Terms of Service](https://gtmswag.com/terms): Accounts, payment, refunds and acceptable use. - [Support](https://gtmswag.com/support): Contact (eric@betterswag.com), enabling delivery, removing connections. ## Optional - [Full agent reference](https://gtmswag.com/llms-full.txt): The agent guide, the API reference and the integration guides in one file. - [Gifting guides](https://gtmswag.com/gifting): Gift ideas, prices and example notes by moment, plus HubSpot, Clay, ChatGPT, Claude and API pages.