home / skills / abdullahbeam / nexus-design-abdullah / hubspot-create-meeting

hubspot-create-meeting skill

/00-system/skills/hubspot/hubspot-create-meeting

This skill creates HubSpot meetings by providing a title and times, empowering you to schedule engagements quickly.

npx playbooks add skill abdullahbeam/nexus-design-abdullah --skill hubspot-create-meeting

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.3 KB
---
name: hubspot-create-meeting
description: "Create a meeting engagement in HubSpot CRM. Load when user says 'create meeting', 'add meeting', 'schedule meeting', 'new meeting'. Requires title, start and end times."
---

# Create HubSpot Meeting

**Specialized skill** for creating meeting 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` - Meeting title (required)

### Optional Parameters
- `--body` - Meeting description/notes
- `--start` - Start time in ISO format (defaults to now)
- `--end` - End time in ISO format (defaults to start + 1 hour)

### Examples

**Meeting with times:**
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/create_meeting.py \
  --title "Product Demo" \
  --body "Demo of new features for enterprise team" \
  --start "2025-12-15T14:00:00Z" \
  --end "2025-12-15T15:00:00Z" \
  --json
```

**Quick meeting (defaults to now + 1 hour):**
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/create_meeting.py \
  --title "Quick sync call" \
  --json
```

---

## Output Format

```json
{
  "id": "14771947458",
  "properties": {
    "hs_meeting_title": "Product Demo",
    "hs_meeting_body": "Demo of new features...",
    "hs_meeting_start_time": "2025-12-15T14:00:00Z",
    "hs_meeting_end_time": "2025-12-15T15:00:00Z",
    "hs_timestamp": "2025-12-15T14:00:00Z"
  }
}
```

---

## Display Format

```
āœ… Meeting created!
  ID: 14771947458
  Title: Product Demo
  Start: 2025-12-15 14:00
  End: 2025-12-15 15:00
  Duration: 1 hour
  Notes: Demo of new features for enterprise team
```

---

## Time Format

Use ISO 8601 format for times:
- `2025-12-15T14:00:00Z` (UTC)
- `2025-12-15T14:00:00+01:00` (with timezone)

---

## Error Handling

| Error | Solution |
|-------|----------|
| 401 | Invalid token - re-run setup |
| 403 | Missing `crm.objects.meetings.write` scope |
| 400 | Invalid time format |
| 429 | Rate limited - wait and retry |

---

## Related Skills

- `hubspot-list-meetings` - List all meetings
- `hubspot-get-associations` - Link meeting to contacts

Overview

This skill creates a meeting engagement in HubSpot CRM from the command line. It requires a meeting title and accepts start/end times, with sensible defaults if times are omitted. Use it to record demos, calls, or internal syncs quickly in HubSpot. It returns the created meeting ID and key properties in JSON for further automation.

How this skill works

Before running, the skill checks HubSpot configuration and connection status; if the pre-flight check fails it instructs you to complete hubspot-connect setup. The script requires --title and accepts --start and --end in ISO 8601 format; if start is omitted it uses now, and if end is omitted it defaults to start + 1 hour. On success it outputs a JSON object with id and properties and prints a compact summary including start, end, duration and notes.

When to use it

  • Record a scheduled demo or client call directly into HubSpot
  • Quickly log an internal sync or standup without opening the UI
  • Automate meeting creation from scripts or CI workflows
  • Create meetings programmatically when onboarding customers
  • Add meetings as part of a multi-step sales automation

Best practices

  • Run the provided config check before creating meetings to ensure tokens and scopes are valid
  • Provide start and end times in ISO 8601 with timezone to avoid ambiguity
  • Include a concise --body to capture agenda or key notes for follow-ups
  • Handle API errors: re-authenticate on 401, add crm.objects.meetings.write scope for 403, and back off on 429
  • Use the JSON output for chaining into other automation or to store the meeting ID

Example use cases

  • Create a product demo meeting: specify title, body, start and end in ISO format
  • Quick sync: run the script with --title only to create a meeting now + 1 hour
  • CI-triggered meeting: generate a post-deployment check-in meeting automatically
  • Onboarding flow: script creates a kickoff meeting and attaches it to a contact via follow-up scripts

FAQ

What time format should I use?

Use ISO 8601 (e.g., 2025-12-15T14:00:00Z or with timezone offsets) to ensure correct scheduling.

What permissions are required?

The integration needs the crm.objects.meetings.write scope; a 403 indicates that scope is missing.