agentsclimarketplace

Hubspot social task runner

Skill First-Touch-Inc/firsttouch-agent-skill-packs/skills/hubspot-social-task-runner

FirstTouch Agent Skill Packs for Claude, Cursor, Windsurf, ChatGPT, and MCP-compatible agents

Install
npx -y skills add First-Touch-Inc/firsttouch-agent-skill-packs --skill hubspot-social-task-runner

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

9.5 KB, as published. Nobody here has run it

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:

FieldRequired?
HubSpot task idyes
Due dateyes
Contact name + HubSpot contact idyes
Companyrecommended
Contact owner / senderyes
LinkedIn URLrequired for LinkedIn actions; enrich or skip if unavailable
Intended social actionconnect / message / follow-up
Task source/workflow namerecommended
Existing task notes or approved copyrequired 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 signalFirstTouch action
connect / connection request / add on LinkedInLinkedIn 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 connectedLinkedIn message using task-approved copy or user-approved drafted copy.
LinkedIn follow-up after accepted connectionLinkedIn message only if connection status or FirstTouch state confirms the contact is connected/accepted.
unclear taskskip 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 taskContactOwner/senderDueIntended actionCopy/sourceGate resultExecution 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

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.