CRM
CRM Automation: Where to Start, and How to Connect Your Website, CRM and Email
Start where leads get lost: every website inquiry in the CRM once, with its source, an owner and a deadline. Then follow-ups, notifications and reporting. The data flow, reliable form integration, Swiss consent rules and a sample automation map.
Key takeaways
- Automate in this order: capture with source, deduplication, assignment, tasks with a response deadline, follow-ups, notifications, reporting.
- Send form submissions from your server with retries, an idempotency key and an alert on final failure; verify signatures on incoming webhooks.
- Keep separate flags for 'reply to my inquiry' and 'send me marketing'. For mass advertising by email, the UCA requires prior consent, a correct sender and a free opt-out.
- Build automations on picklist fields and decide which system holds the master record for contacts, deals and customers.
- A custom CRM pays off only when the process, the integrations or the license bill don't fit a standard CRM.
Start CRM automation where leads get lost: make sure every website inquiry lands in the CRM once, with its source, assigned to a named person with a deadline. Only then automate follow-ups, notifications and reporting, because each step depends on data from the one before. This guide is for SMEs whose website, CRM (HubSpot, Pipedrive, Salesforce, Zoho or similar) and email tool don’t yet work as one system. It covers the lead-to-deal data flow, what to automate first, how to connect forms reliably, the data model, Swiss consent rules, measurement and a sample automation map.
What does the lead-to-deal data flow look like?
A lead passes eight hand-offs: the visit with its source, the form submission, delivery to the CRM, matching against existing records, assignment to an owner, a first-contact task, follow-ups until the lead replies, and the deal outcome with a reason. Automation pays off most at the hand-offs where leads are lost today, usually delivery, assignment and follow-up.
- Visit. The landing page records the source: UTM parameters, referrer and the page itself.
- Submission. The form sends the inquiry, the source fields and any consent checkbox to your server.
- Delivery. The server stores the submission, then sends it to the CRM through its API.
- Matching. The CRM checks for an existing contact and company before creating new records.
- Assignment. A rule gives the lead an owner by language, region or product, with a fallback.
- First contact. The owner gets a task with a due time; the lead gets a confirmation.
- Follow-up. Reminders or emails continue until the lead replies or books a meeting.
- Outcome. The deal is won or lost with a reason, and the original source stays attached for reporting.
What should you automate first?
Automate in this order: capture with source, deduplication, assignment, tasks with a response deadline, follow-ups, notifications, then reporting. Capture and matching come first because everything later relies on them. A duplicate lead with no source and no owner can’t be followed up or reported on correctly, however good the email sequence is.
Capture every lead with its source
Add hidden fields to each form for utm_source, utm_medium and utm_campaign, the three parameters Google Analytics recommends always using on campaign links, plus the landing page and referrer. Capture them on the first page of the visit, so a visitor who reads three pages before submitting still carries the original source. Record which form was used and, as a separate field, whether marketing consent was given.
Deduplicate before you create
Match on the normalized email address (trimmed, lower-case) and on the company’s web domain, but never treat free-mail domains such as gmail.com as a company. Send ambiguous matches to a review queue instead of merging them automatically. In the outreach platforms we built for a SaaS client, deduplication runs on the normalized domain with a recontact window, so the same company isn’t contacted twice within a set period.
Assign an owner, with a fallback
Route leads by rules you can explain: language, region, product line or deal size, with round-robin inside a team. Every rule needs a fallback owner, and a lead that stays unassigned for more than an hour should notify someone.
Create a task with a response deadline
The owner gets a first-contact task with a due time, for example within one business day, and the task escalates to the team lead when it’s overdue. Response time is one of the few sales numbers you control completely, and it becomes visible only once it’s measured this way.
Follow up, and stop on reply
Run a short sequence of two or three reminders or emails, each stopping as soon as the lead replies, books a meeting or opts out. Stopping matters as much as sending. The outreach platforms mentioned above stop a sequence on any reply and process opt-out replies automatically.
Notify people and report on speed
Send the owner a notification with the lead’s name, company, source and inquiry text, in the tool they already use: email, Microsoft Teams or Slack. Give managers a daily digest instead of copying everyone on every lead. Once the data arrives clean, reporting is mostly configuration.
How do you connect website forms to the CRM reliably?
Send submissions from your server, not only from the visitor’s browser, and design for failure: store each submission before sending it, retry with increasing delays, use the submission ID as an idempotency key so a retry never creates a duplicate, and alert someone when delivery finally fails. For webhooks coming into your systems, verify the signature and reject old timestamps.
| Option | Good for | Limits |
|---|---|---|
| The CRM’s own embedded form | One form, one CRM, a quick start | Design and multilingual limits; source tracking depends on the CRM’s script |
| Form tool plus an integration platform (Zapier, Make, n8n) | Several tools, moderate volumes, no developers | Usage-based pricing, limited error handling, logic spread across another account |
| Direct API integration from your website backend | Custom or multilingual forms, strict data rules, important leads | Needs development and monitoring |
| Webhooks between systems | Real-time updates, for example deal won to accounting | The receiver must verify signatures and handle duplicate and out-of-order events |
Stripe’s webhook documentation is a useful reference for the receiving side even if you never use Stripe. Events can arrive more than once and out of order, so track event IDs. The endpoint should verify an HMAC signature and a timestamp to block replayed requests, return a 2xx response quickly and do the work asynchronously. Stripe retries failed deliveries for up to three days in live mode. The open Standard Webhooks specification describes the same pattern for any provider: a message ID for idempotency, a timestamp and a signature.
We build the same safeguards into client systems. The outreach platform we built for a SaaS client runs idempotent daily jobs, with unique keys on source, domain, queue item and sent message, and an atomic claim that prevents a message from being sent twice.
Which data model do you need before automating?
Four objects carry most CRM automation: contacts, companies, deals and activities. Give each one the fields your automations will read, as picklists rather than free text: source and campaign, owner, stage, language, consent status and lost reason. Automations built on free-text fields break the first time someone types a value differently.
| Object | Fields automations depend on | Used for |
|---|---|---|
| Contact | Normalized email, language, consent status with date and form, owner | Matching, routing, lawful follow-up |
| Company | Web domain, country, segment | Deduplication, assignment, reporting |
| Deal | Stage, source and campaign copied from the first contact, value, expected close date, lost reason | Pipeline reporting and attribution |
| Activity | Type, due time, completion time, outcome | Response time and follow-up tracking |
Decide which system holds the master record for each object. Typically the CRM owns contacts and deals, and the accounting system, such as bexio or Abacus, owns customers and invoices once a deal is won. bexio, for example, exposes contacts and sales documents through its REST API, so a won deal can create the customer there instead of someone retyping it.
What consent rules apply to automated emails in Switzerland?
Under the Unfair Competition Act, mass advertising by email requires prior consent, a correct sender and an easy, free way to refuse further messages (Art. 3 para. 1 let. o UCA). Existing customers may receive advertising for your own similar products if they were offered an opt-out when their details were collected. Answering an inquiry someone sent you is a different case from adding them to a newsletter.
- Two flags, not one. The UCA rule targets mass advertising with no direct connection to content the person requested. Store “contact me about this inquiry” and “send me news and offers” as separate fields.
- Inform at collection. The FADP requires you to tell people, when you collect their data, who you are, why you process it and to whom you disclose it, including the countries if it goes abroad (Art. 19 FADP). Your CRM and email provider are among those recipients.
- Keep evidence. Store the date, the form, the wording shown and how consent was confirmed. A double opt-in email is the common way to show that an address belongs to the person who subscribed.
- One suppression list. An opt-out recorded in one tool must reach all of them. The outreach platforms we built share a global suppression list, so an opt-out, refusal or bounce recorded by one instance is honored by all, and every email template must carry a postal address and an opt-out line, checked when the template is saved.
If your contacts are in the EU, the GDPR and national e-privacy rules apply as well.
How do you measure whether CRM automation works?
Measure a baseline for two to four weeks before switching anything on, then compare the same numbers afterwards: the share of leads with a known source, the duplicate rate, leads without an owner, median time to first contact, stage conversion by source and the share of lost deals with a reason. If the first three don’t improve, fix capture before tuning emails.
What does a sample automation map look like?
The map below is a starting point for a B2B company with a website, a CRM and an email tool. Each row has a trigger, an action, the systems involved and what happens when something fails. Writing the failure column first is a good test: an automation without one tends to fail silently.
| Trigger | Action | Systems | If it fails |
|---|---|---|---|
| Website form submitted | Validate, store, send to CRM with source fields and consent flags | Website backend to CRM API | Retry with back-off; submission ID as idempotency key; alert after the last retry |
| Contact arrives in CRM | Match on email and company domain; merge or create | CRM | Ambiguous match goes to a review queue |
| New lead | Assign owner by language and product | CRM assignment rules | No rule matches: fallback owner; unassigned after one hour: notify the sales lead |
| Lead assigned | First-contact task due within one business day; confirmation email to the lead | CRM, email service | Overdue task escalates; a bounce flags the contact |
| No reply after three business days | Reminder to the owner, then a follow-up email | CRM sequence | Stops on reply, booked meeting or opt-out |
| Deal won | Create the customer and a draft invoice | CRM to accounting API (for example bexio) | Retry; daily mismatch report |
| Deal lost | Require a lost reason; newsletter only with marketing consent | CRM | Missing reason blocks the stage change |
| Every Monday | Report leads by source, response time and conversion | CRM dashboard or BI tool | An empty report triggers a check of the form integration |
When does a custom CRM make sense?
A custom CRM makes sense when your sales process doesn’t fit a pipeline of deals, when the CRM has to live inside your own customer portal or product, when it must combine ERP, production or logistics data in real time, or when per-user licenses at your size cost more than building and running your own. Otherwise, configure a standard CRM and invest in the integrations.
The trade-offs, including a five-year cost example, are in custom software vs off-the-shelf. For systems built around your own process, see CRM and ERP development.
Where to start with Sensaria
A typical first phase covers the first three rows of the map: capture with source, matching and assignment, delivered through a server-side integration with retries and monitoring. Follow-ups, consent handling and reporting then sit on clean data. After a short look at your website, CRM and email setup, we propose that first phase at a fixed price or in stages.
See CRM and sales automation, API integrations and the lead generation solution for how the pieces fit, or describe your current setup.
Sources
- Federal Act on Unfair Competition (UCA), SR 241, Fedlex
- Federal Act on Data Protection (FADP), SR 235.1, Fedlex
- URL builders: collect campaign data with custom URLs, Google Analytics Help
- Receive Stripe events in your webhook endpoint, Stripe documentation
- Idempotent requests, Stripe API reference
- Standard Webhooks specification
- bexio API documentation