home / skills / abdullahbeam / nexus-design-abdullah / hubspot-update-contact
This skill securely updates HubSpot contacts by ID, allowing you to modify email, name, phone, or company efficiently.
npx playbooks add skill abdullahbeam/nexus-design-abdullah --skill hubspot-update-contactReview the files below or copy the command above to add this skill to your agents.
---
name: hubspot-update-contact
description: "Update an existing contact in HubSpot CRM. Load when user says 'update contact', 'edit contact', 'modify contact', 'change contact'. Requires contact ID."
---
# Update HubSpot Contact
**Specialized skill** for updating contacts 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
- `--id` - Contact ID (required)
### Optional Parameters (at least one required)
- `--email` - New email address
- `--firstname` - New first name
- `--lastname` - New last name
- `--phone` - New phone number
- `--company` - New company name
### Examples
**Update phone:**
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/update_contact.py \
--id 12345 \
--phone "+1987654321" \
--json
```
**Update multiple fields:**
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/update_contact.py \
--id 12345 \
--firstname "Jonathan" \
--company "New Corp Inc" \
--json
```
---
## Finding Contact ID
If user says "update John Doe", first search for the contact:
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/search_contacts.py --name "John Doe" --json
```
Then use the returned ID for the update.
---
## Output Format
```json
{
"id": "12345",
"properties": {
"email": "[email protected]",
"firstname": "Jonathan",
"lastname": "Doe",
"lastmodifieddate": "2025-12-13T10:30:00Z"
}
}
```
---
## Display Format
```
✅ Contact updated!
ID: 12345
Updated fields:
- firstname: Jonathan
- company: New Corp Inc
```
---
## Error Handling
| Error | Solution |
|-------|----------|
| 401 | Invalid token - re-run setup |
| 403 | Missing `crm.objects.contacts.write` scope |
| 404 | Contact not found - check ID |
| 429 | Rate limited - wait and retry |
---
## Related Skills
- `hubspot-search-contacts` - Find contact ID
- `hubspot-list-contacts` - List all contacts
- `hubspot-create-contact` - Create new contact
This skill updates an existing contact in HubSpot CRM using a contact ID and one or more updated fields. It provides a focused command-style interface to change email, name, phone, or company fields and returns a concise confirmation payload. The skill includes pre-flight checks and clear error guidance for common HubSpot API issues.
The skill requires a contact ID and one or more optional fields to modify (email, firstname, lastname, phone, company). It runs a configuration check before performing the update, calls the HubSpot contacts API to patch the contact, and returns the updated contact object with changed properties and last modified timestamp. If you don’t have an ID, run a contact search first to retrieve it, then re-run the update with the returned ID.
What parameter is required to run an update?
The contact ID (--id) is required. At least one additional field to change must be provided.
What if I only know the contact name?
Search for the contact first to get the ID, then run the update with that ID.
What are common errors and fixes?
401 means invalid token—re-run setup; 403 indicates missing write scope; 404 means the ID wasn’t found; 429 means rate limited—wait and retry.