Sendblue for Salesforce

Last updated: December 30, 2025

Version 1.27 | November 13th, 2025
Install Link:
Prod | Sandbox


Overview

The Sendblue for Salesforce package enables your organization to:

  • Send and receive SMS and iMessage messages directly from Salesforce

  • View conversation history in a user-friendly interface

  • Track message status (sent, delivered, etc.)

  • Apply special message effects for iMessage conversations

  • Include media attachments in messages

  • Track conversation metrics and engagement

Security Features

Permission Sets

  • Sendblue_User Permission Set: Required for all end users

    • Provides access to messaging features

    • Must be assigned during installation

  • Messaging_Gateway_Permissions: Used only for the site guest user

    • Provides minimal access for webhook processing

Security Implementation

  • Field-Level Security (FLS): Enforces user field access permissions using WITH SECURITY_ENFORCED

  • Object-Level Security (OLS): Validates user object access before operations

  • XSS Protection: Sanitizes all user-generated content

  • Secure Logging: Uses LogSanitizer to prevent sensitive data exposure

  • Centralized Configuration: Secure API credential storage via Custom Metadata

Prerequisites

  • Salesforce org with administrator access

  • Sendblue account with API credentials

  • Contact Sendblue support to receive your API credentials

Installation

📹 Installation Video Guide
Watch the complete installation walkthrough: Sendblue Salesforce Installation Video

  1. Install Package: Use the installation links provided above

  2. Assign Permission Sets: Add "Sendblue User" permission set to all messaging users

Post-Installation Setup

1. Configure Webhook Site

  1. Go to Setup → Sites

  2. Accept terms and click New

  3. Create site with these values:

    • Site Label: Messaging Gateway

    • Site Name: MessagingGateway

    • Contact and Record Owner: Any admin user

  4. Click on Site Label → Public Access Settings

  5. Select Site Guest User → Edit Assignments

  6. Add Sendblue Guest API permission set

2. Register Webhook URL

  1. Copy your Site URL (e.g., https://example.my.salesforce-sites.com/MessagingGateway)

  2. Append: /services/apexrest/sendblue/webhook-receiver

  3. Complete URL: https://example.my.salesforce-sites.com

  4. Add Webhook URL to Sendblue Dashboard

Login to dashboard.sendblue.com select the gear icon, API Settings and add Webook URL you added to Salesforce Metadata. Make sure Webhook secret is what you set in metadata. The Webhook secret can be anything but needs to match. 

3. Configure API Authentication

  1. Go to Setup → Custom Metadata Types

  2. Click Manage Records next to Messaging Config

  3. Click New, enter Label and Name as "Main"

  4. Populate values provided by from your API Setting in Sendblue Dashboard (screenshot above):

    • API Key

    • API Secret

    • Webhook Inbound Secret

    • API Endpoint


âś… Package Validation Video
Verify your installation is working correctly: Sendblue Package Testing & Validation
Watch this video to confirm your package is properly configured and functioning as intended.


Data Model

Conversation Object (sendblue__Conversation__c)

Field

Description

Contact Number

The contact's phone number

Sendblue Number

Number used for sending messages

Is iMessage

Checkbox indicating if iMessage is used

Record Id

Related object lookup field

Number of Messages

Total count of messages in conversation

Needs Reply

Checkbox indicating if reply is needed

Last Inbound

Timestamp of most recent inbound message

Last Outbound

Timestamp of most recent outbound message

Is Engaged

Checkbox indicating if conversation is engaged

Campaign

Related campaign for the conversation

First Reply

Timestamp for first reply in conversation

Message Object (sendblue__Message__c)

Field

Description

Conversation ID

Reference to parent conversation

Message

Content of the message

Direction

Inbound or outbound message indicator

Effect

Special effect applied to message (iMessage)

Media (URL)

URL for any media included in message

From

Sender of the message

To

Recipient of the message

Send As User

Indicates if message is sent as user

Status

Current status (sent, delivered, etc.)

Is Delivered

Checkbox indicating delivery status

Is Sent

Checkbox indicating send status

Package Components

Apex Classes

Class

Purpose

ConversationController

Provides data for Lightning Web Component conversation display

WebhookReceiver

Handles incoming webhooks from Sendblue's API

SendMessage

Handles outbound message sending through Sendblue API

EvaluateNumberService

Checks if phone numbers support iMessage

EvaluateQueueable

Asynchronous processing of iMessage capability checks

LogSanitizer

Provides secure logging functionality

Lightning Web Components

Component

Purpose

conversationDisplay

Provides the messaging user interface with auto-refresh

Flows

Flow

Purpose

Sendblue_Conversation_Management

Manages conversation record lifecycle

Sendblue_Conversation_UI

Provides user interface for viewing conversations

Sendblue_Send_Message

Provides reusable messaging interface

Custom Metadata Type

Type

Purpose

Messaging_Config__mdt

Stores API credentials and configuration settings securely

User Interface

Accessing the Interface

  1. Select App Launcher at top left

  2. Select "Sendblue Conversations"

List Views

View

Description

All

Displays all conversations

All Messages

Shows every message across all conversations

My Messages

Filters to conversations you own

Needs Reply

Lists conversations requiring follow-up

Needs Reply – All

All conversations requiring response (any owner)

Recently Viewed

Recently accessed conversations

Conversation Viewer

The interface has three main sections:

1. Past Conversations View

  • Displays all previous messages in the conversation

  • Shows text content, timestamps, and visual differentiation between inbound/outbound

2. Message Sending Panel

  • Message Input Field: Text box for composing messages

  • Media URL: Optional field for media attachments

  • Effect Dropdown: Special message effects (iMessage)

  • Send Message Button: Transmits the message

3. Conversation a

  • Contact Number, Sendblue Number, iMessage Status

  • Message count, engagement status, campaign information

  • Timestamps for last inbound/outbound messages

Sending Messages

Messages can be sent through:

  1. Conversation Viewer Interface: Use the Mesc sage Sending Panel

  2. Flow Actions: Use "Sendblue - Send Message" flow action

  3. Apex Code: Call SendMessage class directly

Message Options

  • Text Content: Regular message text

  • Media URL: Images, videos, or other media

  • Effects: Special effects for iMessage (spotlight, balloons, etc.)

  • Callback URL: Receive message status updates via webhook

Dashboards & Reports

Pre-built analytics include:

  • Conversations Per Day: Volume tracking over time

  • Message Response Times: Reply speed monitoring

  • iMessage Usage Percentage: iMessage vs SMS ratio

  • Engagement Metrics: Conversation engagement insights

  • Needs Reply Dashboard: Conversations awaiting response

Key Metrics

  • Number of conversations sent/received

  • Reply percentage and average response time

  • Recent engaged conversations with details

Technical Architecture

Webhook-Based System

  1. Outbound Messages: Sent via API calls to Sendblue, status updates via webhooks

  2. Inbound Messages: Received by Sendblue, forwarded via webhooks to WebhookReceiver

  3. iMessage Evaluation: EvaluateNumberService checks recipient capability

  4. Security: FLS/OLS enforcement, secure logging, custom metadata configuration

Key Components Integration

  • ConversationDisplay: API Name with required Conversation ID input

  • SendMessage Action: Apex class with inputs for message content, media URL, recipient number, send style, and conversation ID

Flow Templates and CustomizationNew Feature: Customizable Flow Templates

All flows included in the Sendblue package are now designated as templates, enabling users to clone and customize them to align with specific business requirements while retaining original functionalities.Available Flow Templates1. Sendblue Leads (Lead Texting)

  • Purpose: Automated workflow for lead creation and messaging.

  • Features:

    • Initiates SMS/iMessage communication with new leads.

    • Generates Lead records inclusive of contact information.

    • Establishes links between conversations and lead records.

  • Common Customizations:

    • Integration of custom lead fields.

    • Modification of lead assignment protocols.

    • Incorporation of personalized message templates.

2. Sendblue Conversation Management

  • Purpose: Manages the lifecycle of conversation records.

  • Features:

    • Monitors conversation status.

    • Supports message effects (iMessage).

    • Processes media attachments.

  • Common Customizations:

    • Addition of custom conversation routing mechanisms.

    • Implementation of approval workflows.

    • Establishment of escalation protocols.

3. Sendblue Conversation UI

  • Purpose: Provides the user interface for conversation viewing.

  • Features:

    • Real-time display of conversations.

    • Access to message history.

    • Quick actions for routine tasks.

  • Common Customizations:

    • Integration of custom buttons or actions.

    • Adjustment of display layouts.

    • Inclusion of supplementary conversation context.

4. Sendblue Inbox

  • Purpose: Centralized inbox for comprehensive conversation management.

  • Features:

    • Consolidated view of all messages.

    • Filtering and sorting capabilities.

    • Support for bulk actions.

  • Common Customizations:

    • Creation of custom list views.

    • Addition of assignment rules.

    • Implementation of priority queuing.

5. Sendblue Send Message

  • Purpose: Reusable messaging interface for message transmission.

  • Features:

    • Message composition functionality.

    • Support for media attachments.

    • Selection of message effects (iMessage).

  • Common Customizations:

    • Integration of message templates.

    • Implementation of compliance verification.

    • Inclusion of automated follow-up sequences.

How to Clone and Customize FlowsStep 1: Access Flow Builder

  1. Navigate to Setup → Process Automation → Flows.

  2. Locate the desired Sendblue flow for customization.

  3. Click on the flow name to access its details.

Step 2: Clone the Flow

  1. Click the dropdown arrow adjacent to the flow name.

  2. Select “Save As” or “Clone”.

  3. Assign a unique name to the new flow (e.g., “Custom_Sendblue_Lead_Texting”).

  4. Provide a description detailing the intended customizations.

Step 3: Customize the Flow

  1. The cloned flow will open within Flow Builder.

  2. Implement the desired modifications:

    • Incorporate new elements (screens, actions, decisions).

    • Adjust existing logic.

    • Update field mappings.

    • Add custom Apex actions.

  3. Save all changes.

Step 4: Activate Your Custom Flow

  1. Click “Save” to preserve modifications.

  2. Click “Activate” to enable the flow for use.

  3. Update all relevant references to utilize your custom flow instead of the original.

Best Practices for Flow Customizationâś… DO:

  • Establish a naming convention: Employ prefixes such as “Custom_” or your organizational abbreviation.

  • Document changes: Include comprehensive descriptions outlining all modifications.

  • Conduct thorough testing: Always test in a sandbox environment prior to deployment in production.

  • Implement version control: Maintain records of various versions and changes.

  • Preserve original references: Note which original flow your custom version is based upon.

❌ DON’T:

  • Directly modify original flows: These are read-only and will be overwritten during package updates.

  • Compromise core functionality: Ensure the integrity of essential Sendblue features.

  • Disregard governor limits: Be mindful of Salesforce limitations when increasing complexity.

  • Omit testing: Always rigorously validate your customizations.

Advanced Customization ExamplesExample 1: Incorporating Lead Scoring into Sendblue Leads Flow

  1. Clone the “Send_Blue_Leads” flow.

  2. Insert a Decision element subsequent to lead creation.

  3. Establish branches based on lead source or other criteria.

  4. Add Assignment elements to configure the lead score.

  5. Include an Update Record element to save the score.

Example 2: Custom Message Templates in Send Message Flow

  1. Clone the “Sendblue_Send_Message” flow.

  2. Add a Screen element for template selection.

  3. Create Text Template resources for each message type.

  4. Insert a Decision element to apply the selected template.

  5. Transmit template content to the Send Message action.

Example 3: Automated Follow-Up in Conversation Management

  1. Clone the “Sendblue_Conversation_Management” flow.

  2. Add a Wait element following the initial message transmission.

  3. Configure the wait for a specified time period.

  4. Insert a Decision to ascertain if a response has been received.

  5. Include an action to dispatch a follow-up if no response is detected.

Flow Template Architecture

All Sendblue flows are configured with the following attributes:

  • isTemplate=”true”: Enables cloning and customization capabilities.

  • API Version 63.0: Utilizes the latest Salesforce API features.

  • Lightning Flow Builder: Employs a modern, visual flow design interface.

  • Auto-Layout Canvas: Provides automatic visual organization.

Troubleshooting Flow CustomizationsCommon Issues and Solutions:

  • Issue: Custom flow is not visible in available actions.

    • Solution: Confirm that the flow is activated and possesses the correct input/output variables.

  • Issue: The original flow executes instead of the custom version.

    • Solution: Update all references (Process Builder, Apex, other flows) to direct to your custom flow.

  • Issue: Custom flow encounters a permissions error.

    • Solution: Verify that all users have the requisite object and field permissions.

  • Issue: Package upgrades overwrite customizations.

    • Solution: Custom flows are distinct from package flows and will not be overwritten.

Flow Governance and Limits

When customizing flows, adherence to Salesforce limits is imperative:

  • 2,000 flow elements per flow.

  • 50,000 records retrieved per transaction.

  • 100 SOQL queries per transaction.

  • 150 DML statements per transaction.

Support

For support, message your designated Sendblue slack channel