AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Hubspot Social Task Runner

skill-first-touch-inc-firsttouch-agent-skill-packs-hubspot-social-task-runner · by First-Touch-Inc

Find HubSpot CRM tasks due today in the user/owner queue that already represent LinkedIn/social steps, such as connect, message, or follow-up, then execute the approved social action through FirstTouch and mark the HubSpot task complete only after the action is queued or sent. Use only when HubSpot MCP is connected and the team already creates these social-step tasks every day.

No reviews yet
0 installs
34 views
0.0% view→install

Install

$ agentstack add skill-first-touch-inc-firsttouch-agent-skill-packs-hubspot-social-task-runner

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-first-touch-inc-firsttouch-agent-skill-packs-hubspot-social-task-runner)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Hubspot Social Task Runner? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

HubSpot Social Task Runner

Outcome: Turn an existing HubSpot task queue into completed LinkedIn/social actions for the tasks due today. This play does not create a new cadence, infer missing task logic, or replace RevOps setup. It only works when HubSpot already has daily social-step tasks such as LinkedIn connect, LinkedIn message, or social follow-up.

First-run onboarding gate

Before running this skill for the first time in a workspace, load ../../references/onboarding.md and complete the onboarding questions. Do not proceed until you know: LinkedIn account type, HubSpot MCP status, FirstTouch sender/account readiness, and whether HubSpot tasks are already being created daily for social steps. If HubSpot MCP cannot read and complete tasks, or if no task queue exists, stop and recommend setting up the task source first.

Example prompts

  • "Find my HubSpot LinkedIn tasks due today and execute the eligible ones through FirstTouch."
  • "Work the LinkedIn connection request and LinkedIn message tasks due today in my HubSpot queue."
  • "Check my HubSpot tasks for LinkedIn/social follow-ups due today, run the safe ones, and tell me what stayed open."

When to use

  • "Work my HubSpot LinkedIn tasks due today"
  • "Automate the manual social tasks my team already creates"
  • "Find all due HubSpot tasks that say connect on LinkedIn or send LinkedIn message, then run them"
  • AE/BDR teams that already get daily CRM tasks for social touches but waste time manually clicking through them

When NOT to use

  • There are no HubSpot/CRM tasks already being created for social steps
  • The CRM connector is not connected or cannot expose tasks
  • The user wants a new cadence/list/flow created. Use hubspot-signal-to-linkedin-touch, social-campaigns, or icp-outbound-builder instead.
  • The task is ambiguous, missing a contact, missing a LinkedIn URL, missing sender/owner, or not clearly a LinkedIn/social action
  • The task is an email/call/manual research task rather than a LinkedIn connect/message/social follow-up

Inputs

  • Date scope: default = tasks due today in the workspace timezone, not overdue backlog unless the user asks. If it is late in the day or outside the customer's normal sending schedule, preview the rows and ask whether to send today or hold until tomorrow.
  • Task filters: user/owner queue, task status open/not started, due date today, task title/body/type containing LinkedIn/social/connect/message/follow-up cues such as LinkedIn, LI, connect, connection request, message on LinkedIn, or social touch
  • Allowed social actions: LinkedIn connection request, LinkedIn message to existing connection, post-accept follow-up when already modeled by the task
  • Approval mode: treat a task from an explicitly approved CRM workflow or approved daily task process as prior approval to execute exactly that task. If that prior approval is unclear, or if new copy is drafted, preview and ask before execution.

Step-by-step

1. Confirm this is task automation, not cadence creation

State the constraint back to the user: > "I will only process HubSpot tasks already due today that clearly represent LinkedIn/social steps. I will not create new tasks, new cadence logic, or infer missing workflow rules."

If daily tasks are not already being created, stop and recommend the appropriate setup play.

2. Pull due social tasks from HubSpot

Using the CRM connector, query HubSpot tasks that are:

  • assigned to the requested user/owner/sender, or the current user if unspecified
  • due today in the workspace timezone
  • open / not completed
  • associated to a contact or company/contact record
  • clearly labeled as a social step, for example task title/body contains LinkedIn, LI, connect, connection request, message on LinkedIn, or social touch

Do not include calls, emails, generic follow-ups, research tasks, or tasks with no contact association.

3. Normalize each task into an execution row

For each candidate task, capture:

| Field | Required? | |---|---| | HubSpot task id | yes | | Due date | yes | | Contact name + HubSpot contact id | yes | | Company | recommended | | Contact owner / sender | yes | | LinkedIn URL | required for LinkedIn actions; enrich or skip if unavailable | | Intended social action | connect / message / follow-up | | Task source/workflow name | recommended | | Existing task notes or approved copy | required for message actions unless FirstTouch drafts and user approves |

4. Run safety gates before execution

For every row:

  • Gate 0 suppression/DNC from ../../references/safety-governance.md
  • Gate 1 duplicate/recent FirstTouch outreach check
  • Gate 2 owner/sender routing
  • Gate 3 LinkedIn daily cap check, including today's active, in-queue, blocked/review-required, and completed/pending connection requests for the sender
  • Confirm the task is actually due today and not already completed

Skip and report any row that fails a gate. Do not mark skipped HubSpot tasks complete unless the user explicitly asks.

5. Map task type to FirstTouch action

Use this mapping:

| HubSpot task signal | FirstTouch action | |---|---| | connect / connection request / add on LinkedIn | LinkedIn connection request. Free/basic accounts use blank connection requests with no note. Use a note only when Sales Navigator/Premium is available and the task includes approved note copy or the user approves it. | | LinkedIn message / social message / follow-up and contact is already connected | LinkedIn message using task-approved copy or user-approved drafted copy. | | LinkedIn follow-up after accepted connection | LinkedIn message only if connection status or FirstTouch state confirms the contact is connected/accepted. | | unclear task | skip and report for manual review |

Before creating any one-contact LinkedIn action, run get_dynamic_action_guide, then call add_dynamic_action in the supported order. Do not bypass the FirstTouch dynamic-action preflight. If a task explicitly models a follow-up after a pending connection acceptance, append the message to the connection_accepted branch rather than queueing it as an immediate message.

6. Execute only approved/eligible rows

A HubSpot task from an explicitly approved CRM workflow or approved daily task process counts as prior approval to execute exactly that task, as long as it contains enough information to act safely. If the task was ad hoc, ambiguous, late in the day/outside the customer's normal sending schedule, or requires freshly generated copy, show the approval table first and wait.

Approval/execution table:

| # | HubSpot task | Contact | Owner/sender | Due | Intended action | Copy/source | Gate result | Execution status | |---|---|---|---|---|---|---|---|---|

7. Mark HubSpot task complete after FirstTouch queues/sends

After FirstTouch confirms the LinkedIn action is queued or sent:

  • if the task lives in FirstTouch Tasks, mark it complete with complete_task (use skip_task for rows the user rejected)
  • if the task lives in HubSpot, attempt to mark it complete through the connected HubSpot MCP (requires task write access - verified during mcp-setup.md preflight)
  • add a completion note such as Executed via FirstTouch: LinkedIn connection request queued or LinkedIn message queued/sent
  • if the task-complete action is unavailable, rejected by the connector, or returns an error, leave the HubSpot task open and report the failure reason in the output table
  • if FirstTouch action fails, leave the HubSpot task open and add/report the failure reason

8. Report results

Return:

  • tasks scanned
  • eligible LinkedIn/social tasks due today
  • sent/queued count by action type
  • skipped count with reasons
  • remaining daily cap for each sender
  • HubSpot tasks completed
  • HubSpot tasks left open for manual review

Output

## HubSpot social tasks processed today
- Owner/sender:
- Tasks scanned:
- Eligible social tasks due today:
- LinkedIn connection requests queued/sent:
- LinkedIn messages queued/sent:
- HubSpot tasks marked complete:
- Skipped/manual review:
- Remaining connection-request cap:

| Task | Contact | Action | Status | Reason/details |
|---|---|---|---|---|

Pitfalls

  • Treating this as a prospecting engine. It is only a task runner for existing CRM tasks.
  • Running overdue/backlog tasks without an explicit user ask; default is due today only.
  • Sending ambiguous tasks that do not clearly specify a LinkedIn/social action.
  • Marking HubSpot tasks complete before FirstTouch confirms queue/send success.
  • Ignoring shared daily LinkedIn caps when AI SDR or social campaigns are also running.
  • Drafting new message copy and sending it automatically. If the task does not already contain approved copy, ask for approval.

Reference

  • Onboarding: [../../references/onboarding.md](../../references/onboarding.md)
  • HubSpot setup: [../../references/hubspot-setup.md](../../references/hubspot-setup.md)
  • Safety gates: [../../references/safety-governance.md](../../references/safety-governance.md)
  • System model: [../../references/system-grounding.md](../../references/system-grounding.md)

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.