Back to skills
extension
Category: Development & EngineeringNo API key required

hubspot-log-email

Log an email engagement in HubSpot CRM. Load when user says 'log email', 'record email', 'add email', 'email sent'. Requires subject and body.

personAuthor: jakexiaohubgithub

Log HubSpot Email

Specialized skill for logging email engagements in HubSpot CRM.

Pre-Flight Check

Before running, execute config check:

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:

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:

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

{
  "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