Skip to content

Configuration

Configuration Overview

Email Integration requires setup across multiple layers:

  1. IT Setup (by your IT department or system administrator)

    • Create OAuth2 application or IMAP connection with mail server
    • Configure webhooks and server infrastructure
    • Provide credentials to your Lime CRM implementation team
  2. Implementation Setup (by Lime CRM Expert Services)

    • Configure Email Integration in Lime Admin
    • Set up email accounts, conversation parents, and templates
    • Add filters, message actions, and text snippets

This guide separates these concerns by provider. Choose your provider below and follow the complete path.

IT Setup: Provider-Specific Paths (Your IT department)

Choose your email provider and authentication method and follow the complete setup for your scenario.

Best for: Microsoft 365 customers with Exchange Online

Choose your connection method:

  • Microsoft Graph API (recommended): Modern cloud API with real-time webhooks for instant email notifications. Best for most customers.
  • OAuth + IMAP/SMTP (legacy): IMAP/SMTP protocols with OAuth authentication. Use if you have specific system requirements or legacy needs.

Setup path:

  1. Create OAuth application in Microsoft Entra
  2. Configure API permissions (see below for your connection method)
  3. Generate client secret
  4. Set up shared mailbox access (if needed)
  5. Share credentials with implementation team

Microsoft Entra Application Setup

These steps are specific for the Email Integration. If you need more information on the different options in Entra, check out Microsoft's guide.

New Application

Navigate to and log in to Microsoft Entra admin center. You need to create an application that will manage the credentials, so open the "App registrations" page and hit the "New registration" button.

App registration

Fill out the form with the following information:

  • Call the application Lime CRM Email Integration.
  • For Supported Accounts Types, it depends on whether users are managed from one (single tenant) or several directories (multi tenant). Usually we use the Single tenant option.
  • For the Redirect URI choose Web as platform. The URI should be: <public_base_url>/<app_identifier>/limepkg-email/oauth/callback

    Example: If your public base URL is https://my-app.my-company.com and your application identifier is my-app, the redirect URI would be: https://my-app.my-company.com/my-app/limepkg-email/oauth/callback

    On-Premise Version 2025.2 or Older

    For on-premise installations running version 2025.2 or older, use the old redirect URI format: https://localhost/email/oauth

    Application form

API Permissions

The email integration uses Microsoft's Delegated Permission model to request access to a mailbox based on a user consenting to the permission scopes detailed below. When setting up an email account in Lime Admin, you'll authenticate with a user account that:

  • Is a member of your organization's domain
  • Has access to the shared mailbox (or is the personal mailbox owner)

This user will consent to grant the email integration access to their mailbox. See FAQ & Troubleshooting for more information.

Click on the "Manage -> API permissions" menu link. Here you can set up the permissions the application requires. Click on the "Add a permission" button and add permissions based on your connection method (all found under Microsoft APIs -> Microsoft Graph -> Delegated permissions):

For Microsoft Graph API (recommended):

  • User.Read (added by default)
    • Required by the OAuth authentication flow to get user information.
  • User.ReadBasic.All
    • Required to look up other users and shared mailboxes.
  • Mail.ReadWrite
    • Read and write access to the signed-in user's mailbox.
  • Mail.ReadWrite.Shared
    • Access to read and write shared or delegated mailboxes.
  • Mail.Send
    • Send mail from the signed-in user's mailbox.
  • Mail.Send.Shared
    • Send mail on behalf of other users (e.g., from shared mailboxes).
  • offline_access
    • Maintain access to the delegated mailbox independently of the login status of the authenticated user.

For OAuth + IMAP/SMTP (legacy):

  • User.Read (added by default)
    • Required by the OAuth authentication flow to get user information.
  • Imap.AccessAsUser.All
    • Allow the email-integration to access the delegated mailbox via IMAP.
  • SMTP.Send
    • Allow sending email from the delegated mailbox with OAuth authentication.
  • offline_access
    • Maintain access to the delegated mailbox independently of the login status of the authenticated user.
Client Secret

Click on the "Certificates & secrets" menu link and afterward the "New client secret" button.

Certificates and Secrets

Set a name for the new secret and choose an expiration time, we recommend 6 months. Once the credentials are created, you should see the actual secret value.

Warning

Make sure to copy this value (the one in the "Value" box) and store it safely, as it's not shown anymore once you close this page.

Warning

There is no built-in feature to remind you of the expiration date. Make sure to set a reminder in your calendar to renew the secret before it expires. More details can be found below.

Continue the configuration in Lime Admin, step 1. In that step you'll be asked for this secret as well as the Application (client) ID and the Directory (tenant) ID (both shown below). By you doing this step instead of a Lime CRM Expert Services consultant, you avoid sending them any credentials.

Entra application details

Microsoft Entra Shared Mailbox Setup

Recommended: Using a shared mailbox is the recommended approach for Email Integration.

Create or identify your shared mailbox

If you don't already have a shared mailbox set up:

  1. Go to Microsoft 365 admin center
  2. Click "Add a shared mailbox"
  3. Enter a name and email address for the mailbox
  4. Save the changes

If you already have a shared mailbox, proceed to the next step.

Shared mailbox

Assign members to the shared mailbox

These are members that will administrate or troubleshoot the integration. This is not the same group who will be reading and sending emails in Lime CRM.

  1. In the Microsoft 365 admin center, open the shared mailbox details
  2. Click "Edit" under "Members"
  3. Add the users who will administrate the email integration
  4. Ideally, create a separate dedicated user in your Microsoft Entra application for this purpose (see "Configure dedicated user" below)

Warning

Only grant access to users with necessary expertise. Email Integration automatically marks emails as read and moves them to different folders on failure. If users manually move emails between folders, Email Integration won't be able to process them.

Enable IMAP for the shared mailbox (only for OAuth + IMAP/SMTP authentication)
  1. In the Microsoft 365 admin center, open the shared mailbox details
  2. Click "Edit" under "Email apps"
  3. Enable "IMAP"
  4. Save changes

Email App Settings IMAP Settings

Configure dedicated user (for authentication)

Why you need this: When you add an email account in Lime Admin and click "Authenticate", Email Integration logs in with a user account to get access to the shared mailbox. This dedicated user account is what Email Integration uses for this login.

Which setups need this:

  • Exchange Online + Microsoft Graph API: Yes, required. The user authenticates and grants access to the shared mailbox via the OAuth flow.
  • Exchange Online + IMAP/SMTP: Yes, required. The user's credentials are used for IMAP/SMTP authentication.
  • Using personal mailbox: No, you can skip this and use your own account.

License requirements for the dedicated user:

  • For Microsoft Graph API: Exchange Online (Plan 1) license or higher1
  • For IMAP/SMTP: Exchange Online (Plan 1) license or higher (enables IMAP and Authenticated SMTP)2

About shared mailbox licensing

Shared mailboxes themselves don't require a license up to 50GB storage. However, the dedicated user account you create for authentication does require a valid Exchange Online license to access the shared mailbox and use IMAP/SMTP or Microsoft Graph API. See Microsoft's shared mailbox documentation for details.

Configuration steps:

  1. Go to Microsoft 365 admin center → Users → Active users
  2. Find or create a user account to use for Email Integration
  3. Assign the appropriate license (see requirements above)

The following email app settings are only required if using OAuth + IMAP/SMTP authentication. If using Microsoft Graph API, skip.

  1. Click the user to open their details
  2. Go to the "Mail" tab → Click "Manage email apps"
  3. Enable both:
    • "Authenticated SMTP" (needed for sending emails)
    • "IMAP" (needed for reading emails)
  4. Save changes

User Settings SMTP Settings

Required Permissions for Shared Mailbox Access

Critical: The dedicated user MUST have the following permissions on the shared mailbox

Without these permissions, the email integration will not function properly.

The dedicated user needs both of the following permissions on the shared mailbox:

  1. Full Access - Allows the user to read and manage emails in the shared mailbox
  2. Send As - Allows the user to send emails from the shared mailbox address

Configure these permissions in the Exchange Admin Center:

  1. Navigate to RecipientsMailboxes
  2. Select the Shared Mailbox
  3. Click on the Delegation tab
  4. Under Full Access, click "Edit" and add the dedicated user
  5. Under Send As, click "Edit" and add the dedicated user

Shared Mailbox Delegation

Info

It may take a few minutes for the permission changes to propagate through Microsoft's systems.

Important:

This user account is what you'll use when Lime Admin asks you to authenticate in Step 2. Make sure this user has:

  • Full Access and Send As permissions on the shared mailbox (see above)
  • Proper license assigned
  • IMAP and Authenticated SMTP enabled in their email settings
Using a personal mailbox instead

If you prefer not to use a shared mailbox (not recommended), you can authenticate with your own personal mailbox. In this case, skip the shared mailbox steps above and use your personal email address during account setup in Lime Admin.

Secret Rotation

When your client secret is about to expire:

  1. Go back to "Certificates & secrets" in your Entra application
  2. Create a new secret
  3. Update the new secret in Lime Admin
  4. Delete the old secret

Warning

Email Integration will stop working when the secret expires. Set a calendar reminder 2 weeks before expiration.

Note

For Exchange On-Premise servers, use the Basic Auth + IMAP/SMTP (Other Providers) path instead, as they require basic authentication.

Best for: Google Workspace customers using OAuth2 authentication

Setup path:

  1. Create OAuth2 application in Google Cloud
  2. Configure OAuth2 credentials
  3. Generate app-specific scopes for IMAP/SMTP access
  4. Share credentials with implementation team
Google Cloud OAuth2 Application Setup

These steps are specific for the email integration. If you need more information on the different options, check out this guide.

New Project

Go to Google Cloud Console and click "Select a Project" in the top menu. Depending on if you have already created a project or not, the text might be different but the drop-down menu should be there. Click "New Project" and fill out the form:

  • Project name: Lime CRM Email Integration
  • Location: click Browse to display potential locations for your project. If you haven't created any parent organisation or folder, you can keep the default value "No organisation".

Application form

Click "Create" to finalize this step.

Go to Google Cloud Console and navigate to the project you created. Set up the OAuth2 consent screen:

  1. Go to "APIs and services" -> "OAuth2 consent screen"
  2. Choose "External" as User Type
  3. Fill out the required information:
    • App name: Lime CRM Email Integration
    • User support email: your support email
    • Developer contact: your contact info
  4. Add test users (the Google accounts that will use the email integration)
Credentials
  1. Go to "APIs and services" -> "Credentials"
  2. Click "Create Credentials" -> "OAuth2 client ID"
  3. Choose "Web application"
  4. Add <public_base_url> as "URI", and <public_base_url>/<app_identifier>/limepkg-email/oauth/callback as "Authorized redirect URIs"

    Example: If your public base URL is https://my-app.my-company.com and your application identifier is my-app, the Authorized redirect URI would be: https://my-app.my-company.com/my-app/limepkg-email/oauth/callback

    On-Premise Version 2025.2 or Older

    For on-premise installations running version 2025.2 or older, use the old redirect URI format:

    • URI: https://localhost
    • Authorized redirect URIs: https://localhost/email/oauth
  5. Click "Create"

  6. Copy the Client ID and Client Secret

Client secret

Share these credentials with your implementation team.

Best for: Exchange on-premise, and other email services without OAuth2 support

Setup path:

  1. Gather IMAP/SMTP server details and port numbers
  2. Get email account credentials (username/password)
  3. Verify TLS support on mail server
  4. Share credentials with implementation team

Supported providers:

  • Exchange on-premise (requires basic auth + IMAP/SMTP)
  • Office 365 (basic auth fallback if OAuth2 not available)
  • Any IMAP/SMTP-compatible mail server

Note

This is the fallback method when OAuth2 is not available. For Gmail, use the Gmail + OAuth2 + IMAP/SMTP path above, which is more secure and recommended.

Exchange On-Premise + Basic Auth + IMAP/SMTP

Get Server Details

Contact your IT department or Exchange administrator for:

  • IMAP server hostname
  • IMAP port (typically 993 for implicit TLS or 143 for STARTTLS)
  • SMTP server hostname
  • SMTP port (typically 465 for implicit TLS or 587 for STARTTLS)
  • Email account username
  • Email account password
  • TLS method (STARTTLS or Implicit TLS)

Share these details with your implementation team.

Other Providers + Basic Auth + IMAP/SMTP

Get Server Details

For other mail services (custom servers, or any provider without OAuth2 support):

  1. Contact your email provider or administrator for IMAP/SMTP server details
  2. Gather credentials (typically username/password)
  3. Verify IMAP and SMTP are enabled on your account
  4. Share the following with your implementation team:
    • IMAP server address and port
    • SMTP server address and port
    • TLS method (STARTTLS or Implicit TLS)
    • Email account username
    • Email account password

Infrastructure Setup (Lime Expert Services)

Application Configuration

  1. Add following to the Configuration box for your application in Cloud Admin:

    {
        "limepkg_email": {
            "webhook_base_url": "<public-base-url-with-app-name>" // For example: https://addons.lime-crm.com/addons/
        }
    }
    
  1. Open your %ProgramData%\Lundalogik\LIME Pro Server\application_config.yaml file
  2. Add or update the following configuration:

    <application-display-name>:
      config:
        limepkg_email:
          webhook_base_url: "<local-base-url-with-app-name>" # For example: http://localhost:5442/addons/
    
  3. Save and restart the web server and the task handler

Server Configuration

No action is required.

EmailEngine Access Token

You need to generate an access token in EmailEngine for Email Integration to authenticate:

  1. Open the EmailEngine admin interface at http://127.0.0.1:3018/admin/
  2. Go to "Access Tokens" and create a new access token with only "API" scope and copy it.
  3. Open the server config for the web server (%ProgramData%\Lundalogik\LIME Pro Server\Web Server\configs\config.yaml) and for the task handler (%ProgramData%\Lundalogik\LIME Pro Server\Task Handler\configs\config.yaml), and add the following in both files:

    plugins:
      limepkg_email:
        email_engine:
          base_url: "http://127.0.0.1:3018"
          admin_token: "<token-generated-in-step-2>"
    
  4. Restart the web server and the task handler.

EmailEngine Configuration

No action is required.

License

You need a valid license for EmailEngine. Follow the internal instructions to obtain a license key.

To register the license, go to http://127.0.0.1:3018/admin/config/license.

Webhook Notifications (Exchange Online + Microsoft Graph Only)

If you're using Exchange Online with Microsoft Graph API, you need to configure webhook notifications so EmailEngine receives real-time updates about new emails.

Microsoft Graph sends change notifications to these endpoints on EmailEngine:

  • http://localhost:3018/oauth/msg/lifecycle
  • http://localhost:3018/oauth/msg/notification

Configure public webhook endpoint:

  1. Access the EmailEngine Swagger API: http://127.0.0.1:3018/admin/swagger
  2. Use the POST /v1/settings endpoint
  3. Set notificationBaseUrl to: https://<your-public-domain>/email/
  4. Microsoft Graph will then send notifications to: https://<your-public-domain>/email/oauth/msg/...
  5. Your nginx proxy forwards these to: http://localhost:3018/oauth/msg/...

Warning

Ensure your firewall and network allow inbound HTTPS traffic to your public domain from Microsoft Graph servers. If webhooks fail, change notifications won't work and you may miss new emails.

Polling Configuration (Exchange On-Premise + IMAP)

IMAP doesn't support real-time notifications, so EmailEngine polls for new emails at regular intervals. This is configured automatically and doesn't require additional setup.

Lime Admin Setup (Lime Expert Services, Except Step 1)

This section covers configuration in Lime Admin (the administrative interface in Lime CRM).

Step 1: Add OAuth2 Application (or IMAP Connection for Basic Auth)

It is preferred that this step is done by your IT department. By doing so, you do not need to send any secrets to Lime, which is preferred from a security standpoint.

Choose the tab for your provider:

In Lime Admin, go to Email Integration settings and click "OAuth2 Applications" tab.

Fill in:

  • Display name: Lime CRM Email Integration (or your custom name)
  • Application (client) ID: (from your Entra or Google Cloud credentials)
  • Client secret: (from your Entra or Google Cloud credentials)
  • Redirect URI: <public_base_url>/<app_identifier>/limepkg-email/oauth/callback
  • Base scope:
    • Exchange Online + Graph API: API
    • Exchange Online + IMAP/SMTP: IMAP & SMTP
    • Gmail: IMAP & SMTP
  • Directory (tenant) ID: (from your Entra application - Exchange Online only)

In Lime Admin, go to Email Integration settings and click "IMAP Connections" tab.

Fill in:

  • Connection Name: (descriptive name, e.g., "Exchange On-Prem", "Custom Server", etc.)
  • IMAP Server: (from your IT setup)
  • IMAP Port: (usually 993 for TLS or 143 for STARTTLS)
  • SMTP Server: (from your IT setup)
  • SMTP Port: (usually 587 for STARTTLS or 25 for implicit TLS)
  • TLS Method: (STARTTLS or Implicit TLS)

Step 2: Add Email Account

Go to "Accounts" tab and click "Add new account".

Common fields for all providers:

  • Name: (e.g., "Support Team" - how this account will appear in emails)
  • Email: (the email address for this account)
  • Authentication provider: (select your OAuth2 app or IMAP Connection)
  • Groups: (select all User Groups that should be able to send email from this account)
  • Enabled for email handling: (checked)
  • Max outgoing email size: (useful if your email server has specific limits)
  • Template: (see section below on how to design your template)
  • Language for automatic emails: (select language)
  • Time zone for history in outgoing emails: (select timezone)
  • Print time zone in outgoing emails: (useful if your customers are in different timezones)
  • Send automatic reply: (check to enable)
  • Do not send an automatic reply if email is older than: (set hours threshold - see note below)

Info

Why limit automatic replies by email age?

Occasionally, emails can get stuck in the inbox due to import failures or system issues, and may only be imported hours or even days later. If you automatically reply to every email regardless of age, you might send a reply to an email from 3 days ago, which looks unprofessional to the customer.

This setting prevents that scenario. For example, if you set this to 24 hours, Email Integration will only send automatic replies to emails received within the last 24 hours. Older emails will be imported but won't trigger an automatic reply.

Typical values: - 24 hours (recommended): Safe margin for normal delays - 1 hour: Stricter - only reply to very recent emails - 72 hours: Lenient - allows replies to emails up to 3 days old

  • Automatic reply: (compose message)
  • Add email signature to outgoing emails: (check if desired)
  • Email signature: (add signature text)

Authentication:

  • For OAuth2 (Exchange Online or Gmail): Click "Authenticate" and sign in with a user who has access to the mailbox (or the mailbox owner for personal mailboxes)
  • For Basic Auth + IMAP/SMTP: Enter the IMAP and SMTP credentials directly in the account form. These will use the IMAP Connection you created in Step 1.

Step 3: Configure General Settings

Go to "Email Integration" tab and configure:

Include coworker's name in outgoing emails:

When enabled, emails show "Firstname Lastname - Team Support"; when disabled, shows "Team Support"

Import automatic emails even if conversation not found:

Controls whether automatic emails (out-of-office, system notifications, etc.) create new tickets or are discarded if they cannot be matched to an existing conversation.

If TRUE:

  • Automatic emails create new tickets (or conversation parents)
  • Useful if you want to track all system notifications
  • May create unwanted tickets from bots

If FALSE:

  • Automatic emails are imported only if they belong to an existing conversation
  • Automatic emails that don't match existing conversations are discarded
  • Cleaner ticket list but may miss important notifications

What if some bots should be able to create tickets and the rest should not?

Use filters to control which bots can create tickets. See Filtering Bot Senders below for configuration options.

Method to identify existing conversations:

Choose how Email Integration matches incoming emails to existing conversations

Note

For Exchange Online + Graph API only: Webhook notifications will be enabled automatically for real-time email updates.

Go to "Conversation parent limetypes" section and set up which limetype (Ticket, Deal, etc.) should be created for incoming emails. You can control which automatic emails create tickets by configuring which senders are allowed. See Filtering Bot Senders for configuration options. In the "Monitored email accounts" list, select which email accounts should process incoming emails for this conversation parent.

In "Properties on the conversation parent" section, define which properties should be set when a new conversation is created. For example:

{
    "subject": "email_subject",
    "description": "email_body",
    "person": "sender_email",
    "company": "company_from_person",
    "source": "email"
}

See Full Example Configuration Reference for complete property mapping options.

Configure Actions to run when sending emails. For example: "Send reply and mark as resolved".

See Message Action Examples below for configuration examples.

Step 4: Configure Templates

Go to "Templates" tab to design your template.

Click Use default template to get a good starting template.

Recommended is to use Lime Marketing if you wish to design the template further.

Merge Codes

Merge code Description
conversation_update_info Information about what kind of update happened to a conversation you are in
other_followers_info Information about who else the message was sent to
reply_info Information about the reply options
conversation_messages Content of the whole conversation thread
followers Followers in the format "name (email address)", comma separated
follower_addresses Followers' email addresses, comma separated
follower_addresses_mailto Followers' email addresses, mailto links
follower_names Followers' names, comma separated
num_followers Number of followers
recipient_address Recipient's email address
recipient_name Recipient's name
sender_address Sender's email address
sender_name Sender's name

Step 5: Configure Filters (Optional)

Email Integration comes with recommended filters to help organize tickets. To import them:

  1. Make sure you have limepkg-filter-editor and limepkg-config-importer packages installed
  2. Download the filters.json file
  3. Use the Config Importer to import the file

Note

One filter targets the helpdesk table. If you're using a different conversation parent, manually edit the file to match your limetypes.

Step 6: Configure Text Snippets (Optional)

Create pre-written responses that users can quickly insert. Configured in the "Text Snippets" tab in the web client.

Example snippets:

  • "What is your order number?"
  • "Here's how to reset your password..."
  • "Thank you for your patience. We're looking into this."

Read more in Text snippets - How it Works

Step 7: Configure Visualizations (Optional)

Email Integration integrates with other Lime CRM packages. To enable:

  1. Make sure these packages are installed: limepkg-config-importer, limepkg-option-visualizer, limepkg-status-flow
  2. Download the config_importer.json configuration file
  3. Use Config Importer to import configuration

This adds:

  • Status flow visualization for ticket status
  • Info tiles showing ticket metrics
  • Option visualization for ticket fields

Feature Configuration

Bounce Handling

When an email fails to deliver, the mail server sends a "bounce" message back. Email Integration automatically detects and logs these in your conversations.

Configuration

Bounce messages must reach your monitored inbox folder to be detected by Email Integration. If bounces are filtered to Junk or other folders, they won't generate error notifications in Lime CRM.

To ensure bounce messages are processed:

This step can only be done if you have access to the inbox using Outlook or other email client of choice.

Once your integration is fully working and sending emails from Lime CRM:

  • From CRM, send a test email to an invalid address (e.g., bounce@foolbounce.com)
  • In your email client, check if the bounce message arrives in your inbox
  • If the bounce appears in Junk instead, move it to Inbox to train your mail filter.
  • Go to Lime Admin → Email accounts and click Sync emails
  • Verify the bounce appears as an error record in the Lime CRM conversation feed, once it is processed

Automatic Replies (Welcome Messages)

When a new conversation is created, you can automatically send a reply to the customer.

Configuration

  1. Go to Email Integration settings -> "Accounts" tab
  2. Edit your email account
  3. Add an automatic reply under "Automatic reply message"

Merge Codes

Supports dynamic data via merge codes: {{helpdesk.helpdesknumber}}, {{helpdesk.company.name}}

Email Aliases

When an email account has multiple addresses pointing to the same mailbox, you must register all aliases.

Configuration

  1. Go to Email Integration settings -> "Accounts" tab
  2. Edit your email account
  3. Add all alias addresses under "Email Aliases"

Example: If support@company.com and help@company.com both reach the same mailbox, register both.

Why This Matters

Without proper alias configuration:

  • Email loops may occur (thinking they're different accounts)
  • Followers show multiple alias addresses (confusing)
  • Emails sent from wrong address

Filtering Bot Senders (Optional)

By default, Email Integration detects common bot patterns and prevents email loops. However, some customers want to whitelist specific bots while blocking all others, or customize which bots are allowed. You only need to do this step if you want different behaviors for automatic emails, i.e. emails that are sent from bots or systems. Make sure what you may add here goes hand-in-hand with the setting Import automatic emails even if conversation not found.

Email Server Filtering

Configure rules on your email server to block unwanted bot senders before they reach Email Integration:

For Exchange Online:

  1. Go to Exchange Admin Center → Mail flow → Rules
  2. Create a new rule: "If sender address matches... then delete/reject the message"
  3. Add bot sender addresses to block (e.g., noreply@, no-reply@, donotreply@)

For Exchange On-Premise:

  1. In Exchange Management Shell, create transport rules to block unwanted senders
  2. Example: New-TransportRule -Name "Block unwanted bots" -FromAddressContainsWords "noreply@" -DeleteMessage

For Gmail:

  1. Go to Settings → Filters and Blocked Addresses
  2. Create filters to auto-delete emails from unwanted bot addresses

This approach filters at the server level before Email Integration even sees the emails, reducing unnecessary processing.

Whitelisting Trusted Bots

If you want to allow specific bot senders while blocking others, you can:

  1. Configure server rules to block all no-reply@, noreply@, donotreply@ addresses
  2. Add exceptions for trusted bots in your rules (e.g., allow alerts@monitoring-service.com)
  3. Or use custom message processing (see Customization) to implement custom whitelist logic

Reference

Runtime Configuration Reference

This is the complete schema for Email Integration configuration.

Example Configuration

{
    "personalizedEmails": true,
    "identificationMethod": "messageId",
    "allowAutomaticEmails": true,
    "conversationParents": [
        {
            "relationConversation": "conversation",
            "accounts": ["<account_id>"],
            "properties": [
                {
                    "property": "subject",
                    "messageProperty": "subject"
                },
                {
                    "property": "description",
                    "messageProperty": "plainText"
                },
                {
                    "property": "person",
                    "messageProperty": "fromAddress",
                    "searchPath": "person.email"
                },
                {
                    "property": "company",
                    "searchPath": "person.company"
                },
                {
                    "property": "email",
                    "messageProperty": "fromAddress"
                },
                {
                    "property": "source",
                    "default": "email"
                }
            ],
            "sendMessageActions": [],
            "limetype": "helpdesk",
            "relationDocument": "document"
        }
    ],
    "followerParents": [
        {
            "propertyAddress": "email",
            "propertyName": "name",
            "relationFollower": "follower",
            "limetype": "person"
        },
        {
            "propertyAddress": "email",
            "propertyName": "name",
            "relationFollower": "follower",
            "limetype": "coworker"
        }
    ],
    "conversation": {
        "limetype": "conversation",
        "propertyThreadId": "threadid",
        "propertyReplyToId": "replytoid",
        "propertyEarliestUnread": "earliestunread",
        "propertySubject": "subject",
        "propertyAddress": "email",
        "propertyFirstMessageDate": "firstmessagedate",
        "propertyLanguage": "language",
        "propertySource": "source",
        "sourceOption": "email"
    },
    "conversationMessage": {
        "limetype": "conversationmessage",
        "propertyMessage": "message",
        "propertyEmailEngineId": "emailengineid",
        "propertyUniqueId": "uniqueid",
        "propertyEmailId": "emailid",
        "propertyDate": "date",
        "propertySource": "source",
        "relationConversation": "conversation"
    },
    "follower": {
        "limetype": "follower",
        "propertyName": "name",
        "propertyAddress": "email",
        "propertyActive": "active",
        "propertySubscribed": "subscribed",
        "relationConversation": "conversation"
    },
    "messageFollower": {
        "limetype": "messagefollower",
        "propertyParticipationLevel": "participationlevel",
        "propertyMessageId": "messageid",
        "propertyQueueId": "queueid",
        "relationFollower": "follower",
        "relationConversationMessage": "conversationmessage"
    },
    "document": {
        "limetype": "document",
        "propertyComment": "comment",
        "propertyType": "type",
        "documentType": "other",
        "propertyDocument": "document",
        "relationConversationMessage": "conversationmessage"
    },
    "embeddedFile": {
        "limetype": "embeddedfile",
        "propertyDocument": "document",
        "relationConversationMessage": "conversationmessage"
    },
    "textSnippet": {
        "limetype": "textsnippet",
        "propertyText": "text",
        "propertyDescription": "description",
        "propertyType": "type",
        "propertyStatus": "textsnippetstatus",
        "propertyLanguage": "language",
        "propertyCount": "count",
        "propertyLastUsed": "lastused",
        "propertyPinned": "pinned"
    },
    "conversationMessageError": {
        "limetype": "conversationmessageerror",
        "propertyType": "type",
        "propertyErrorMessage": "errormessage",
        "propertyDate": "date",
        "propertyResolvedDate": "resolveddate",
        "relationResolvedBy": "coworker",
        "relationMessageFollower": "messagefollower"
    }
}

Message Action Examples

Message actions allow you to perform additional tasks when sending emails (e.g., mark ticket as resolved, create follow-up task).

Info

Message actions will not be shown if the same account is used on multiple Conversation parents with different Limetypes.

Update Ticket Status to Waiting on Customer

This example updates the ticket status to "Waiting on customer" when you send a reply.

Requires: limepkg-standard-actions package installed.

"sendMessageActions": [
    {
        "action": {
            "params": {
                "limeObject": {
                    "helpdeskstatus": {
                        "constant": "waiting_customer"
                    }
                },
                "confirm": {
                    "options": {}
                },
                "nextCommand": {
                    "params": {}
                }
            },
            "id": "limepkg_standard_actions.update-limeobject"
        },
        "label": "Send and set status to waiting on customer",
        "icon": "waiting_room"
    }
]

Use a Command From Another Package

This example uses a command from limepkg_basic_helpdesk to update the deadline.

"sendMessageActions": [
    {
        "action": {
            "params": {
                "deadlinePropertyName": ""
            },
            "id": "limepkg_basic_helpdesk.helpdesk-park"
        },
        "label": "Send and update deadline",
        "icon": "hot_line"
    }
]

Custom Command Example

For custom commands you create in your solution:

"sendMessageActions": [  
    {
        "action": {
            "params": {
                "subject": "Something with test."
            },
            "id": "my_test_solution.my-test-command"
        },
        "label": "My test action",
        "icon": "test_tube"
    }
]

Note

You are responsible for making custom commands work and maintaining them.


  1. Exchange Online service description - Feature availability. IMAP and SMTP are available in Exchange Online Plan 1 and higher plans. 

  2. Exchange Online service description - Feature availability. Authenticated SMTP and IMAP protocols are supported in all Exchange Online plans including Plan 1.