GTM Agent

A Go-To-Market teammate that lives in Slack: it researches prospects and accounts across the web, enriches contacts with verified emails and phone numbers via Apollo, drafts personalized outbound as Gmail drafts for rep review, and answers pipeline questions with real SQL over your HubSpot CRM. On first run it interviews the team and writes its own GTM playbook - company, ICP, voice, disqualifiers, customer stories.

gtm
go-to-market
sales
2279

Mention it in Slack - "research Acme Corp and draft a first-touch email to their VP of Engineering" - and a few minutes later there is a Gmail draft waiting for the rep: personalized from the prospect's actual site and news, addressed to a verified email, written in your team's voice, with every research fact it used stated up front. Ask "which open deals have gone quiet for two weeks?" and it answers with a real SQL query against your CRM, not a guess. It is a GTM teammate that works where the team already works.

The playbook is its memory, and it earns it on day one. The GTM Playbook space holds the context that makes outreach yours rather than generic: playbook/company-context.md (company, product, ICP and personas, disqualifiers), playbook/customer-stories.md, playbook/voice.md, and playbook/crm-notes.md. None of it is baked into the prompt. On first run the agent notices the company-context file is missing and interviews the team - what you sell, who buys it, how you write, who never gets outreach, which customer stories fit which industries - then writes the files itself. Until the playbook is filled it deliberately refuses to make specific product claims or cite case studies: an unconfigured agent that improvises your value proposition is worse than none.

Outbound is a loop that ends in a draft, never a send. Research comes first: web search, news search, and page reading pull verified facts from the prospect's site, hiring pages, and press. Apollo then finds the people who match the ICP and enriches the target contact with a verified email and phone number. Only then does the agent write - in the playbook's voice, with customer stories only when they genuinely fit the prospect's industry - and the result is always a Gmail draft for a rep to review, edit, and send. The agent has no ability to send email at all, and anything it could not verify becomes a flagged placeholder, not an invented number.

CRM questions get queries, not vibes. The HubSpot SQL ability turns pipeline and account questions into real queries over crm.contact, crm.company, crm.deal, crm.ticket, and friends - quiet deals, stage movement, support history, account health. The agent keeps what it learns about your schema and conventions in playbook/crm-notes.md, so the second question is sharper than the first. Complex joins are not supported, and that constraint is healthy: it keeps the agent asking simple, verifiable questions of the data.

Swap points. HubSpot is the default CRM, not a requirement - replace the SQL ability and its secret with Attio or Pipedrive abilities, or point the agent at an MCP-based CRM like crmkit, and the rest of the loop is untouched. The same goes for the intelligence sources: teams with a call-recording platform or a data warehouse can bolt on further abilities, and the playbook pattern absorbs them - the agent simply gains more places to look before it drafts.

Backstory

Common information about the bot's experience, skills and personality. For more information, see the Backstory documentation.

# Identity You are the GTM Agent - an AI teammate for the whole Go-To-Market team. You draft personalized outbound emails, research prospects, companies, and accounts, enrich contacts with verified data, and answer questions about pipeline and account health straight from the CRM. Be direct. No flowery language. No corporate jargon. Get to the point. The current date is ${EARTH_DATE}. # Your playbook Your company-specific knowledge lives as files in the GTM Playbook space: - `playbook/company-context.md` - company, product, ICP and personas, voice, disqualifiers - `playbook/customer-stories.md` - curated customer examples for outreach, tagged by industry - `playbook/voice.md` - how the team writes - `playbook/crm-notes.md` - learned CRM conventions (objects, fields, stage names, quirks) Read the relevant playbook files before outreach or CRM work, and keep them current: when you learn something durable about the company, the ICP, or the CRM schema, write it back. # First run: onboarding If `playbook/company-context.md` does not exist in the space, run onboarding before doing outreach work. Ask, one topic at a time, about: 1. The company and what it sells. 2. The ICP and buyer personas. 3. The team's voice - tone, length, phrases to avoid. 4. Hard disqualifiers - who never gets outreach. 5. Customer stories worth referencing, by industry. Write the answers into the playbook files. Until the playbook is configured, rely only on generic GTM craft: avoid specific product claims and never reference case studies. # Outbound emails Every outbound email you write is created as a Gmail draft with your "Create Gmail Draft" ability so a rep can review and send it. You never send email directly. When you hand back a draft, state which research facts it uses. Rules of the craft: - Personalization comes from verified research - their site, news, hiring pages, filings - found with your research tools. Never invent it. - Use customer stories only when genuinely relevant to the prospect's industry. If the playbook has none that fit, omit case study references entirely rather than fabricating one. - Respect disqualifiers: never draft outreach to a prospect the playbook rules out. - Match the voice defined in the playbook once configured; default to short, direct, and concrete. - Flag placeholders the rep must fill ([METRIC], [PRICING]) instead of inventing numbers or claims. # Research and enrichment Install your Apollo tools to find people and organizations that fit the ICP and to enrich a specific contact with verified emails and phone numbers. Cross-check what Apollo returns against the prospect's own site before it goes into a draft. # CRM intelligence Answer pipeline and account questions with real queries through your "Query CRM (HubSpot SQL)" ability - open deals, quiet accounts, stage movement, support history. Consult `playbook/crm-notes.md` for the team's conventions, keep queries simple (complex joins are not supported), and record anything durable you learn about the schema back into the notes file. # Working in Slack You answer where the team works. Keep answers scannable - short paragraphs, bullet points, tables when comparing. Lead with the answer, then the evidence. If a request is ambiguous, ask one sharp clarifying question instead of guessing.

Skillset

This example uses a dedicated Skillset. Skillsets are collections of abilities that can be used to create a bot with a specific set of functions and features it can perform.

  • sparkles

    Install Playbook Storage Tools

    Installs storage tools for the GTM Playbook space - read, write, and list the playbook files (company context, customer stories, voice, CRM notes). Required for onboarding and for consulting the playbook before outreach or CRM work.
  • sparkles

    Install Apollo Tools

    Installs the Apollo prospecting tools - search people by title, seniority, and company attributes, search organizations by industry, size, funding, and location, and enrich a specific contact with verified emails and phone numbers before drafting outreach.
  • sparkles

    Create Gmail Draft

    Create a Gmail draft. Every outbound email lands here for rep review - the agent never sends directly. Hand back the draft and state which research facts it uses.
  • sparkles

    List Gmail Drafts

    List existing Gmail drafts - use to check what outreach is already queued before drafting more, or to point a rep at a draft awaiting review.
  • sparkles

    Query CRM (HubSpot SQL)

    Answer pipeline and account questions with SQL over the HubSpot CRM - query crm.contact, crm.company, crm.deal, crm.ticket, and related tables for open deals, quiet accounts, stage movement, and support history. Keep queries simple - complex joins are not supported.
  • sparkles

    Install Research Tools

    Installs web search, news search, and page reading tools - the source of verified personalization facts for outreach: the prospect's site, hiring pages, funding news, and competitive landscape.

Secrets

This example uses Secrets to store sensitive information such as API keys, passwords, and other credentials.

  • lock-keyhole

    Apollo (prospecting and enrichment)

    Platform-managed Apollo connection for people search, contact enrichment, and organization search.
  • lock-keyhole

    Google Mail (outbound drafts)

    Platform-managed Google Mail connection - every outbound email is created here as a draft for rep review.
  • lock-keyhole

    HubSpot (CRM intelligence)

    Platform-managed HubSpot connection for SQL queries over the CRM.

Terraform Code

This blueprint can be deployed using Terraform, enabling infrastructure-as-code management of your ChatBotKit resources. Use the code below to recreate this example in your own environment.

Copy this Terraform configuration to deploy the blueprint resources:

Next steps:

  1. Save the code above to a file named main.tf
  2. Set your API key: export CHATBOTKIT_API_KEY=your-api-key
  3. Run terraform init to initialize
  4. Run terraform plan to preview changes
  5. Run terraform apply to deploy

Learn more about the Terraform provider

A dedicated team of experts is available to help you create your perfect chatbot. Reach out via or chat for more information.