Skip to content
All articles
Setup

Integrations: receive emails in the CRM

Turn inbound emails into activities on the corresponding contact or lead.

In Settings → Integrations you connect external services to the CRM. The first available integration is Inbound email: each message received becomes an activity logged on the contact or lead whose email matches the sender.

Each integration starts inert: nothing happens until you generate the URL and activate. The credentials you provide are stored encrypted and are never displayed back.

Prerequisites

  • An account with an inbound email provider with an inbound/parse feature: SendGrid (Inbound Parse), Mailgun (Routes), Postmark (inbound) or Resend.
  • A domain/email address you control, with the MX record pointed to the provider (done at your DNS/email provider).
  • In Sellio, administrator access to generate the receiving URL and activate the integration in Settings → Integrations.

Step by step at the provider

  1. SendGrid: Settings → Inbound Parse → Add Host & URL. Point your domain's hostname and paste the CRM receiving URL as the Destination URL.
  2. Mailgun: Receiving → Routes → Create Route. Define the match (e.g., catch_all or match_recipient) and the "forward" action to the CRM URL.
  3. Postmark: Servers → your server → Inbound → Inbound Webhook. Paste the CRM URL and make sure the InboundHash/inbound address is configured.
  4. Resend: configure the inbound webhook/route pointing to the CRM URL.

How to activate inbound email

  1. Open Settings → Integrations.
  2. On the "Inbound email" card, click "Generate receiving URL".
  3. Copy the webhook URL (it is unique and secret, so treat it as a password).
  4. In your email provider, point the inbound/parse feature to that URL, for example SendGrid Inbound Parse, Mailgun Routes, Postmark or Resend.
  5. Return to the CRM and click "Activate".

From then on, when an email arrives at the address you configured at the provider, it is sent to that URL and the CRM logs an "Email" activity with the message subject and body.

How the email is linked

  • The CRM looks for a Contact or Lead whose Email field equals the sender.
  • If it finds one, the activity is linked to that record and appears on its timeline.
  • If it finds no record, the activity is created anyway, without a link, so no message is lost and you can triage it later.
💡 Need to invalidate the URL (for example, if it leaked)? Use "Generate new token". The old URL stops working immediately and you point the provider to the new one.

The accepted format is a neutral JSON with the fields { from, to, subject, text, html }, compatible with the main inbound providers. Billing, e-signature and calendar integrations appear as "Coming soon" on the same screen.

How to test

  1. With the integration activated, send a real email to the address you configured at the provider (preferably from the email of a Contact/Lead that already exists in the CRM).
  2. Open the corresponding Contact/Lead and check the timeline: an "Email" activity with the subject and body should appear.
  3. If the sender does not exist in the CRM, look for the unlinked activity. It is created anyway, for you to triage.

Troubleshooting

  • The email does not arrive: confirm at the provider that inbound/parse points to the correct URL and that the domain's MX is pointed to the provider. Test the send in the provider's dashboard (many have a "test webhook").
  • 404 on the URL: the URL token changed (you clicked "Generate new token"). Update the Destination URL at the provider with the new URL.
  • Arrives but does not become an activity: check that the provider's payload carries the fields { from, to, subject, text, html }. Some providers require choosing the JSON format (not multipart).
  • Does not link to the contact: the link matches the sender by the Email field of a Contact/Lead. Add the email to the record to link the next ones.
  • Stopped working: confirm the integration is still "Activated" on the card.

The simple path: forward to an address we host

If you use neither Google Workspace nor Microsoft 365 and do not want to sign up for an inbound provider, there is a shorter path: in Settings · Integrations, the Inbound email card shows a ready-made address. In your email provider (cPanel, Titan, Zoho, your own server, any of them), create a rule that forwards a copy of your messages to it.

  • We never ask for your mailbox password: you set the forwarding up on your side, and you can undo it at any time.
  • Each forwarded message becomes an activity on the contact or lead whose email matches the sender, exactly as in the webhook path.
  • The same message forwarded twice comes in once: identification uses the original Message-Id.
  • The address is unique to your organization. If it leaks, generate a new one with Rotate token and update the forwarding rule.
💡 This path brings what arrives from now on; it does not bring history or your sent folder. For both, use Google Workspace or Microsoft 365, which connect the whole account.

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

Create free account
Integrations: receive emails in the CRM · Sellio