# Lindy AI: How to Connect Your CRM, HubSpot or Salesforce *How-to — 2026-10-25 — by Mahmoud Zalt* Connect HubSpot or Salesforce to Lindy: authorization steps, the triggers and actions you get, the polling limit, and how to avoid duplicate contacts. **Short answer.** **You connect a CRM to Lindy by adding it as a step on the workflow canvas, clicking Add Account, and authorizing it.** For HubSpot, their documentation has you grant CRM permissions and then choose which objects and properties Lindy may access. For Salesforce, you are sent to Salesforce to authorize, and Lindy then works within that user's existing permissions and field-level security. **About this guide.** This guide is based on publicly available information and Lindy's own documentation, checked on 17 August 2026. Sistava is not affiliated with Lindy. Interfaces and pricing change often, so confirm the current steps in their documentation before you rely on them. Connecting a CRM is different from connecting a calendar, and the difference is worth naming before you start. A calendar mistake is visible and easy to undo. A CRM mistake quietly creates four versions of the same contact, and you find out three weeks later when someone sends the same person two sequences. So the goal here is not just to get connected. It is to get connected with the right scope, the right polling interval, and a habit of checking for an existing record before creating a new one. Lindy's documentation is unusually direct about all three, which makes this easier than it could have been. ## How do you connect HubSpot to Lindy? You add HubSpot as a step, then authorize from that step. Their documentation describes clicking the plus sign or right clicking the canvas, choosing Add Trigger or Add Action, selecting HubSpot, and clicking connect. Then you click Add Account, authorize HubSpot, grant CRM permissions, and choose which objects and properties Lindy may access. That last part is the one to read carefully. Object and property selection is where you decide whether this connection can touch deals as well as contacts, and which fields it can see or change. It is much easier to widen that later than to work out which automation overwrote a field last Tuesday. 1. **Add the CRM to a workflow** — Click the plus sign or right click the canvas, choose Add Trigger or Add Action, and pick HubSpot or Salesforce. 2. **Authorize the account** — For HubSpot, click Add Account and complete the authorization. For Salesforce, their documentation has you click the component again, select connect from the right tab, and finish authorizing on Salesforce's own site. 3. **Scope what it can reach** — On HubSpot you select the objects and properties Lindy may access. On Salesforce, their documentation states Lindy respects that user's permissions and field-level security, so the connected user account is effectively the scope. 4. **Leave polling at the documented interval** — Their HubSpot page says to keep polling at 900 seconds, which is fifteen minutes, because of HubSpot's rate limits. Shortening it to feel faster is the wrong trade. 5. **Look before you create** — Their own guidance is to run Search Contacts before Create Contact so you do not generate duplicates. Build that check into the flow rather than trusting duplicate detection to catch everything. 6. **Test on a small set first** — Their documentation recommends testing with small datasets before scaling. A CRM is the wrong place to discover a mapping error at volume. ## What can Lindy do inside HubSpot? Six triggers and eight actions, per their documentation. The triggers cover new or updated contacts, a change to a specific contact property, new or updated deals, a deal entering a stage, a new form submission, and a change in contact lifecycle stage. Form submission is described as activating instantly, while the contact trigger polls on an interval you can configure. On the action side you get Create Contact, Update Contact, Search Contacts, Add Contact To List, Enroll Contact Into Workflow, Update Deal, Create Associations and Create Communication. Two of those deserve attention. Search Contacts is documented as supporting up to three conditions and returning at most a hundred records, so it is a lookup rather than a bulk export. Create Communication is what logs an email, a call or a meeting note onto the record, which is the action most people are actually looking for when they say they want the CRM updated automatically. **If that felt like a lot of wiring.** Choosing between eight actions and mapping fields onto a schema is exactly the work we removed at Sistava. You hire an AI Employee, tell it in plain English to keep the CRM current after every conversation, and it works from that brief. The CRM is connected already, it asks you when a record is ambiguous, and there is no canvas to maintain when your pipeline stages change. ## How is the Salesforce connection different? It is broader and it inherits your existing permission model. Their documentation lists eight triggers, covering new and updated contacts, leads and records, deleted records, and outbound messages fired by Salesforce workflow rules. It lists twenty-four actions, which include creating, updating and deleting contacts, leads and opportunities, adding people to campaigns, managing cases and comments, posting to Chatter, and creating notes and attachments. The security model is the real difference. Their page states that Lindy respects Salesforce's user permissions and field-level security, which means the connected user account defines what is reachable. If you want a narrow connection, create a narrow Salesforce user rather than trying to constrain it inside Lindy. Two more things from the same page. Query power is there for people who want it, with SOQL and SOSL search among the actions, and their documentation notes that some capabilities including advanced triggers, those queries, bulk operations and complex filtering sit behind a premium subscription. It also flags Salesforce's own API rate limits, query execution time limits and record retrieval restrictions, which apply regardless of what Lindy does. ## Who can use the connection, and can you stop it writing? Connections carry a scope and a write setting, and for a CRM you should set both deliberately. Their integrations documentation describes personal connections, usable and modifiable only by whoever created them, and team connections, usable by the whole workspace with changes restricted to owners and admins. A shared company CRM is usually a team connection. A personal sandbox is not. Write behaviour is controlled by what they call guardrails, with three documented settings: always allow, require approval, and do not offer. For a CRM, require approval is the sensible starting position, and you loosen it once you have watched a week of proposed writes. The same page states that reads are never guarded, so anything connected is readable by default. **The four gotchas their own docs raise.** First, keep HubSpot polling at 900 seconds, because their page ties that number directly to HubSpot's rate limits. Second, search before you create, or you will build duplicates faster than anyone can merge them. Third, avoid having several triggers fire at the same time on the same records. Fourth, and easiest to miss, their guardrail settings are documented as applying in shared Slack threads and not in direct messages, the web app chat, iMessage or SMS, so an approval habit built in a channel does not follow you to a text message. ## Do you have to build a workflow to use the CRM? Not for everything. Lindy's quickstart describes connecting tools such as Notion, HubSpot and Linear as part of ordinary setup, and its ad hoc tasks documentation describes asking for one-off work in plain language, including researching a company before a meeting. Once the CRM is connected, that kind of question can draw on it without a canvas being involved. For anything that should happen every time, the workflow builder is still the mechanism. An independent walkthrough describes refining a running agent by simply asking it to add a HubSpot action, which is a nice middle ground between typing a request and assembling a flow by hand. Both routes are legitimate, and the integration coverage here is genuinely deep, particularly on Salesforce. Sistava took the other fork: an AI Employee owns the outcome, keeps the CRM current as a consequence of the conversations it has, and asks you when a record does not clearly match. If you want to hold the wiring, Lindy hands you real control over it. If you want to hand over the job instead, that is a different product shape, and worth knowing which one you are buying. ## FAQ ### Does Lindy connect to HubSpot and Salesforce? Yes, both have their own integration pages in Lindy's documentation, with connection steps, triggers and actions listed for each. HubSpot is also named in their quickstart as one of the tools you can connect during ordinary setup, alongside Notion and Linear. ### How often does Lindy check HubSpot for new records? The new or updated contact trigger polls on a configurable interval, and their documentation gives a default of 900 seconds, which is fifteen minutes. It also advises keeping that interval because of HubSpot's rate limits. Form submissions are handled differently and are described as activating instantly. ### How do you stop Lindy creating duplicate contacts? Run a lookup first. Their documentation's stated best practice is to use Search Contacts before Create Contact, so the flow checks for an existing record before making a new one. Create Contact is also described as having duplicate detection, but building the search step in is the more reliable habit. ### Can you limit which CRM fields Lindy can touch? On HubSpot, yes: their documentation describes selecting which objects and properties Lindy may access during authorization. On Salesforce it works differently. Their page states Lindy respects the connected user's permissions and field-level security, so you narrow the access by connecting a narrower Salesforce user. ### Can you require approval before Lindy writes to the CRM? Yes. Their integrations documentation describes guardrails with three settings: always allow, require approval, and do not offer. Note their stated limit that guardrails apply in shared Slack threads rather than in direct messages, the web app chat, iMessage or SMS, so pick the setting with that scope in mind. ### How many contacts can a Lindy search return? Their HubSpot documentation describes Search Contacts as supporting up to three conditions with multiple operators, and returning a maximum of a hundred records. That makes it a lookup for a specific person or a small set, rather than a way to pull a whole list out of the CRM. ## Sources - [Lindy documentation, ](https://docs.lindy.ai/skills/popular-integrations/hubspot)HubSpot integration - [Lindy documentation, ](https://docs.lindy.ai/skills/popular-integrations/salesforce)Salesforce integration - [Lindy documentation, ](https://docs.lindy.ai/integrations/overview)Integrations - [Lindy documentation, ](https://docs.lindy.ai/start-here/quickstart)Quickstart - [Lindy documentation, ](https://docs.lindy.ai/features/ad-hoc-tasks)Ad Hoc Tasks - [Lindy documentation, ](https://docs.lindy.ai/pricing)Pricing, read 17 August 2026 - [FlowHunt, ](https://www.flowhunt.io/blog/how-to-use-lindy-ai-beginner-guide/)How to Use Lindy AI, a beginner's guide **Tags:** lindy-ai, crm-automation, hubspot-integration, salesforce-integration, sales-automation