Connect a CRM
Wire HubSpot or Salesforce so operators can read deals, update contacts, and follow up on leads.
A sales operator without a CRM connection is missing 80% of its job. This tutorial walks you through connecting HubSpot end-to-end. Salesforce is identical except for the OAuth screen.

Prerequisites
- A Guilde guild with at least one sales-ish operator (Solo or a Sales squad bundle works)
- Admin access to your CRM (HubSpot in this example)
- ~5 minutes
Step 1 — Install the integration
Sidebar → Integrations (under TEAM, sibling to Actions) → search HubSpot → click the row → Install.
You're redirected to HubSpot's authorize page. Pick the HubSpot account you want to grant Guilde access to, review the requested scopes, click Authorize.
By default Guilde requests:
crm.objects.contacts.read/.writecrm.objects.deals.read/.writecrm.objects.companies.read
Toggle off anything you don't want before authorizing.
Step 2 — Verify the actions registered
The integration installs at the user level. Its actions register
into the guild's flat Actions list under
the hubspot provider group. You should see verbs like
contacts.search, deals.update, companies.get, …
If they're not there: the install didn't complete. Go back to Integrations, click HubSpot, hit Re-authorize.
Step 3 — Wire actions to operators
Default for any new action is "no operator linked". On the Actions page → click the HubSpot provider group → Manage → pick the operators (or roles) that should be able to call HubSpot verbs. Save.
Operators only see actions they've been explicitly granted.
Step 4 — Test from a conversation
Open a conversation with your sales operator. Try:
- "Pull my 5 most recent deals from HubSpot and tell me which need follow-up."
- "Find every contact tagged 'enterprise-trial' that hasn't been contacted in 14 days."
- "Create a contact for Dana Smith at acme.com, mark them as MQL."
The operator should:
- Call the HubSpot API via the action
- Show the tool call inline in the conversation (expand to see the request + response)
- Synthesize a response with the data
If the operator says "I don't have access to HubSpot", check that the action is wired to that operator on the Actions page.
Step 5 — Set up a routine (optional)
Now that the operator can read HubSpot, schedule something useful:
- Daily pipeline summary at 9am — operator pulls every active deal, surfaces the ones with risk indicators (no activity in 7 days, past close date), drops a digest in Slack.
See Build a routine for the walkthrough.
Refresh + revoke
OAuth tokens auto-refresh while valid. If you change scopes on HubSpot's
side, or revoke the grant, the integration flips to expired —
operators get a clear error in conversations. Click Reconnect to
redo the OAuth.
To revoke entirely: Integrations → HubSpot → Revoke. Guilde deletes its tokens. HubSpot still remembers the grant — revoke from HubSpot's side too if you're being thorough.
What's next
- Build a routine — schedule recurring CRM digests
- Actions and Integrations — full reference
- Operators — tune your sales operator's autonomy and skills