> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://gtm-tools.sh/knowledge-base/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://gtm-tools.sh/_mcp/server. # Knowledge Base ## Docs - [Knowledge Base](https://gtm-tools.sh/knowledge-base/introduction.md): Concepts, agent patterns, and troubleshooting for GTM Tools - [What is GTM Tools?](https://gtm-tools.sh/knowledge-base/getting-started/what-is-gtm-tools.md): The platform in one page - [Getting Your API Key](https://gtm-tools.sh/knowledge-base/getting-started/getting-api-key.md): Get a key, verify the email, and start calling tools - [How Credits Work](https://gtm-tools.sh/knowledge-base/getting-started/how-credits-work.md): How GTM Tools meters paid calls: the metering gate, which failures charge credits, and what to do when you run out - [What are the rate limits?](https://gtm-tools.sh/knowledge-base/getting-started/rate-limits.md): GTM Tools applies no per-workspace rate limits. Where 429s actually come from, safe concurrency for batch jobs, and how to handle Retry-After. - [Outbound Sales Flow](https://gtm-tools.sh/knowledge-base/agent-patterns/outbound-sales-flow.md): End-to-end pattern: domain → signals → decision-maker → email → outreach - [Signal-Driven Outreach](https://gtm-tools.sh/knowledge-base/agent-patterns/signal-driven-outreach.md): Start from a signal, work backwards to the right person and the right message - [How do I keep a human in the loop?](https://gtm-tools.sh/knowledge-base/agent-patterns/human-in-the-loop.md): Which GTM Tools calls produce something a real person sees, why LinkedIn posts are draft-only, and how to gate sends with skill rules or runtime approval policies. - [How do I track engagement state?](https://gtm-tools.sh/knowledge-base/agent-patterns/tracking-state.md): Use save_reddit_thing categories and custom feeds as agent workflow state, check conversation history before a second DM, and understand what GTM Tools does not remember for you. - [401 Unauthorized](https://gtm-tools.sh/knowledge-base/troubleshooting/unauthorized.md): Bearer token issues and how to fix them - [402 Insufficient Credits](https://gtm-tools.sh/knowledge-base/troubleshooting/insufficient-credits.md): What to do when the wallet runs dry - [LinkedIn Session Expired](https://gtm-tools.sh/knowledge-base/troubleshooting/linkedin-session.md): Reconnecting after a session times out - [Why is get_email returning not_found?](https://gtm-tools.sh/knowledge-base/troubleshooting/email-not-found.md): get_email returns a reason on every non-ok result. What catch_all, no_mx, unverifiable_provider, no_pattern_verified, smtp_blocked and prober_rejected each mean, and what to do about them. - [Why did I get try_again_later?](https://gtm-tools.sh/knowledge-base/troubleshooting/try-again-later.md): try_again_later is the transient signal from get_email and get_coordinates. It maps to HTTP 429 with Retry-After, it is charged, and each retry charges again. - [Why is employee search returning fewer people than expected?](https://gtm-tools.sh/knowledge-base/troubleshooting/employee-search-results.md): Debugging list_linkedin_company_employees and search_linkedin_company_employees: filter syntax, the difference between the two tools, and why pagination doesn't change the price.