Quickstart
The zero-step start: let your agent onboard you
Don’t have a TAP account yet? You don’t need to set one up first. Paste this single line to your agent (Claude Code, Cursor, or any agent that can make HTTP calls):
Set yourself up with TAP: https://proxy.tap.human.tech/instructionsThe agent reads the instructions, calls POST /onboard/start, and hands you back a signup link. You click it, create your account (email + passkey), and the moment you finish, the agent receives its own API key — it’s already connected by the time you’re back in the terminal. Then add credentials whenever you’re ready (the agent can send you prefilled links for the exact services it needs).
Other ways in
| Your agent | Path |
|---|---|
| Claude (web/desktop), ChatGPT, hosted MCP clients | Steps 1–2, then paste one URL — see Connect Claude & ChatGPT. No API key needed. |
| Already have a TAP account | Steps 1–5 below. |
1. Sign up
Go to tap.human.tech and create an account.
2. Add your credentials
Fastest path — import your .env. If your keys already live in a .env file, go to Credentials → Import from .env (also offered as the first step of onboarding): paste the file, TAP recognizes the keys inside (OpenAI, Anthropic, Stripe, GitHub, Slack, AWS, and ~25 others), names each credential, and binds it to its service’s API host. Unrecognized keys get an AI-suggested host binding to verify (the variable name is all that’s analyzed — values never leave the create path). You review the list and pick what to import; everything is stored encrypted. Once your agent talks to TAP, you can delete the raw keys from the .env. Details: Import from .env.
Or add one at a time: in the dashboard, go to Credentials → + Add Credential.
Most services use Standard API Key — give it a name, paste the secret. Common ones:
| Service | Where to find your key |
|---|---|
| Mercury | app.mercury.com/settings/tokens |
| Stripe | dashboard.stripe.com/apikeys |
| AWS | console.aws.amazon.com/iam → Security credentials |
| GitHub | github.com/settings/tokens |
| Notion | notion.so/my-integrations → New integration → Copy Internal Integration Secret |
| Slack | api.slack.com/apps → OAuth & Permissions → Bot User OAuth Token |
For Google (Gmail, Calendar, Drive, Workspace admin, Google Cloud), the dashboard has a guided browser OAuth flow. X/Twitter uses one credential that can hold both a Bearer Token for search/counts and OAuth 1.0a fields for account actions. Telegram has a dedicated setup wizard — see Credential Setup Guides.
If your agent already has the secret (say it’s sitting in a .env it can read), it doesn’t have to hand you a link at all — it can enroll the credential directly by piping the value from its source, so the value never enters its own context. See enroll or link? for when each path applies.
3. Create an API key
(Skip this and the next step if you’re connecting a hosted agent via Claude & ChatGPT — OAuth authorization provisions the agent for you.)
Go to API Keys → + Create API Key. Give it a name and select which credentials it can access.
Copy the API key — it’s shown only once.
To add colleagues, go to Team → enter their email. See Team Members.
4. Connect your agent
Give your agent these two lines — in its context, memory, or just pasted into the conversation (e.g. in CLAUDE.md or a skill):
TAP API key: <YOUR API KEY>
TAP instructions: https://proxy.tap.human.tech/instructionsThe agent fetches that URL, learns the protocol, and discovers your configured services — works with any instruction-following model.
For shell-based agents (Claude Code, Cursor), you can optionally install the tiny tap wrapper so the agent’s TAP calls are a single allowlistable command instead of raw curl:
curl -fsSL https://proxy.tap.human.tech/install/tap | sudo tee /usr/local/bin/tap > /dev/null && sudo chmod +x /usr/local/bin/tapIt reads TAP_API_KEY (and TAP_PROXY_URL to override the default proxy) from the environment and exposes tap forward|services|logs|config. Allowlisting tap * once in your agent’s permission settings covers every TAP call.
5. Try it
Ask your agent: “List my available TAP services.”
Then pick something from the Examples page — copy a prompt, paste it, and watch the approval flow in action.
Approvals work out of the box — no setup needed. Reads go through immediately. New teams start in autonomous mode, so writes also run straight through; switch the team to gated on the Team page and writes pause for your approval. When the agent makes a write, it gets back an approval link to show you right in the conversation, and the same request appears in the dashboard under Approvals. Approve in either place and the request goes through.
Optional: approval notifications
Want approval prompts pushed to you instead? Go to Approvals in the dashboard and add a channel:
- Dashboard inbox + browser notifications — get a web push notification on that device even with the tab closed
- Telegram — add @vaulty_tap_bot to a Telegram chat or group, then paste the chat ID into the dashboard
- Matrix — invite @vaulty:matrix.org to a Matrix room, then paste the room ID into the dashboard
With Telegram or Matrix, TAP sends you a message like:
Agent: my-agent · Credential: slack · Action: POST /chat.postMessage
{"channel": "C123456", "text": "Hello team, the deploy is done"}
✅ Approve ❌ Deny
Optional: passkey approval. Approve with Face ID, a fingerprint, or a YubiKey instead of tapping in chat. Register passkeys under Security, then enable passkey approval in a credential’s policy. See Policies & Approval.
Add custom policies in Policies & Approval.
- Credential Setup Guides — Gmail, X/Twitter, Telegram, Mercury, and others
- Policies & Approval — customize approval rules per credential
- How It Works — architecture and trust model
- Self-Hosting — run TAP on your own infrastructure