Systems Lab

Agent skill

heyreach-toggle

Pause or unpause all campaigns in a Heyreach instance, including FINISHED campaigns that can't normally be paused.

activeNeeds a keyActs undeclared237 words

Filed under Outbound email.

From OneGTM/gtm-skills · 9 skill entries · 0 · pushed 2026-09-30

What it does when it runs

Pause or unpause all campaigns in a Heyreach instance, including FINISHED campaigns that can't normally be paused. Use this skill whenever the user wants to pause, stop, halt, unpause, resume, reactivate, or restart their Heyreach LinkedIn outreach campaigns - even casually like "pause heyreach", "unpause heyreach", "stop our linkedin campaigns", "resume heyreach", "shut down heyreach outreach", "turn heyreach back on", "pause all outbound on heyreach", or "kill the linkedin campaigns". Also trigger when the user mentions pausing or resuming specific Heyreach campaigns by name or wants to toggle LinkedIn outreach for a client.

Automated analysis of the skill and the 1 file bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
  • API_KEY
Hosts it reaches
  • api.heyreach.io
  • www.linkedin.com
Tool permissions it declares
No allowed-tools in the frontmatter. It does act, so it runs under whatever permissions your session already grants.
Actions present in the files
shellnetwork

Ask about heyreach-toggle

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/OneGTM/gtm-skills.git /tmp/gtm-skills
git -C /tmp/gtm-skills sparse-checkout set "skills/heyreach-toggle"
mkdir -p ~/.claude/skills/heyreach-toggle
cp -R "/tmp/gtm-skills/skills/heyreach-toggle/." ~/.claude/skills/heyreach-toggle/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

Or take the whole library

This repo ships a .claude-plugin manifest, so Claude Code can install all 9 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.

/plugin marketplace add OneGTM/gtm-skills
/plugin

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Before you install: this skill will not complete its job on a bare agent. It needs API_KEY, which you have to obtain separately.

Reproduced in full from OneGTM/gtm-skills/blob/36da828338f8062c90f6a4a8ea8b918e4160f1e5/skills/heyreach-toggle/SKILL.md, which is licensed MIT (repository). 237 words, 5 headings.

HeyReach Campaign Toggle

Pause or unpause all campaigns in a HeyReach instance. Handles FINISHED campaigns (which reject normal pause requests) via a dummy lead workaround.

Invocation flow

When this skill triggers, ask the user two things using AskUserQuestion:

  1. API key - "What's the HeyReach API key for this client?"
  2. Action - "All on or all off?"

If the user already provided either piece of info in their message, skip that question.

Execution

Run the bundled script:

python3 <skill-dir>/scripts/heyreach_toggle.py <pause|unpause> <API_KEY>
  • "All off" = pause (pauses all active campaigns, including FINISHED via workaround)
  • "All on" = unpause (resumes all Paused campaigns)

Reporting the result

The script returns JSON. Present it as a clean summary:

[action] [affected_count] of [total_campaigns] campaigns:

  • Campaign Name 1
  • Campaign Name 2
  • ...

Skipped [count] (already in target state or not toggleable):

  • Campaign Name (DRAFT)
  • Campaign Name (FINISHED)

If nothing failed, don't mention failures. If something failed, flag it.

How the FINISHED workaround works (pause only)

HeyReach won't let you pause FINISHED campaigns through the API. The workaround:

  1. Add a dummy lead to the campaign (moves it back to a pausable state)
  2. Pause the campaign
  3. Stop the dummy lead in the campaign
  4. Delete the dummy lead from the campaign's list

The script handles all of this automatically.

Files bundled with it

These load only when the skill asks for them, so they cost nothing until it runs.

Need help setting it up?

This page tells you what heyreach-toggle does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.