Skip to content

How It Works

What This Does

Email Integration converts incoming emails into Lime CRM objects. For simplicity, this guide uses Tickets as the parent object, but Email Integration can create any object type. When a customer emails your support address:

  1. Automatically creates a ticket (or your chosen parent object)
  2. Creates a conversation holding all emails in that thread
  3. Tracks all participants as followers
  4. Keeps everything in sync - emails from your CRM appear in customers' inboxes, and vice versa

The Basic Flow: What Happens When You Receive an Email

graph LR
    A["Customer emails<br/>support@company.com"] --> B["Email Integration<br/>detects it"]
    B --> C["Creates ticket<br/>+ conversation"]
    C --> D["Sarah from support<br/>sees it in Lime CRM"]
    D --> E["Sarah replies<br/>in Lime CRM"]
    E --> F["Customer receives reply<br/>in their email client"]

Email Integration detects incoming emails, creates a ticket and conversation, adds all participants as followers, and lets your support team reply from the CRM—which automatically sends emails back to customers.

How It Works as an Email Hub

Email Integration works slightly differently from how you normally work with emails. Instead of everyone emailing each other

  1. You send individual emails to all Followers (recipients)
  2. They only reply to you (CRM)
  3. CRM automatically notifies other Followers about the update

Example: John (customer) emails support@company.com and CC's his manager Lisa.

  • CRM creates followers for both John and Lisa
  • Individual auto-reply sent to John, separate auto-reply to Lisa
  • When support replies, individual emails go to both
  • Lisa replies to support@company.com (the only address she sees)
  • John gets notified about Lisa's reply

Why this works so well for your customers:

  • No CC/BCC confusion - John and Lisa each get their own email, no "reply-all" disasters
  • Improved readability - The entire conversation is stitched together, making it easy to follow the full history even if the conversation becomes long.
  • Easy to read-up - If someone joins the Email conversation later, it is much easier to read-up on what has happened.

Why this works so well for you in the CRM:

  • Single source of truth - All communication tied to one ticket, ensuring full context and history are preserved
  • Dynamic team management - Followers are managed by the system, not by CC/BCC. Only you can remove followers, so no one will accidently get out of the loop just because someone did not Reply all
  • Consistency & control - Replies use system templates, so branding is consistent and more proffesional; you're not relying on personal signatures
  • Avoiding email "monsters" - This behavior keeps email conversations readable and overviewable even if they become really, really long

The key insight: Instead of Replying to all on one email thread (traditional email chaos), Lime CRM sends individual emails to each follower. This means replies always go to the central address and never fragment into separate conversations.

Templates: Stitching Conversations Together in Email

The template is where the "email hub" concept becomes visible to your customers. Every email Email Integration sends is composed from your template, which stitches together:

  • Your reply (the new message from your team)
  • Full conversation history (all previous messages in the thread)
  • Your branding (company colors, logos, contact info)

This means customers see the complete conversation in their email client, not just a single reply.

Example: What Your Customer Sees

Whenever Email Integration sends an email—whether it's a team member's reply or a notification about another follower's update—it combines:

  1. The formatted message (new reply or update)
  2. All previous messages in the conversation (the customer's original email + any prior exchanges)
  3. Your company branding and signature

The result is a professional, self-contained email that includes full context and is sent to all followers.

Example email in customer's inbox showing template with branding and conversation history

Your template stitches together the reply, full conversation history, and your branding into one cohesive email

Why Templates Matter

For your customers:

  • See the full conversation in each email (no need to dig through their mailbox)
  • Professional appearance with consistent branding
  • Easy to read and understand the context

For your team:

  • Consistent branding across all emails
  • Merge codes allow dynamic content: {{ticket.id}}, {{ticket.company.name}}, {{sender.name}}
  • Can include legal disclaimers, contact info, or emergency escalation numbers
  • Replies look professional without relying on personal signatures

For your business:

  • Every email is an extension of your brand
  • Can include links to knowledge base, feedback forms, etc.
  • Professional appearance builds customer trust

Merge Codes in Templates

Templates support dynamic content via merge codes. Common examples:

Hi {{recipient.name}},

Thank you for contacting {{company.name}}. Your ticket #{{ticket.id}} is being handled by {{sender.name}}.

We'll get back to you within 24 hours.

{{company.contact_info}}

See Configuration: Automatic Replies for the complete list of available merge codes.

How Conversations Are Identified

When Email Integration receives a new email, it needs to figure out: Is this a reply to an existing conversation, or a brand new thread?

You configure this during setup—choose one method:

Uses standard email headers that all modern email clients automatically add to replies.

Original email: Message-ID: <abc123@company.com>
Customer's reply: In-Reply-To: <abc123@company.com>
↓
Email Integration recognizes this automatically
  • ✅ Invisible to users (no special formatting)
  • ✅ Works with Outlook, Gmail, Apple Mail, etc.
  • ❌ Fails with very old email systems (rare)

Method 2: Plus Addressing

Adds a unique ID to the email address itself. When someone replies, the ID comes back in the address.

Email sent from: support+abc123@company.com
Customer replies to this address
↓
Email Integration extracts abc123 and knows it's a reply
  • ✅ Works reliably even with older systems
  • ⚠️ Recipients see the +ID in the address (may look unusual)
  • ⚠️ Risk of duplicate tickets (see recipients can create duplicates)

Method 3: Subject Line Identifier

Adds a tracking code to the subject line. Replies with that subject are matched.

Subject: Help with my order [ID-abc123]
Customer replies with same subject
↓
Email Integration extracts abc123 from subject
  • ✅ Works when headers are stripped or modified
  • ⚠️ Takes up space in subject, visible to recipient
  • ⚠️ If customer edits the subject, the link breaks
  • ⚠️ Risk of duplicate tickets (see recipients can create duplicates)

Recommendation: Start with Message-ID Threading. It's invisible and most reliable.

Advanced Workflows

When an Email Bounces (Delivery Failed)

When an email fails to deliver, the mail server sends back a "bounce" message. Email Integration detects this and creates an error record in the conversation.

Your email → Recipient mailbox is full
            ↓
Mail server sends bounce message to your inbox
            ↓
Email Integration detects bounce and creates error record
            ↓
Error appears in conversation feed

Four types of errors that the integration detects:

  1. Send Failed - Email blocked before leaving (missing address, formatting issue, etc.)
  2. Delivery Error - Email left CRM but couldn't reach your mail server (server down, bad config, etc.)
  3. Send Failed After Queueing - Email queued but then rejected (mail server rejected it, network error, etc.)
  4. Bounce - Email delivered but recipient rejected it later (invalid address, mailbox full, spam filtered, etc.)

You see these errors directly in the conversation feed with details about what went wrong. No manual monitoring needed.

error message

Example error message when email could not be delivered

See Configuration: Bounce Handling for setup details.

When Someone Sends an Automatic Reply (Out of Office, Bots, etc.)

Email Integration automatically detects and prevents email loops from out-of-office messages and other automatic replies.

Your email from Lime CRM → Recipient's out-of-office reply
                          ↓
Email Integration detects "this is automatic"
                          ↓
Check setting: "Import automatic emails even if conversation not found"?
                          ↓
If TRUE: Create new parent object (like a new ticket) + import the email
If FALSE: Discard the automatic email (no new ticket created)
                          ↓
Either way: Don't send email notification to followers
                          ↓
No email loop created

How detection works:

  • Looks for special headers (Auto-Submitted, X-Auto-Response-Suppress, Precedence)
  • Checks subject line for patterns ("Out of office", "Auto:", "OOO:", "OOF:")
  • Checks sender address for bot patterns (no-reply@, donotreply@, mailer-daemon@)

If detection fails: Some email systems send auto-replies without standard headers. In those cases, you can:

Features You Can Configure

Automatic Replies (Welcome Messages)

You can configure Email Integration to automatically send a reply when new conversations start. For example: "Thank you for emailing. We'll respond within 24 hours."

Key details:

  • Only sent for new conversations (not on every email)
  • Can include dynamic data via merge codes: {{helpdesk.helpdesknumber}}, {{helpdesk.company.name}}
  • Can skip old emails: "Don't send auto-reply if email is older than X hours" (useful during recovery/bulk import)
  • Entirely optional—can be disabled per account

Text Formatting

Text formatting from customer emails is preserved when displayed in Lime CRM and included in replies:

  • Text color and highlighting
  • Tables
  • Inline images

incoming email formatting

Text formatting in incoming emails is preserved

message in feed

Formatted message appears in the conversation feed

formatting in outgoing reply

Original message with formatting is included when you reply

Text Snippets

Pre-written text blocks you can insert while composing. Useful for common responses like "Can you provide your order number?" or "Here's how to reset your password..."

How to use:

  • Type ! in the email composer → select from list
  • Search by name or content
  • Snippets are sorted by pinned status

text snippet

Creating snippets:

  • Create from scratch via snippet menu
  • Create from existing conversation messages (useful for frequently-used replies)
  • Only messages you created can become snippets

With merge codes: Include dynamic data: {{helpdesk.helpdesknumber}}, {{helpdesk.company.name}}, etc.

alt text

Text snippets can be created straight from emails you have sent. Add dynamic content, for example {{helpdesk.person.name}}

Actions to Run When Sending Emails

Chain additional actions after sending an email. For example:

  • "Send reply + Mark ticket as resolved"
  • "Send reply + Create follow-up task"
  • "Send reply + Update status"

message actions

Message Actions make it easy to reduce clicks and create smooth workflows

How it works:

  1. Configure in the section Conversation parent limetype in Lime Admin
  2. Send button becomes a dropdown menu
  3. Select an action to send + execute it
  4. Action only runs if email sends successfully

message actions configuration

Configure Message Actions per conversation parent type in Lime Admin

See Configuration for setup examples.

Email Aliases

If your account has multiple email addresses pointing to the same mailbox:

Example: support@company.com and help@company.com both reach the same inbox

You must register all aliases in Lime Admin so Email Integration treats them as one account. Otherwise:

  • Email loops occur (thinking they're different accounts)
  • Customers see multiple follower entries

When configured correctly:

  • Replies are always sent from the main address
  • Alias followers are marked inactive (won't clutter the composer)
  • Treated as a single account throughout