How to connect your company’s tools with n8n
A lead comes in through the website form on a Friday afternoon, lands in the general inbox and someone copies it into the CRM by hand on Monday, if they remember. That kind of gap between two tools that don’t talk to each other is exactly what n8n closes, and you almost never need to write code to close it. What you do need is to know how each tool connects, because they don’t all offer the same thing, and to know who will look after the workflow when it stops working.
What n8n is and how much it costs
n8n is a workflow automation platform. On a canvas you place blocks, which n8n calls nodes, and join them with arrows: the first one is the trigger, the thing that sets the workflow in motion (a submitted form, a time of day, a payment received), and the following ones do something with that data. If someone fills in the website form, the next node can create their contact in the CRM and the one after that can send them an email. Every time the workflow runs from start to finish it counts as one execution, whether it has three steps or twenty.
There are two ways to use it, and the choice matters for an SME. The first is n8n Cloud, where n8n takes care of the server; at the time of writing the Starter plan costs €20 a month billed annually and includes 2,500 executions a month, and the Pro plan €50 a month with 10,000. The second is to install it on your own server with the Community edition, which is free and distributed under a fair-code license, the Sustainable Use License, which lets you use it at no cost for your company’s internal processes. n8n’s own documentation warns that self-hosting requires knowing how to set up and secure servers and recommends it for expert users, so the free option costs hours of someone technical. For an SME with no one to look after servers, we recommend starting with Cloud and only considering your own server once there is someone to maintain it.
Native node, API or webhook, depending on what each tool offers
Before drawing any workflow, it’s worth looking at each tool you want to connect and seeing which of these three cases it falls into, because that determines how much it costs to build and who can do it.
With a native node, you just pick the app
Gmail, Google Sheets, HubSpot, Pipedrive, Slack, Mailchimp, WooCommerce, QuickBooks and Odoo have their own node in n8n. You search for the app in the panel, choose the operation (create or update a contact, add a row, send a message) and authorize the account once, in what n8n calls a credential. From then on the fields appear in drop-down menus and you fill them in by dragging the data from the previous step with the mouse, without writing any code.
This is the easy case, and one that someone in the office with a bit of patience can set up on their own. The limit is that the node only does what its authors anticipated: if you need an operation that isn’t on the list, you have to move on to the next method.
Tools without their own node: HTTP Request and their API
Many tools used by Spanish SMEs don’t have a node in n8n. Holded, for example, doesn’t appear in its integrations catalog, but it has a public API on its paid plans, which is a door through which other programs can read and write data in your account. The HTTP Request node is how you knock on that door from n8n.
In practice it works like this. You open the tool’s API documentation, look for the operation you want (list invoices, create a customer) and, if it comes with an example in cURL format, you copy it and paste it using the node’s Import cURL option, which fills in the address, the method and the headers. Then you create the credential with the key the tool itself generates in its developer panel; n8n supports header authentication, basic auth, OAuth2 and several more.
At this point the work calls for someone who understands what a request is, what it returns and how to read an error. It’s still not programming, but picking from a drop-down is no longer enough. For an SME, this is usually where an afternoon of trial and error turns into a conversation with someone who has done it before.
Webhooks so the tool notifies n8n
There are two ways to find out that something has happened. One is to ask at regular intervals: every five minutes n8n checks whether there are new rows in the sheet or new orders in the store, and some n8n triggers work that way. The other is for the tool to notify you the moment it happens, by sending the data to an address you give it. That address is a webhook, and in n8n you create it with the Webhook node.
The node gives you two addresses: a test one, which only listens while you have the editor open and press the listen button, and a production one, which only works when the workflow is published. This causes a lot of confusion at first: the form works during testing and then nothing arrives in real use because the test address was pasted in or the workflow wasn’t published. With version 2.0, n8n replaced the old activate/deactivate toggle with a publish button, and older tutorials still talk about activating the workflow.
Step by step: from the website form to the CRM and email
A workflow almost any service business needs. Someone fills in the contact form on the website, the contact is created in the CRM and the customer gets a confirmation email, while the salesperson gets a notification. We use HubSpot and Gmail because both have a native node; with Pipedrive or Outlook the workflow is the same.
- Create the trigger. Add a Webhook node and copy its test address. In your website form, set submissions to go to that address; Typeform, for example, has its own trigger in n8n; in other form tools, look in the settings for an option to send to a webhook or a URL. If your form doesn’t allow it, n8n has its own form node you can link to from your website.
- Send a test submission. Fill in the form yourself with made-up data. In n8n you’ll see the fields arrive exactly as the website sends them: name, email, phone, message.
- Clean up the data. Use an If node to discard submissions without an email address or with an empty message, which are usually spam. If the form is sometimes submitted twice, the Remove Duplicates node helps avoid creating the same contact twice.
- Create or update the contact. Add the HubSpot node with the create or update contact operation and drag each form field to its CRM field. That way, if the same person writes in twice, they aren’t duplicated.
- Send the confirmation email. A Gmail node with the send message operation, with the contact’s name in the greeting.
- Notify the salesperson. Another email, or a Slack message if the team uses it, with a summary of the lead and a link to their record.
- Test it end to end and publish it. In the form, replace the test address with the production one and publish the workflow.
The step people forget most is the last one. From then on, executions no longer show up on the canvas; you check them in the workflow’s executions tab, and it’s worth looking at it during the first few days to make sure everything comes in as you expected.
Building something like this, with the accounts already set up and someone who knows the tool, takes a few hours, and most of that goes into deciding which form field maps to which CRM field and testing edge cases.
Which sales and admin processes to automate with n8n
Sales: lead routing and follow-up reminders
The workflow from the previous section is the foundation, and two pieces are added on top of it. The first is assignment. With a Switch node you can route leads based on a form field, such as the province or the service requested, and assign each contact to the right salesperson in the CRM itself.
The second is the reminder. The HubSpot node lets you create a task-type engagement associated with the contact, due in two or three days, so the follow-up appears in the salesperson’s calendar without anyone having to note it down. Another option is a separate workflow with the Schedule Trigger, which runs every morning, searches the CRM for deals with no recent activity and emails the owner a list. The first option is simpler; the second also catches leads that someone forgot to close. We would start with the task in HubSpot, which doesn’t require a separate workflow, and add the daily review once the team trusts the first one.
Admin: payment reminders and accounting
In admin, the trigger is usually a schedule, not an event. A Schedule Trigger that runs every Monday, an HTTP Request node that asks Holded for unpaid invoices, an If node that keeps the overdue ones and a Gmail node that sends each customer a reminder with the invoice number and amount.

Syncing with accounting goes the other way. If you take payments with Stripe, its n8n trigger receives a notification for each payment, and from there you can create the invoice or mark it as paid in your invoicing tool, or log the transaction in a Google Sheets spreadsheet that your accountant reviews. QuickBooks and Xero have native nodes; with other invoicing tools you go back to HTTP Request.
Here it pays to go more slowly than with sales. A duplicate contact in the CRM is a nuisance; a duplicate invoice or a payment reminder sent to someone who has already paid is a problem with a customer. What we recommend is to leave the workflow sending the reminders to someone in the company instead of the customer for a few weeks, and switch it to live once you’ve seen it gets things right.
Who fixes the workflow when an API changes or a credential expires
Automations break without warning, and often the change comes from outside n8n. A tool changes the way it authenticates, someone changes the password of the Google account used to authorize Gmail, an API releases a new version. HubSpot is a good recent example: first it retired its classic API keys and then moved the private apps created from its dashboard to legacy status, and n8n’s documentation now recommends a different type of credential. Holded, for its part, already runs a second version of its API.

What makes it dangerous is that the failure is silent. The form keeps working on the website, the customer sees the confirmation message and the lead goes nowhere. To find out in time, n8n lets you create an error workflow with the Error Trigger node and assign it to each automation from its settings, under Error workflow, so that when a workflow fails an email or message is sent to someone. Be careful, though: that error workflow doesn’t fire on manual executions, only on automatic ones, so you have to test it with the workflow published.
For temporary failures, such as an API that is slow or rejects a one-off request, each node has a Retry On Fail option in its settings, which repeats the step before marking it as failed. It doesn’t help with an expired credential, because retrying fixes nothing there.
And then there’s the question that matters most to an SME without technical staff: who keeps an eye on all this. Someone has to receive the error alerts, know how to open the workflow and understand what has changed. Bear in mind that on the n8n Cloud Starter plan execution history is kept for seven days: if nobody checks it within that window, the trace of the failure disappears. Before building your first automation, it’s worth deciding who that person will be (someone in-house with time set aside for it or an external provider who maintains it) and writing down somewhere which accounts and credentials each workflow uses.
If you want to know which of your company’s processes can be connected with n8n and who should maintain them, get in touch and we’ll go through it with your specific tools.