Conversations for CRM
Conversations for Salesforce

Conversations for Salesforce

IMPORTANT

For more information about the product utilization, contact your account manager or the Sales team (opens in a new tab).

Conversations for Salesforce is an omnichannel agent interface that is embedded directly within Salesforce. With this, you have a single connected system that provides personalized customer support and proactive customer engagement, along with scalability, flexibility, and faster customer issue resolution.

Enhance your customer service with an added level of excellence, equip agents with enhanced knowledge, and deliver exceptional customer engagements. Conversations for Salesforce merges the powerful features of our Cloud Contact Center Solution with the industry-leading CRM platform.

Infobip seamlessly integrates its agent interface into Salesforce, facilitating comprehensive integration of communication channels with any component such as contacts, accounts, opportunities, leads, or cases.

Embeddable Conversations - Salesforce

Functional description

Channel matrix

The table below shows which communication channels support Conversations for CRM in Salesforce, depending on whether the conversations are:

  • Outbound (initiated over the channels from within the CRM)

  • Inbound (initiated by the customer)

ChannelOutboundInbound
SMS
Viber
LINE
WhatsApp
RCSN/A
Live ChatN/A
Live Chat RTC (Voice + Video)N/AN/A
MessengerN/A
Facebook PostsN/AN/A
Google Business MessagesN/A
TelegramN/A
Instagram DMN/A
Instagram PostsN/AN/A
KakaoTalkN/A
EmailN/AN/A
VideoN/AN/A
VoiceN/AN/A

Channel capability matrix

The table below shows which information can be transmitted over the available communication channels:

ChannelTextImageVideoAudioDocumentLocationTemplate
SMS      
WhatsApp
Live Chat  
Messenger 
Viber 
LINE 
Google Business Messages      
Apple Business Chat  
Telegram  
KakaoTalk      
Instagram DM     

Supervisor guide

To use Conversations for Salesforce, you need the following:

If you do not have a Salesforce organization, you can create a test account (opens in a new tab).

In the following section, you can find the mandatory steps for the Conversations for Salesforce implementation.

Install Conversations for Salesforce

The get the managed package for Salesforce, contact your account manager or the Sales team (opens in a new tab).

To be able to install it, you need to ensure you are installing inside the correct Salesforce organization. Browser cache might direct you to one of many different organizations you have historically authenticated with, so make sure to proceed with care.

Each Salesforce organization is defined with its URL, for example: https://test-dev-ed.develop.my.salesforce.com

When installing the package version, the simplest way to ensure you are installing in the right organization is to:

  • Log into your Salesforce organization
  • Replace the suffix of the URL with the managed package URL

For example, you can remove: https://test-dev-ed.develop.lightning.force.com/lightning/o/Contact/list?filterName=Recent), and replace it with: https://test-dev-ed.develop.lightning.force.com/packaging/installPackage.apexp?p0=04t09000000aYMk&isdtp=p1

Once you have initiated the installation, you will be presented with the following screen:

Embeddable Conversations - Installation in SF

Ensure to:

  1. Enter the password.
  2. Select the installation for All Users.
  3. Click the acknowledgement link (non-authorized managed package).
NOTE

The Non-authorized package warning is shown because the package has yet to pass the Salesforce security review/be listed on their app exchange.

Set up OAuth policies

You first need to grant the relevant permissions for the managed package to integrate with your connected app.

After the installation is successful, go to SetupAppsConnected AppsManage Connected Apps.

Embeddable Conversations - Manage connected apps

Click the InfobipAccountMapping. Click Edit Policies.

Change (or confirm) the following settings and adjust as necessary in the Connected App Edit:

  1. Set Permitted users to Admin approved users are pre-authorized.
  2. Save, go back to the Manage Connected Apps page, and do the same for the InfobipAgentUI app.
  3. Click OK in the alert that appears.
  4. Set IP Relaxation to Enforce IP restrictions.
  5. Set Refresh Token Policy to Refresh token is valid until revoked.

Click Save. You should then be returned to the ClientSuccessAccountView configuration page. Scroll down to the Profiles section and click Manage Profiles.

Click into each of the connected apps (under Master Label) and select Manage Profiles. Add the profiles you want to have access to the relevant UIs. Click Save.

NOTE

Profiles are a construct in Salesforce that allow you to create specific roles/interfaces/experiences specific to user needs.

A Salesforce administrator may want to restrict which users can use the product based on these permissions.

IMPORTANT

If your organization was created after the Summer '23 Salesforce release, you will also need to ensure that it has the correct OAuth permissions.

Navigate to Setup → Identity → OAuth and Open ID Connect Settings and ensure the Allow OAuth Username-Password Flows setting is enabled.

Without this, Infobip will not be able to authenticate via the connected app (Conversations for Salesforce).

Embeddable Conversations - OAuth enablement

Create permission sets

In this section, you can learn how to create permission sets for agents and admins.

Cloning a permission set

It is not possible to add a connected app in a Permission Set added to a managed package, so it is necessary to clone Infobip Embedded Conversation Admin and Infobip Embedded Conversation Agent permission set and manually do some modifications.

To clone a permission set, do the following:

  1. Click Setup.
  2. Search Permission Sets in the quick find.
  3. Find and create clones of the permission sets as displayed in the image below.
Embeddable Conversations - Cloning a permission set

Edit a permission set

Now you need to add the Conversations for Salesforce app to the list of the Connected Apps for our permission sets:

  • Infobip Embedded Conversation Agent permission set - access to Infobip Conversation App with widget
  • Infobip Embedded Conversation Admin permission set - agent access and permissions to add/remove agents and link Salesforce to Infobip

To add the connected app to the permission set, follow these steps:

  1. Click Setup.
  2. Search for Permission Sets.
  3. Click Edit.
  4. Click Assigned Connected Apps.
  5. Click Edit and add INFOBIPConversations CanvasApp (both) and Auth UI (admin only).

Add permission set for administrators/agents

To link your Infobip account to your Salesforce organization, you will need access to the Authentication Page inside the Conversations for Salesforce app.

Follow these steps to add the permission sets to the relevant users within your Salesforce organization:

  1. From Setup, enter Users in the Quick Find box, then select Users.
  2. Select your admin user(s)/agents.
  3. Click Edit Assignments in the Permission Set Assignments related list.
  4. To assign a permission set, select it under Available Permission Sets and click Add.
  5. Click Save.
Embeddable Conversations - Admin permission set

Link Salesforce to Infobip

Create an Infobip account mapping object

To be able to use Conversations, you will need to create the necessary authentication for bi-directional communication between your Salesforce organization and the relevant Infobip account.

To create the Infobip account mapping, do the following:

  1. From Salesforce Lightning, click App Launcher → Conversations for Salesforce (top left menu).

  2. Click Infobip Account Mapping → New.

  3. Create a new mapping object (Infobip Production):

  4. Name it.

  5. Leave the credential ID blank.

  6. Ensure to include the Infobip authorization key.

Add authentication details to account mapping

Now that you have the object to create your authentication, you will need to fill in the following credentials:

Client ID:

  • Type: variable
  • String: 3MVG9SOw8KERNN0_HBJ5TAXaC7NRyTbrIHUh8bgMxyqCG3c0XUDTlpYbkUpjWgrZkDE1LP4Yzjkhd.Sm8P9bC

Client Secret:

  • Type: variable
  • String: 1157DCF13EB0FACB94A7E4F5E550374301040CF27698E5F60CB6FAAB2C3AD8ED

CRM Configuration ID:

  • Type: Unique
  • Location: in the URL of your account mapping object (as highlighted)
Embeddable Conversations - CRM configuration ID

Organization ID:

Embeddable Conversations - Org ID

CRM Domain URL:

  • Type: Unique
  • Location: https://\{your org name\}.[my.salesforce.com/](http://my.salesforce.com/)services/apexrest/INFB_EmbConv/
  • The package namespace can be found in Setup → Installed Packages
NOTE

Make sure to enter this exactly as described above.

If you are using a developer edition, you will need to remove the lightning.force reference from the URL.

Example:

  • the URL you see: https://{yourDomainName\}-dev-ed.develop.lightning.force.com/lightning/r/EmbConv_INFB__CRM_Configuration__c/aCXr9pAAD/view

  • including the lightning reference (incorrect): https://{yourDomainName\}-dev-ed.develop.lightning.force.my.salesforce.com/services/apexrest/\{installed package namespace}/

  • removed dev reference (correct): https://\{yourDomainName\}-dev-ed.develop.my.salesforce.com/services/apexrest/{installed package namespace}/

Infobip API Key & Base URL:

  • Type: Unique
  • Location: Login to your Infobip Portal (using the credentials for the account you are linking to Salesforce) → visit this page for more info.
  • Make sure to add https:// to your Infobip Base URL
Embeddable Conversations - API

Username:

  • Type: Unique
  • Location: the Salesforce username (email address) you will use to create the authentication between the organization and Infobip
NOTE

For production use, it is recommended to use an API user whose password is set to Never expire.

If the password is ever changed or the refresh token is ever reset, it will break the configuration and therefore the integration is needed.

Password:

  • Type: Unique
  • Location: Salesforce password+security token (no spaces)
NOTE

The security token is generated and sent to your dedicated email address for the Salesforce API/System Administrator user.

Once all fields have been populated, click Save. You should now see that the Infobip Account Mapping object has the credential ID automatically populated.

Automatically associate inbound conversations

When you use Conversations for Salesforce combined with Answers (or an external bot), you can identify the customer through their ID or inputs using this Conversation automation segment by combining API requests and verification of the customer.

Update the customer identity in Answers or your external chatbot

You need to utilize the CRM's API using the chatbot's API capabilities to update the customer identity automatically. For Answers, this is the Call API element.

Once you have identified the customer using their input, phone number, or both, you can use the Conversations Metadata API to update the customer objectId and objectType.

{

    ``"objectId"``:``"contactId"``,

    ``"objectType"``:``"Contact"

}

Create agents

Assign the permission set

The correct level of permissions needs to be granted to agents and admins in Salesforce before they can use the managed package products.

To add the permission sets to the relevant users within your Salesforce organization, follow these steps:

  1. From Setup, enter Users in the Quick Find box, then select Users.

  2. Select a user.

  3. In the Permission Set Assignments related list, click Edit Assignments.

    Embeddable Conversations - Permission set
  4. To assign a permission set, select it under Available Permission Sets and click Add.

    Embeddable Conversations - Permission set assignment
  5. Click Save.

Create agent associations

For agents to use the product, you need to link the agent entity in Infobip, to the user entity inside Salesforce. By doing this, you will ensure that activity creation, record association, etc., is associated with the correct person.

  1. From Salesforce Lightning, click App LauncherConversations for Salesforce (top left menu)
  2. Along the top tab menu, click Infobip Agent Associations:
    • Name:
      • Type: Unique
      • Location: Custom string - recommend using the name of the agent
    • Agent ID:
      • Type: Unique
      • Location: Infobip PortalConversationsSettingsGeneral SetupAgents → pick your agent → See browser URL
Embeddable Conversations - Agent association
NOTE

You can also get a list of all agent IDs directly via the Conversations API using applications such as Postman.

  • User: 
    • Type: Unique
    • Location: drop-down, select the user your want to tie to this agent
  • CRM Configuration:
    • Type: Unique
    • Location: drop-down, you should only have one association

Add more agents

To add more agents as Salesforce users, navigate to Setup → Users → click the New User button and add the basic details.

Assign the following to your user:

  • User Licence → select Salesforce
  • Profile → select Standard User

Click Save.

After that, go to your agent profile email inbox and:

  1. Verify the account.
  2. Set up the password.

Return to Salesforce and make sure you are logged in as Admin. Click on the newly created agent profile and click on Permission Set Assignments → add the Clone permissions.

Navigate to Conversations for Salesforce → Infobip Agent Associations → create new association for your agent user. After that, you must first log into Salesforce with your agent profile and then log into the Conversations widget as an Infobip agent.

Customize agent interface

First, add the following objects to your Lightning app (Conversations for Salesforce):

  • Account
  • Lead
  • Contact

Add Click-to-connect

To initiate an outbound conversation, you will need to add the Click-to-connect widget to the records you will be connecting from, e.g., account, lead, contact, etc. The following steps need to be completed:

  1. Visit the Lightning app you want to add the component to (i.e., service console, etc.).

  2. Visit the record you want to Click-to-connect from.

  3. Settings → Edit Page.

    Embeddable Conversations - Click to connect
  4. Drag Click-to-connect from the Custom - Managed section of components and place it anywhere on the page layout.

    Embeddable Conversations - Custom managed
  5. Drop it above the Activity widget.

  6. Click Save.

Add agent UI to the utility bar (recommended)

It is recommended to add the agent UI to the utility bar of your Lightning app to offer users the best experience:

Navigate to SetupApp Manager → your selected app → EditUtility items → add utility item → Visualforce:

  • Label: Conversations for Salesforce
  • Panel width (custom): 700px
  • Panel height (custom): 950px
  • Start automatically: True
  • Show label: False
  • Visualforce page name: InfobipAgentUI
  • Height in pixels: 870px

Click Save.

Add agent UI to object

Optionally, you can add the agent UI to the object your agent is working from:

  1. Visit the Lightning app you want to add the component to (i.e., service console, etc.).

  2. Visit the record you want to host the agent UI.

  3. Settings → Edit Page.

    Embeddable Conversations - Add agent UI to object
  4. Drag Visualforce from the standard section of components – this can be placed anywhere on the page layout.

  5. You will now need to configure which Visualforce page you want to add.

  6. Select InfobipAgentUI from the Visualforce Page Name.

  7. Click Save.

  8. Now, do not close the modal.

  9. Click Assign to Apps, Record Types, and Profiles.

  10. Select Conversations for SalesforceRecord Type (Master) → Profile (System Administrator).

  11. Click Next → Review Assignments.

  12. Save.

Now, log in as an Infobip agent using the utility bar widget or Object Agent UI widget. Click on an object (Account, Lead, Contact).

To find your username on the Infobip portal, go to Conversations Settings → General Setup → Agents.

Conversation assignment

You can use most of the underlying functionality within Conversations, including workflows, surveys, and routing rules when utilizing Conversations for Salesforce. For more information, see the Conversations Supervisor guide.

Agents can only view their assigned conversations through the embedded interface. They are not able to search across conversations in the account and select which ones to work on.

Considering this, supervisors are strongly advised to configure automatic assignment for all queues using Conversations for CRM to make sure that customers are routed to available agents as quickly as possible.

Customize conversation relationships

When using Conversations for Salesforce, you can configure relationships to be transported to any object in the system and relate leads, accounts, and contacts to your conversations right out of the box.

NOTE

The records must have the Allow Activities option enabled.

To customize the conversation relationship, do the following:

  1. Create a new lookup field for your target record on the Conversation record. The lookup field must have the same name as the API name of the record.

    Embeddable Conversation - Conversation relationship
  2. Add this field to the page layout of the Conversation record. After creating the lookup field, add this record to the Infobip Conversation Mapping within Custom Metadata Types. To do this, click Manage Records.

    Embeddable Conversation - Conversation relationship metada types
  3. Find your target record in the list and save it.

  4. Add the Click-to-connect component to the page layout of your target record.

Agent guide

In this section, learn more about the different features and functionalities of Conversations for CRM through the agent experience using Salesforce.

Log into the system

Logging into the system is the first step to start with the Conversations for CRM experience.

You can log into the system using your standard Infobip username and password.

Visit the Supervisor guide (opens in a new tab) to find out how to make this available for specific users. Once configured, the appropriate interface will be displayed on the Salesforce right-hand navigation.

NOTE

Agents will be logged out automatically if they are inactive for 60 minutes.

Set status

Across all CRMs, agents can set their status to reflect their availability for handling conversations. Only when your status is set to Available and you have enough capacity, you receive automatically distributed Conversations.

If a Conversation is assigned external to automatic assignment (i.e., transfer or supervisor change) it is presented to the agents irrespective of their status. This one-directional update allows the Infobip routing algorithm to be updated directly from within the embedded agent interface.

If the status is set from the Infobip application (portal.infobip.com (opens in a new tab)), it is not updated in the agent interface automatically, however, it will impact the routing of interactions.

Set conversation status

Across all CRMs, agents can manage the status of a conversation.

To update the status of a conversation, the three dots on the rightmost side of the control panel.

Embeddable Conversations - Update conversation status SF

Conversations in an Open or Waiting status remain in the agent's window. Solved or Closed conversations are removed from the agent UI to allow the agent to concentrate on more relevant activity.

Message types

Inbound messages

You will see an icon indicating that a conversation has one or more unread messages whenever you receive a new inbound message.

Embeddable Conversations - Inbound messages

Outbound messages

Every outbound conversation will have a header stating that it is outbound.

Embeddable Conversations - Outbound messages header

Depending on the channel (opens in a new tab), you are also able to send attachments or locations to customers.

Attachments

Embeddable Conversations - Send attachments

Location

Embeddable Conversations - Send location

Receive an inbound conversation

An inbound conversation that has been assigned to an agent appears in their list of conversations. Newly assigned conversations are shown in pink, while the unread messages will display an unread message icon to prompt the agent to respond to the new messages.

The conversation topics will display the following:

  • Direction (i.e., if the customer initiated the conversation, this would be considered inbound)
  • Customer identifier
  • Original conversation channel
Embeddable Conversations - Inbound unread message SF

When an inbound conversation is received, the customer identifier can be their:

  • Name
  • Phone number
  • ID (the customer ID presentation depends on whether the customer was identified before they were assigned to an agent)
Embeddable Conversations - Inbound unread message info SF

If you are using standalone Conversations for Dynamics, the customer identity for inbound conversations will always be unknown - the customer will be presented as the customer destination, i.e., the address used to send/receive messages.

For SMS, WhatsApp, KakaoTalk and LINE, this will be their phone number, and for other channels, this will be a unique customer ID for a specific channel.

Start an outbound conversation

Click-to-connect, a core feature of Conversations for Salesforce, allows agents to initiate an outbound conversation.

You can Click-to-connect from any record in the system. Lead, account, and contact are supported, however, this can be extended by a system administrator through configuration. For more information, see the Customize conversation relationships (opens in a new tab) section.

The administrator needs to add the Click-to-connect component to the agent's record page layout so that it can search the record for phone numbers.

You can initiate the New Conversation dialog by clicking the target phone number.

Embeddable Conversations - Start an outbound conversation SF

Select the sender/channel you would like to contact from the list that is dynamically populated from your linked Infobip account.

Embeddable Conversations - Start an outbound conversation choose customer SF Embeddable Conversations - Start an outbound conversation choose channel

Once you select the sender, write your first message and create the conversation.

Embeddable Conversations - Start an outbound conversation start SF

Transfer a conversation

Transfers are required if the customer needs assistance outside the skill set of the currently assigned agent.

To transfer a conversation, do the following:

  1. Click the Transfer button in the upper right corner.
  2. Choose the agent you want to transfer the conversation to in the dialog box.

The queue is a mandatory field when transferring a conversation. The queue can remain the same if you are transferring the conversation to an agent with a different skill set, however, a new agent must be selected.

If you are transferring the conversation to a different queue, the selection of a specific agent is optional. You can select from a list of agents assigned to that queue, or you can transfer the conversation to the selected queue where the auto-assignment algorithm selects the next agent.

Embeddable Conversations - Transfer a conversation SF

Log a conversation

All conversations are automatically logged inside Salesforce. The following information is automatically logged on the Conversation record:

  • Currently assigned agent
  • Related record
  • Channel
  • Topic
  • Start time (delivered to agent)
  • End time (closed by agent)
  • Duration
  • Link to the Conversation transcript

In Conversations for Salesforce, agents can log the following additional information to the Conversation record:

  • Reviewing previous conversations
  • Providing context when transferring to another team

The Conversation outcome field enables the agent to record a high-level summary of the conversation to use in reporting.

Embeddable Conversations - Log a conversation SF

The agent can automatically link a conversation to another record in the CRM by updating the relationship when logging a conversation. For more information on how to update this, see Link Conversations to CRM objects.

Activity logging

The activity is logged inside Salesforce as a Conversation object which can be customized to offer greater context such as:

  • Conversation outcome picklist(s)
  • Conversation notes
  • Attachments

Alternatively, a Conversation Note object is related to the Conversation which allows this information to be saved per agent.

Link Conversations to CRM objects

The Conversation record logged inside Salesforce will not be related to another account or contact record in the CRM when the identity of the customer is unknown.

The agent needs to update the Regarding field in the Conversations record. For more information see the Log a conversation section.

Once the agent updates the Regarding field, the Conversation topic will be updated as well. The Take me there screen-pop button will take you directly to this newly related record. For more information see the Screen-pop section.

Embeddable Conversations - Link conversation SF

To learn how to automatically identify customers in Salesforce, see Automatically associate inbound conversations.

Add attachments to a Conversation

Adding attachments to the messages is available through all communication channels, except SMS.

To add an attachment to a message, select the Upload an attachment icon and choose the file format which you want to send.

Screen-pop

Screen-pop inside Salesforce allows agents to quickly and easily navigate around the CRM. With this, the agents have access to the relevant information when handling multiple conversations at the same time.

Agents can choose between two screen-pop options to help them navigate the CRM:

  1. Open conversation - navigate to a conversation's log inside the CRM to, e.g., write notes or relate the conversation to another object.
  2. Take me there - navigate to the conversation's related record to, e.g., check specific details to resolve a customer inquiry.
Embeddable Conversations - Screen-pop options

For more information, see the Log a conversation and Link Conversations to CRM objects.

Note: When using Screen-pop, the agent will be navigated away from the current record.

Omnichannel conversations

You may have various communication channels based on your account settings.

To change the channel you are currently using, select the wanted one from the drop-down menu in the From field.

If you receive an inbound conversation from an inbound-only channel, you will only be able to communicate over that channel. However, if the customer provides an eligible phone number, you can add it to the conversation using the Add customer phone number option, which will then allow you to select a different communication channel.

For example, if a customer engages over Live Chat and requests that you provide them with certain information over a more permanent channel, or they want to leave their PC and continue the conversation via their mobile phone, you can switch to the wanted channel.

Embeddable Conversations - Omnichannel conversations SF

Widget placement

Conversations for Salesforce is available in Salesforce lightning. It can work inside standard or console lightning apps (out-of-the-box or custom apps).

The following options are available:

  • Inside the Utility bar (recommended) - allows to determine the width and height of the embedded UI. This also allows agents to have the UI in/out of focus depending on how much of the CRM real estate they need at any given time.
  • On the page layout of a specific object - page layout allows to determine the height and placement of the embedded UI.

Troubleshooting and limitations

Troubleshooting

In this section you can find useful troubleshooting steps if the following issues occur:

Inbound messages are not automatically delivered to the agent

If the agent is not receiving inbound messages, check if the Webhook is configured correctly:

  • The Webhook for the inbound messages is configured for the account
  • The Webhook is configured to send inbound messages
  • The Webhook is the correct URL
  • The CHID is configured to use the RBI_Integration feature flag

Use this Postman collection (opens in a new tab) to validate per account.

Objects are not created

If your objects are not being created, check the following:

  • The link between the accounts is configured as per the implementation guide
  • The user who created the link has not recently changed their password
  • Re-create the link using the implementation guide

Click-to-connect is not creating Conversations

Make sure the phone number inside the field you are clicking from excludes non-permitted characters. Numbers must be in the E.164 format and must exclude the + or representative 00.

Agents are transferred to off-platform agents

When transferring all agents, the selection to transfer is available inside the account. If that agent is not configured to use Conversations for CRM, the Conversations object will not be reassigned to this user.

Limitations

The following limitations are present when using Conversations for Salesforce:

Voice

Voice is not a supported channel yet. Conversations will not be routed to the advisor.

Email

Email is not a supported channel yet. Conversations will not be routed to the advisor.

Social media posts

Social media posts are not a supported channel yet. If Social Media posts are delivered to the advisor, they are directed to use the portal. No activity logging, etc., is logged in the CRM.

Need assistance

Explore Infobip tutorials

Encountering issues

Contact our support

What's new? Check out

Release notes

Unsure about a term? See

Glossary

Research panel

Help shape the future of our products
Service Terms & ConditionsPrivacy policyTerms of use