Skip to content
cccskills
FreePublished on GitHub

lead-followup

Research new HubSpot leads and prepare personalized follow-up email drafts using the team's sales guidance. Include one tailored qualifying question and an available call time, save research to HubSpot, and hold drafts for human review.

OriginalShow the original description

Runbook for turning a new HubSpot lead into a researched, personalized follow-up email and a proposed call slot for {{projectName}}. Covers company research, the sales playbook (positioning, tone, qualifying questions), HubSpot record updates, Google Calendar availability, and the human approval gate before anything sends.

See how to install

Good for

  • Prepare follow-up drafts for new leads
  • Tailor sales emails using company research
  • Propose a call time from calendar availability
  • Save lead research and prevent duplicate drafts

Files included (1)

  • SKILL.md4.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

<skill name="lead-followup"> <overview> Inbound leads convert on the follow-up that shows the company was actually read, and that follow-up has to go out while the lead is still warm. A periodic sweep reads HubSpot for leads on {{hubspot_lifecycle_stage}} that haven't been handled yet, researches each company, drafts a personalized follow-up to the sales playbook with one tailored qualifying question, checks Google Calendar for a real opening and proposes that one slot, and writes the research back onto the HubSpot record. Nothing reaches a lead until a human reviews the draft in {{approval_channel}} and sends it.

Fresh session per sweep — state lives on the HubSpot lead record itself (a kortix_followup_drafted property + timestamp marks a lead handled), not in a local ledger file. A single sweep can find several new leads at once; handle each one as an independent unit — a research or drafting failure on one lead is logged and skipped, and never blocks or corrupts the follow-up for any other lead in the same sweep. </overview>

<when-to-load> - The periodic new-lead sweep fires. - A human asks the agent to follow up on a specific lead or re-check HubSpot for new signups. - The sales playbook (positioning, tone, qualifying questions) changes and needs to be reflected in the next drafts. </when-to-load> <workflow>

Step 0 — Orient: find what's new

Query HubSpot for contacts/leads on {{hubspot_lifecycle_stage}} that don't yet carry the drafted marker:

GET /crm/v3/objects/contacts/search
  filterGroups: [
    { propertyName: "lifecyclestage", operator: "EQ", value: "{{hubspot_lifecycle_stage}}" },
    { propertyName: "kortix_followup_drafted", operator: "NOT_HAS_PROPERTY" }
  ]

Anything already carrying kortix_followup_drafted was handled by a prior run — skip it, even if it hasn't been sent yet. Sending is a human decision, not a signal to re-draft.

Step 1 — Read the lead record

Pull the full context for each match: company name and domain, contact name and title, the form fields they submitted, source/UTM, and any notes already on the record.

Step 2 — Research the company

Read the company's public site and any other public information (what they do, recent news, product, size) to understand why this contact likely signed up. The draft has to reference something specific from this research — not just the company name.

Step 3 — Draft the follow-up to the playbook

Write the follow-up using the positioning, tone, and structure in memory, plus what's landed well on past leads. Include exactly one qualifying question, tailored to what this company does, not a generic checklist question.

Step 4 — Propose a call slot

Check Google Calendar for the next open {{meeting_length_minutes}}-minute slot in the team's normal booking window. Offer that one specific time in the draft — not a range, not a scheduling link. This is a read-only check: never create, move, or accept a calendar event yourself; the invite only exists once a human sends the email and the lead confirms.

Step 5 — Write research notes back to HubSpot

Update the lead record with the company research and the qualifying question you used, so the context is preserved on the record even before the email goes out or if a human edits the draft first.

Step 6 — Hold for approval

Place the drafted follow-up in {{approval_channel}} as a draft only. Do not send it. Set kortix_followup_drafted = true (with a timestamp) on the HubSpot record so the next sweep skips this lead.

</workflow> <guardrails> - **Never send.** Every follow-up is a draft held in {{approval_channel}} for a human to review, edit, and send. - **Calendar is read-only.** Check availability and propose a slot; never create, move, or accept an event. - **HubSpot writes are scoped** to research notes and the `kortix_followup_drafted` marker. Never change deal stage, pipeline, or lifecycle stage. - **No duplicate drafts.** Always check the `kortix_followup_drafted` marker before researching or writing — a lead handled once is never re-drafted, even across many sweeps. - **Scoped secrets.** HubSpot and Google Calendar credentials are injected by the connector at runtime, scoped to this agent's grant. </guardrails> </skill>

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

access-policy

FreeSummary

Review Slack access requests against Okta role and team information, then prepare narrowly scoped GitHub or AWS IAM permissions. Apply changes only after an eligible person's approval and record the grant, reasoning, approver, and timestamp.

  • Reviewing GitHub repository access requests from Slack
  • Preparing AWS IAM permissions for a specific task
  • Routing sensitive access requests for additional review
kortix-ai/suna20.3KUpdated Oct 18, 2026

account-research

FreeSummary

Research companies and people before outreach or meetings. Combines business profiles, recent news, hiring signals, and key contacts into a sourced brief with talking points and suggested questions, adding relationship history when CRM data is connected.

  • Research a prospective customer before outreach
  • Prepare background information for meeting attendees
  • Compare a competitor's products and positioning
kortix-ai/suna20.3KUpdated Oct 18, 2026

Review daily Google Ads and Meta Ads results for budget pacing, declining performance, and unusual activity. Get prioritized findings with supporting numbers and concrete recommendations for a marketing team to assess and carry out.

  • Checking whether campaign budgets are being spent on schedule
  • Investigating rising acquisition costs or falling ad returns
  • Finding ads and keywords that spend without converting
kortix-ai/suna20.3KUpdated Oct 18, 2026

agent-browser

FreeSummary

Automate website tasks such as navigating pages, filling forms, clicking buttons, taking screenshots, and extracting data. The skill also supports web app testing, with specialized guides for Electron desktop apps, Slack, and cloud browsers.

  • Automate form entry and page navigation
  • Capture screenshots and extract page data
  • Explore web apps for bugs
kortix-ai/suna20.3KUpdated Oct 18, 2026

ap-invoice-match

FreeSummary

Process emailed vendor invoices by extracting details, comparing them with purchase orders and invoice history, and recording duplicates, overcharges, or missing orders. Summarize results in Slack for human review; payment approval and execution remain with people.

  • Checking incoming invoices against purchase orders
  • Finding duplicate invoices and likely resends
  • Reviewing unit prices and remaining order balances
kortix-ai/suna20.3KUpdated Oct 18, 2026

billing

FreeSummary

Guide changes to Kortix billing code, admin controls, and pricing screens. Explain how plans, trials, enterprise contracts, and access exceptions should work, where pricing is defined, and which audited routes must handle account changes.

  • Update billing logic and its specification together
  • Review how trials and enterprise contracts are handled
  • Find the code that defines prices and allowances
kortix-ai/suna20.3KUpdated Oct 18, 2026

See all skills by kortix-ai

Report a problem with this skill