home / skills / abdullahbeam / nexus-design-abdullah / hubspot-log-call
This skill logs a HubSpot call engagement with title, optional body and duration to streamline CRM records.
npx playbooks add skill abdullahbeam/nexus-design-abdullah --skill hubspot-log-callReview the files below or copy the command above to add this skill to your agents.
---
name: hubspot-log-call
description: "Log a call engagement in HubSpot CRM. Load when user says 'log call', 'record call', 'add call', 'call made'. Requires title, optional body and duration."
---
# Log HubSpot Call
**Specialized skill** for logging call engagements in HubSpot CRM.
## Pre-Flight Check
Before running, execute config check:
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/check_hubspot_config.py --json
```
If `ai_action` is not `proceed_with_operation`, follow hubspot-connect setup guide.
---
## Usage
### Required Parameters
- `--title` - Call title (required)
### Optional Parameters
- `--body` - Call notes/summary
- `--duration` - Duration in minutes (default: 0)
- `--direction` - OUTBOUND or INBOUND (default: OUTBOUND)
- `--status` - COMPLETED, BUSY, NO_ANSWER, etc. (default: COMPLETED)
### Examples
**Log completed call:**
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/log_call.py \
--title "Discovery Call with Acme" \
--body "Discussed requirements, timeline, and budget. Next step: send proposal." \
--duration 30 \
--json
```
**Log missed call:**
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/log_call.py \
--title "Follow-up attempt" \
--status "NO_ANSWER" \
--direction "OUTBOUND" \
--json
```
---
## Call Status Values
| Status | Meaning |
|--------|---------|
| COMPLETED | Call connected |
| BUSY | Line busy |
| NO_ANSWER | No answer |
| FAILED | Call failed |
| CANCELED | Call canceled |
---
## Output Format
```json
{
"id": "14772074448",
"properties": {
"hs_call_title": "Discovery Call with Acme",
"hs_call_body": "Discussed requirements...",
"hs_call_direction": "OUTBOUND",
"hs_call_duration": "1800000",
"hs_call_status": "COMPLETED",
"hs_timestamp": "2025-12-13T10:00:00Z"
}
}
```
---
## Display Format
```
✅ Call logged!
ID: 14772074448
Title: Discovery Call with Acme
Direction: Outbound
Duration: 30 minutes
Status: Completed
Notes: Discussed requirements, timeline...
```
---
## Error Handling
| Error | Solution |
|-------|----------|
| 401 | Invalid token - re-run setup |
| 403 | Missing `crm.objects.calls.write` scope |
| 429 | Rate limited - wait and retry |
---
## Related Skills
- `hubspot-list-calls` - List all calls
- `hubspot-get-associations` - Link call to contact
This skill logs call engagements directly into HubSpot CRM from a command or prompt. It requires a call title and accepts optional notes, duration, direction, and status so interactions are recorded accurately. It returns the HubSpot call object and a friendly display summary after a successful log.
Before use, run the included configuration check to ensure API credentials and scopes are valid. When invoked with the required title and optional parameters, the skill creates a call engagement via the HubSpot API and returns the created object with properties like title, body, direction, duration (ms), status, and timestamp. It surfaces common API errors and provides actionable messages for authentication, permissions, and rate limits.
What parameters are required to log a call?
Only a title is required. Notes (body), duration, direction, and status are optional.
What do I do if I get a 401 or 403 error?
401 indicates invalid credentials—re-run the configuration setup. 403 means the integration lacks the crm.objects.calls.write scope; update credentials and scopes.