# Use GTM Swag in ChatGPT

GTM Swag helps go-to-market teams in the US get meetings by sending personalized, thoughtful physical gifts. In ChatGPT you can compare real gifts for a prospect or customer and the moment (a new role, an event follow-up, a funding round, a launch, a closed deal or a renewal), save a campaign draft for your team to review, and later copy gift links and check delivery. ChatGPT never pays, approves spending or sends a gift: a person on your team does that on gtmswag.com. Web version: https://gtmswag.com/guides/chatgpt

## What you need

- A GTM Swag account. New here? Create one at https://gtmswag.com/login; signing up creates your workspace.
- A ChatGPT account that can add custom MCP servers. On a ChatGPT Business, Enterprise or Edu workspace, an admin may need to allow this first.
- No API key. ChatGPT connects by asking you to sign in to GTM Swag. Never paste a key or password into a chat.

Gift search works without connecting an account. Connecting is needed to save drafts and read your gifts.

## Connect ChatGPT

1. **Check that ChatGPT can add custom servers.** Custom servers that aren't in ChatGPT's app directory need ChatGPT's developer mode or your workspace's permission. Developer mode is a ChatGPT setting that lets you add an app by its server address. If the steps below don't show **Add custom MCP server**, turn on developer mode in ChatGPT's settings, or ask your ChatGPT workspace admin to allow custom servers.
2. **Add GTM Swag.** In ChatGPT, open **Plugins**, select the **+** button and choose **Add custom MCP server**. Enter the name GTM Swag and the server URL `https://gtmswag.com/chatgpt/mcp`. Choose **OAuth** for authentication, review the warning, select **I understand and want to continue**, then **Create as a plugin**.
3. **Sign in to GTM Swag.** When ChatGPT opens GTM Swag, sign in, check that the workspace shown is the right one, review the permissions and select **Connect workspace**. Connecting doesn't approve any purchase.
4. **Use it in a chat.** Start a new conversation, type `@` and pick GTM Swag. Try: "Find three gifts under $100 for a US prospect's product launch. Explain why each fits and what still needs review."

To connect a different workspace, switch workspaces on gtmswag.com first, then connect again.

## What you're allowing

The sign-in page lists what ChatGPT asks for:

- **View gift plans and delivery progress** (`gifts:read`).
- **Create and update gift drafts** (`gifts:write`).
- **Retrieve private gift links and download recipient CSVs** (`gifts:links:read`). A gift link lets whoever holds it claim the gift, so share each one only with its recipient. Connections made before this permission existed don't have it; to add it, disconnect (below) and connect again.

Recipient details, notes and research you supply are saved with your draft. GTM Swag doesn't verify research you paste in.

## What ChatGPT can do

ChatGPT's endpoint, `https://gtmswag.com/chatgpt/mcp`, has 12 tools. ChatGPT tool calls are limited to 120 per minute per workspace.

| Tool | What it does | Permission |
| --- | --- | --- |
| `search_gifts` | Finds gifts for a goal and budget, with photos, prices and what you'd need to supply. Works without signing in. | None |
| `get_gifting_workspace` | Reads your sender details, the workspace's delivery status (`mode`) and your ten most recent campaigns | `gifts:read` |
| `prepare_gift` | Saves a one-time campaign draft for 1–500 people | `gifts:write` |
| `get_gift_plan`, `update_gift_plan` | Reads and edits a saved draft | `gifts:read`, `gifts:write` |
| `track_gifts` | Shows where gifts stand: waiting for an address, in production, shipped or delivered | `gifts:read` |
| `get_gift_link_records` | Returns recipients' private gift links and their expiry | `gifts:links:read` |
| `export_gift_links`, `download_gift_link_export` | Makes a CSV of gift links for your own outreach tool | `gifts:links:read` |
| `save_recipient_import`, `upload_gift_source_chunk`, `remove_recipient_source_columns` | Keeps chosen columns from your original contact list for the CSV | `gifts:write` |

Every tool except `search_gifts` also needs `gifts:read`.

### Tool arguments

Money is whole US cents. Recipients use the same fields as the REST API (https://gtmswag.com/api-docs.md, "Recipient fields"): each needs a `name`, a personal LinkedIn `profileUrl` (`https://www.linkedin.com/in/…`) or `sourceSystem` plus `externalId`; `email`, `company`, `title` and a per-person `message` are optional; `addressMode` is `confirm` (the default) or `known` with `address`, `city`, `state` (a two-letter code or the full state name) and `zip`.

- **`search_gifts`**: `query` (a gift type or theme, up to 200 characters), `occasion` (up to 120), `interests` (up to 8 supplied interests), `budgetCents` (per person, 1–1,000,000; 10000, or $100, when left out, and the result then says `budgetWasDefaulted: true`), `recipientCount` (1–500, for campaign estimates), `useCase` (`general`, `cold_outreach`, `company_milestone`, `new_role`, `event_follow_up`, `deal_reengagement`, `customer_thanks` or `team_recognition`), `limit` (1–12, default 6), `country` (`US`; other countries return no gifts), and the filters `excludeFood`, `excludePortrait`, `excludeArtwork` and `requireKnownShipping`. Alcohol and tobacco gifts are never offered in ChatGPT.
- **`get_gifting_workspace`**: no arguments. Returns `mode`, `senderName`, `senderCompany` and `recentPlans` (`id`, `name`, `status`, `policyVersion`, `createdAt`).
- **`prepare_gift`**: `name`, `productId`, `perPersonBudgetCents` (1–1,000,000, at least the gift's price plus listed shipping), `senderName`, `senderCompany`, `recipients` (1–500), `idempotencyKey` (8–120 characters, the same on every retry of this draft), and optional `message` (the printed note, up to 500 characters), `customization` (up to eight text fields, such as `displayText` for lettering), `research` (up to three `{fact, url}` items, each fact up to 160 characters with a public HTTPS URL) and `externalId` (a CRM reference for the campaign). Returns the draft with its estimate, `blockers`, `nextAction`, `reviewUrl` and any `prepaidOffer`.
- **`get_gift_plan`**: `id` (the campaign, `cmp_…`).
- **`update_gift_plan`**: `id`, `expectedPolicyVersion` (from `get_gift_plan`), and at least one of `name`, `message` (replaces the note for everyone not yet sent), `customization`, `recipients` (replaces the whole list, 1–500) and `perPersonBudgetCents`.
- **`track_gifts`**: optional `campaignId`, `sendId`, `externalId`, `status` (`awaiting_address`, `queued`, `in_production`, `shipped`, `delivered` or `cancelled`), `limit` (1–100, default 50) and `cursor`.
- **`get_gift_link_records`**: `campaignId`, and optional `recipientIds` or `giftIds` (up to 500), `search` (name, email, company or CRM ID), `availability` (`ready`, `awaiting_approval`, `preparing_links` or `unavailable`), `limit` (1–100, default 50) and `cursor`.
- **`export_gift_links`**: `campaignId`, `scope` (`all`, `selection` with IDs, or `filtered` with `search` or `availability`), and optional `preset` (`original` or `compact`), `includeUnavailable`, `optionalColumns` and `columnPrefix`. Returns the export `id`, counts, exclusions and the earliest expiry.
- **`download_gift_link_export`**: `exportId` (the export's `id`). Returns `{csv, filename}` as text.
- **`save_recipient_import`**, **`upload_gift_source_chunk`**, **`remove_recipient_source_columns`**: `campaignId` plus the source-import fields in the API reference ("Gift links").

### What ChatGPT can't do

ChatGPT can't pay, approve spending, add funds, send gifts, email recipients, issue refunds, regift or revoke links, change your team, set up webhooks or record replies or meetings. It has no always-on playbooks, approval queue, balance or auto-approve: to gift each person a trigger names, use Claude or another MCP client (https://gtmswag.com/guides/connect.md) or a Clay or HubSpot workflow. It has no `get_workflow_guide` either; `get_gifting_workspace` reports the workspace's `mode` instead.

## How a draft becomes a gift

1. You choose a gift and give ChatGPT each recipient's name, LinkedIn profile or CRM record ID, plus your note. Email and company are optional. If you don't know a shipping address, the recipient confirms their own US address through a private gift link.
2. ChatGPT saves the draft and gives you its review link. Nothing is charged or sent.
3. On gtmswag.com, a teammate checks the people, notes and final price, and an owner or admin pays by card.
4. Back in ChatGPT, ask for gift links, and send them through your own email or sequence. ChatGPT shows up to 25 links as a table; for more, it makes a CSV, which it returns as text you can save as a file (a teammate can also export it from the campaign's page on gtmswag.com). Links expire 14 days after the gift is created, opened or not, so have your team approve close to your outreach. An unused gift whose link expired can be regifted on gtmswag.com for a fresh link.

**Prices.** Prices are per gift in US dollars and include listed shipping. The total you approve includes delivery and applicable sales tax; nothing is added at payment. Some gifts show "Shipping quoted before payment": their delivery cost is confirmed before ordering and isn't in the estimate yet. Recipients never pay.

**Before delivery is turned on.** Until GTM Swag enables delivery for your workspace, everything works end to end but no gift ships and no real payment is taken, so don't send those gift links to real prospects. To enable delivery, email eric@betterswag.com. Once it is on, only verified gifts can be ordered, and each gift needs a shipping address you supply unless the draft shows a prepaid offer. If a draft shows `live_addressless_unavailable`, open the draft's edit link, add the US addresses and save.

## Disconnect

Open https://gtmswag.com/chatgpt/oauth/disconnect, check the workspace and select **Disconnect ChatGPT**. ChatGPT loses access to that workspace at once; saved drafts stay on gtmswag.com. Then remove GTM Swag from ChatGPT's **Plugins** as well. A connection also ends on its own after 30 days without use, and one year after you approved it.

Help: https://gtmswag.com/support · Privacy: https://gtmswag.com/privacy · Terms: https://gtmswag.com/terms
