home / skills / abdullahbeam / nexus-design-abdullah / hubspot-log-email
This skill logs email engagements into HubSpot by recording subject, body, direction, and timestamp to track interactions.
npx playbooks add skill abdullahbeam/nexus-design-abdullah --skill hubspot-log-emailReview the files below or copy the command above to add this skill to your agents.
---
name: hubspot-log-email
description: "Log an email engagement in HubSpot CRM. Load when user says 'log email', 'record email', 'add email', 'email sent'. Requires subject and body."
---
# Log HubSpot Email
**Specialized skill** for logging email 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
- `--subject` - Email subject line (required)
- `--body` - Email body content (required)
### Optional Parameters
- `--direction` - EMAIL (sent) or INCOMING_EMAIL (received)
- `--timestamp` - ISO timestamp (defaults to now)
### Examples
**Log sent email:**
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/log_email.py \
--subject "Follow up on proposal" \
--body "Hi John, following up on our conversation about the enterprise package..." \
--json
```
**Log received email:**
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/log_email.py \
--subject "Re: Proposal" \
--body "Thanks for sending over the details..." \
--direction "INCOMING_EMAIL" \
--json
```
---
## Output Format
```json
{
"id": "14389550562",
"properties": {
"hs_email_subject": "Follow up on proposal",
"hs_email_text": "Hi John, following up on...",
"hs_email_direction": "EMAIL",
"hs_email_status": "SENT",
"hs_timestamp": "2025-12-13T10:00:00Z"
}
}
```
---
## Display Format
```
ā
Email logged!
ID: 14389550562
Subject: Follow up on proposal
Direction: Sent
Status: SENT
Timestamp: 2025-12-13 10:00
```
---
## Error Handling
| Error | Solution |
|-------|----------|
| 401 | Invalid token - re-run setup |
| 403 | Missing `crm.objects.emails.write` scope |
| 429 | Rate limited - wait and retry |
---
## Related Skills
- `hubspot-list-emails` - List all emails
- `hubspot-get-associations` - Link email to contact
This skill logs an email engagement in HubSpot CRM using required subject and body fields. It supports marking direction (sent or incoming) and optional timestamp to record when the email occurred. The skill returns a HubSpot email record ID and key properties for verification. It is designed for quick, scriptable recording of email activity into HubSpot.
The skill accepts subject and body as required inputs and optional direction (EMAIL or INCOMING_EMAIL) and timestamp (ISO format). It validates configuration and HubSpot scopes, then calls the HubSpot Emails API to create a logged email engagement. On success it returns the created record with properties like subject, text, direction, status, and timestamp. Errors map to clear remediation steps for token, scope, and rate limits.
What parameters are required to log an email?
Subject and body are required. Direction and timestamp are optional; direction defaults to sent if omitted.
What should I do if I get a 403 error?
Ensure the API token includes the crm.objects.emails.write scope. Re-run the configuration steps to grant the required scopes.