sales-execution
Log sales activities — calls, notes, meetings, tasks — against contacts and deals, with the mandatory create-then-associate step that makes them visible in the CRM.
By hubspot · 1,307 installs
npx skills add hubspot/agent-cli-skills --skill sales-execution
Source repository · Upstream listing
Resources
File When to use
resources/activity properties reference.md Property names and enum values for calls/notes/meetings/tasks. Keep open while writing objects create — enum values are not discoverable via hubspot properties get today.
Read bulk operations/SKILL.md first — this skill assumes its batching, pipe, and dry run patterns.
The two non obvious rules
1. Activities are invisible until associated. hubspot objects create type calls ... alone produces a record nobody can see in the CRM UI. Always follow with hubspot associations create from calls:<id to contacts:<id (and the deal, if relevant) before stopping.
2. Timestamps differ between write and read.
Path Field Format
objects create property hs timestamp=... hs timestamp Unix ms (13 digits)
objects get type calls <id returns properties.hs timestamp Unix ms (string)
activities list contact <id returns timestamp (flat, top level) ISO 8601 (e.g. 2024 01 15T10:00:00Z )
Current Unix ms: $(date +%s)000 (macOS) or $(date +%s%3N) (Linux). activities list rows are {"id","type","timestamp","title","body","status","owner id"} — the cross type timeline read shape, no raw property names.
Create + associate, by type
Open tasks for a contact — two CLI calls, no xargs
associations list emits {"id","type"} per row; objects get reads from stdin in one batch call (see bulk operations/SKILL.md "Read in batch").
Bulk: follow up task per deal in a stage
The deal ID and the task ID must travel together. Persist the deal payload to a file, create tasks (output order matches input order — see bulk operations), then zip the two ID lists line by line and stream association pairs in one call.
For 100 rows, apply the dry run / digest / confirm pattern from bulk operations/SKILL.md .
Known constraints
Activities must be associated immediately or they're invisible in the CRM UI. properties get doesn't return enum option values for activity types — use the reference. No sequences/cadences in the CLI.