Categories › Communication › Team chat (Slack, Discord, Teams)
Self-driving LinkedIn prospecting: it sources, warms and invites daily. You approve every message.
Remote server: your requests and data go to agent.gtmotto.com. Claude Code: claude mcp add --transport http gtm-otto https://agent.gtmotto.com/mcp · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
gtm_whoami — Who this key belongs to, and what the workspace may do: org name, plan, subscription status, how many products and plays exist, and the LEADgtm_list_plays — Every play in the workspace with enough context to route on: which product it sells, whether it is active or paused, whether a LinkedIn seatgtm_show_play — ONE play in full — everything needed to judge it or copy it into a better one: goal and voice, the account's daily cap and working hours (shgtm_play_stats — The play's Stats screen: the pipeline (leads sourced → warmed → invited → new connections → conversations started) over four windows — all tgtm_linkedin_status — The play's LinkedIn seat and today's headroom against the LinkedIn limits. States: `no_seat` (nothing connected — the play cannot act), `seagtm_estimate_icp — How big an audience a CANDIDATE ICP would reach — '≈ N companies match' — before committing to it. Writes nothing: no play, no ICP row, no cgtm_create_play — Create a fully-configured play in one call: the product (an existing productId, or a websiteUrl which seeds one and kicks its research), thegtm_sources_reference — THE REFERENCE for configuring sourcing lanes — read it before your first gtm_configure_source / gtm_set_source / gtm_run_source call. Every gtm_show_sources — All five sourcing lanes of a play, configured or not — the read to make before touching any of them. Per lane: `configured`, `on`, the parsegtm_source_runs — The run history of ONE lane, newest first — the funnel over time (scanned → dropped by fit → dropped by intent → added / duplicates / cappedgtm_configure_source — Write a lane's settings — upload an account list, set the Post-discovery intent and anchors, change the job keywords, move a gate. MERGE semgtm_set_source — Switch a lane on or off — the toggle on the Sources list. Switching ON a lane that has nothing to run on (no companies, no intent/anchors/pogtm_preview_source — Dry-run ONE lane: '≈ N people match' and a 10-person sample, WITHOUT inserting a lead, spending the day's budget or moving the run clock. Sagtm_run_source — 'Run once now' — run ONE lane immediately through the same code the sourcing tick runs, with force: an OFF lane still runs (that is what rungtm_forget_harvested_posts — The tuning escape hatch for the post lanes. A post lane remembers every post it already paid to harvest so it never buys the same engagers tgtm_update_icp — Change the ICP a play runs — the query behind people_search and the fit gate on every other lane. Seven string arrays, plain words (gtmotto gtm_update_play — Change a play's own knobs — name, goal, voice — its two switches, and the ACCOUNT's pacing (daily action cap, working hours: shared by everygtm_connect_linkedin — The link a human opens to connect (or reconnect) their LinkedIn account to a play — the one cockpit step the play cannot run without. Hand tgtm_list_approvals — Every drafted action that waits for the human — an invite note, a first message, a follow-up, a reply or a comment the planner wrote — with gtm_approve — Approve ONE drafted action by its approvalId (from gtm_list_approvals). It then leaves on the seat's next slot, inside LinkedIn's limits — tgtm_reject — Reject (skip) ONE drafted action by its approvalId. Nothing is sent; the planner records the decline and re-plans around it instead of propoNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.