home / skills / abdullahbeam / nexus-design-abdullah / hubspot-list-calls
This skill lists HubSpot call engagements from your CRM, returning recent call records and optional pagination to empower quick review.
npx playbooks add skill abdullahbeam/nexus-design-abdullah --skill hubspot-list-callsReview the files below or copy the command above to add this skill to your agents.
---
name: hubspot-list-calls
description: "List call engagements from HubSpot CRM. Load when user says 'list calls', 'show calls', 'call history', 'hubspot calls'. Returns logged call records."
---
# List HubSpot Calls
**Specialized skill** for listing call engagements from 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
### Basic List (default 10 calls)
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/list_calls.py --json
```
### With Limit
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/list_calls.py --limit 25 --json
```
### With Pagination
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/list_calls.py --after "cursor_value" --json
```
---
## Output Format
```json
{
"results": [
{
"id": "14772074448",
"properties": {
"hs_call_title": "Discovery Call",
"hs_call_body": "Discussed requirements and timeline...",
"hs_call_direction": "OUTBOUND",
"hs_call_duration": "1800000",
"hs_call_status": "COMPLETED",
"hs_timestamp": "2025-12-13T10:00:00Z"
}
}
],
"paging": {
"next": {
"after": "cursor_for_next_page"
}
}
}
```
---
## Display Format
```
Found {count} calls:
1. Discovery Call
Direction: Outbound
Duration: 30 minutes
Status: Completed
Date: 2025-12-13 10:00
Notes: Discussed requirements and timeline...
ID: 14772074448
2. Follow-up Call
Direction: Inbound
...
```
---
## Call Direction Values
| Value | Meaning |
|-------|---------|
| OUTBOUND | Made call |
| INBOUND | Received call |
---
## Error Handling
| Error | Solution |
|-------|----------|
| 401 | Invalid token - re-run setup |
| 403 | Missing `crm.objects.calls.read` scope |
| 429 | Rate limited - wait and retry |
---
## Related Skills
- `hubspot-log-call` - Log new call
- `hubspot-get-associations` - Get call's linked contacts
This skill lists call engagements from a HubSpot CRM account and returns the logged call records in a structured format. It provides a paginated JSON output plus a readable display summary showing title, direction, duration, status, date, notes, and ID. Use it to quickly review recent call history or to integrate call data into workflows.
The script queries HubSpot's calls endpoint after a pre-flight config check to verify authentication and scopes. It supports limit and pagination parameters and returns results with properties like title, body, direction, duration, status, and timestamp. Errors such as invalid token, missing scope, or rate limits are surfaced with recommended remedial steps.
What pre-check should I run before using this skill?
Run the config check script to confirm ai_action is proceed_with_operation and authentication scopes are present.
How do I request more than the default number of calls?
Use the --limit option to increase the number of returned calls.
How do I retrieve the next page of results?
Pass the cursor from paging.next.after into the --after parameter to fetch the next page.
What if I get a 403 or 429 error?
403 indicates a missing crm.objects.calls.read scope; update scopes and re-authenticate. 429 means rate limited—wait and retry with backoff.