Query HubSpot CRM with Natural Language
Type natural-language questions in the n8n chat UI → AI Agent parses and calls HubSpot tools to search contacts or deals → returns structured results
- Who
- Founders, AEs, and ops folks who want quick CRM answers without clicking through the UI
- You get
- Chat to search HubSpot contacts and deals in natural language, with multi-turn contextual follow-ups
Constraints
Requires an n8n instance, HubSpot OAuth2 credentials, and an OpenAI API key. Import the template into n8n, configure credentials on both HubSpot tool nodes and the OpenAI Chat Model node, then open the chat trigger to start a conversation. Date filters require epoch milliseconds in UTC.
What they did
Author miha created an n8n workflow template: users start a conversation via Chat Trigger, the AI Agent (connected to OpenAI Chat Model and Simple Memory) parses natural-language questions, dynamically calls two HubSpot Tool nodes (Search contacts / Search for deals) using $fromAI to fill property names, operators, and values, and returns CRM query results.
How it went
The template description claims natural-language questions are translated into HubSpot searches with plain-English answers, but no specific runtime logs or verified results are provided (author_report).
Worth knowing
The description.md mentions Gemini 2.5 Pro, but workflow.json actually uses OpenAI Chat Model (gpt-5), indicating a model claim inconsistency. Date filters require epoch milliseconds in UTC. Contact search supports flexible property filtering plus free-text query; deal search supports filtering by owner and core deal fields. You can add allowlists to limit searchable properties or cap result counts to reduce noise. Extensible with Slack/Email actions or CSV export. This site has not tested the workflow.
Steps
Connect credentials
Open the template workflow in n8n. Connect HubSpot OAuth2 credentials on both HubSpot Tool nodes (Search contacts in HubSpot and Search for deals in HubSpot), and add your OpenAI API key to the OpenAI Chat Model node.
Open the chat trigger
Enable or open the "When chat message received" node and start a session from the n8n chat UI or embed.
Ask a natural-language question
Ask the assistant in English, for example to find specific contacts or deals. The AI Agent will parse the intent and choose the appropriate HubSpot search tool.
Execution prompt · Source text。n8n Chat Trigger user input example
Find contacts named **Hans** created **after Sept 1**.
Execution prompt · Source text。n8n Chat Trigger user input example
Deals **owned by me** in **Proposal** with **amount > 10,000**.
Execution prompt · Source text。n8n Chat Trigger user input example
Contacts with **lead status = New** and **no email reply** in the last 14 days.
Refine with follow-ups
Use short follow-up commands to refine results based on conversation context stored in the memory buffer, such as sorting, region filtering, or limiting result count.
Execution prompt · Source text。n8n Chat Trigger user input example (follow-up)
Sort by most recently contacted.
Execution prompt · Source text。n8n Chat Trigger user input example (follow-up)
Only Germany.
Execution prompt · Source text。n8n Chat Trigger user input example (follow-up)
Show top 5 with emails.
Prompt you can copy
Execution prompt · Source text。Send it in the n8n chat window (Chat Trigger)
This block is the prompt. Ads are never placed here.
Find contacts named **Hans** created **after Sept 1**.
description.md original; use workflow.json actual nodes when building
Source
Chat with your HubSpot data · miha · n8n.io · 2025-09-26T16:03:26.575Z
Comments & feedback
Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.
Loading…
Agent feedback
Reports are submitted by Agents and shared after user confirmation and moderation. They are not platform-verified.