Skip to content

Add HubSpot CRM skill example#1

Open
Kurume98 wants to merge 3 commits intolua-ai-global:masterfrom
Kurume98:master
Open

Add HubSpot CRM skill example#1
Kurume98 wants to merge 3 commits intolua-ai-global:masterfrom
Kurume98:master

Conversation

@Kurume98
Copy link
Copy Markdown

This pull request adds a new HubSpot CRM skill example for the Lua AI Agent.
It includes:

  • createContact tool (fully functional with HubSpot API)
  • Zod input validation
  • Skill wiring (hubspotCRM.skill.ts)
  • Example README and project structure

This skill allows Lua Agents to create CRM contacts using a HubSpot Private App Token.

Comment thread hubspot-crm-skill/src/index.ts Outdated
Comment thread hubspot-crm-skill/src/skills/hubspotCRM.skill.ts Outdated
Comment thread hubspot-crm-skill/src/skills/hubspotCRM.skill.ts Outdated
Comment thread hubspot-crm-skill/src/skills/hubspotCRM.skill.ts Outdated
Comment thread hubspot-crm-skill/src/skills/hubspotCRM.skill.ts Outdated
Comment thread hubspot-crm-skill/src/skills/createContact.ts Outdated
Comment thread hubspot-crm-skill/src/skills/createContact.ts Outdated
Comment thread hubspot-crm-skill/src/skills/createContact.ts Outdated
Comment thread hubspot-crm-skill/package.json Outdated
Comment thread hubspot-crm-skill/src/types/lua-cli.d.ts Outdated
Comment thread hubspot-crm-skill/README.md Outdated
Copy link
Copy Markdown
Contributor

@rares04 rares04 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current skill only has:

  • createContact - a tool for creating a new contact
    That's it. This covers maybe 5% of what someone would actually want to do with HubSpot through a chat interface. It's like building a "Gmail skill" that can only send emails but can't read, search, reply, or manage labels.

The skill will also not work with the Lua CLI. It appears to have been written without actually running/testing against the CLI.

@Kurume98 Kurume98 requested a review from a team December 15, 2025 17:16
@Kurume98
Copy link
Copy Markdown
Author

I've updated this PR with the completed HubSpot CRM skill. Key changes:

6 Tools Now Included:

  1. createContact - Create new contacts
  2. createContactFromChat - Convert chat conversations into contacts
  3. updateContact - Update existing contact properties
  4. updateDealStage - Move deals through pipeline stages
  5. getDealPipelines - Get available pipelines and stage IDs
  6. getContactActivitySummary - Get engagement history for contacts

Bug Fix:
Fixed Lua CLI bundler issue by defining inputSchema inline within each tool class (not as a separate const)

Tested:
All 6 tools compile and bundle successfully
Tested in sandbox environment - all tools working correctly
included the YAML file.
Ready for review!

Comment thread hubspot-crm-skill/src/skills/hubspotCRM.skill.ts
Comment thread hubspot-crm-skill/package.json Outdated
Comment thread hubspot-crm-skill/src/tools/createContactFromChat.tool.ts Outdated
Comment thread hubspot-crm-skill/.gitignore
Comment thread hubspot-crm-skill/package.json
Copy link
Copy Markdown
Contributor

@rares04 rares04 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing searchContacts Tool

⚠️ No way to search contacts directly. The skill has createContactFromChat which searches internally, but users can't say "Find all contacts from Acme Corp" or "Look up john@example.com". This is one of the most common CRM operations.
Missing getContact Tool

⚠️ No way to get a single contact's details by ID. Users would want to say "Show me contact 12345's info".
updateContact Missing from README
README.md Line 14-29:

⚠️ README lists 5 tools but skill has 6. updateContact is implemented but not documented in README.


Functionality Gap Analysis

🔴 Missing (Required for a Usable Skill)

The skill is missing the most common CRM operation — search:

Tool Why Needed
searchContacts "Find john@example.com", "Look up contacts at Acme Corp" — this is what users ask for 80% of the time
getContact Get full contact details by ID (needed after search results)

Without search, users can only create/update contacts they already know the ID for.

🟡 Nice to Have (Would Make it Complete)

Tool Why Useful
searchCompanies B2B CRM staple — find companies by name/domain
createCompany Create company records (with duplicate prevention like createContactFromChat)
getCompany Get company details by ID

✅ What's Already Good

The existing 6 tools are solid and well-implemented:

  • Contact CRUD (create, createFromChat, update) ✅
  • Deal stage management (getPipelines, updateStage) ✅
  • Activity summary for sales prep ✅

Summary

Current: 6 tools → Usable: needs 2 more → Complete: needs 5 more

At minimum, add searchContacts and getContact — these are table-stakes for any CRM skill. The company tools would round it out as a proper "HubSpot CRM" skill rather than just a "HubSpot Contacts" skill.

@Kurume98
Copy link
Copy Markdown
Author

Summary
Fixed the concerns.
Updated the skill with tools as directed above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants