---
schema_version: "1"
id: e88772d316a802dac171f41cc7fbfb4557d8d71e86ff6ca41af8256d63d8f68b
title: Set Up Service Assistant for Messaging
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/sp_setup_msg.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.sp_setup_msg.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 0afbcb56610d9e5c8e6cfad449c00c5c7dd90f4784c647b7d42293dcd523ecec
description: Complete the required setup steps for Service Assistant for Messaging.
products:
  - Service Cloud
  - Service Intelligence
release: "264"
---
# Set Up Service Assistant for Messaging

Complete the required setup steps for Service Assistant for Messaging.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=service.einstein_service_intro.htm&amp;language=en_US" target="_blank">View supported editions</a>.</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d85723e57">User Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e57 ">To set up Service Assistant for Messaging:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e57 ">
              <p>Service Planner Builder permission set</p>
              <p>AND</p>
              <p style="margin-bottom:0;">Customize Application OR
                System Admin</p>
            </td>

          </tr>
        </tbody>
      </table>

Before you begin, confirm that you've completed the general setup and created at least one agent with a subagent and instructions. See [Complete General Setup for Service Assistant](https://help.salesforce.com/s/articleView?id=service.sp_setup_basics.htm&release=264.0.0&type=5 "Complete the general setup that's required for both Service Assistant for Case and Messaging."). Also, make sure you have assigned your agent the General CRM, FAQ, or both subagents.

The core of the setup requires creating an eligibility flow that determines which types of sessions can have a service plan. The eligibility flow doesn't rely on the ServicePlanner User's Run Flow permission to execute the flow when a service rep opens a messaging session record. Both service reps and admins require direct access to the flow so that it can run when the record page opens. We don't recommend providing your reps the Run Flows app permission unless doing so aligns with your company's security standards.

We recommend granting access through a custom permission set. To do so, [restrict the flow's default general access](https://help.salesforce.com/s/articleView?id=platform.flow_distribute_security.htm&language=en_US), and then create a custom permission set that you assign to both the admin and service reps. Alternatively, restrict the flow's default general access, and then assign the flow to the Standard User profile if that aligns with your company's security standards.

The first procedure guides you through configuring your eligibility flow and restricting its default access. The next procedure guides you through creating a custom permission set that grants access to the flow.

You can use your own flow as long as it's an autolaunched flow that has one string input and one boolean output. If you use your own flow, skip the first procedure and go to the next one.

1. [Configure Your Eligibility Criteria Flow](https://help.salesforce.com/s/articleView?id=service.sp_setup_msg.htm&release=264.0.0&type=5 "Use the Check Service Plan Eligibility for Messaging Flow Template to set conditions that messaging session records must meet to have a service plan.")
2. [Grant Access to Your Eligibility Flow](https://help.salesforce.com/s/articleView?id=service.sp_setup_msg.htm&release=264.0.0&type=5 "Grant users access to your eligibility flow with a custom permission set that provides access to the flow. The custom permission set is mandatory for service reps and admins, even when admins have Run Flows or Manage Flows permissions.")
3. [Add Your Eligibility Criteria Flow to Service Assistant](https://help.salesforce.com/s/articleView?id=service.sp_setup_msg.htm&release=264.0.0&type=5 "Complete your eligibility criteria setup by adding your configured flow to the Service Assistant Setup page.")
4. [Turn on Service Assistant for Messaging](https://help.salesforce.com/s/articleView?id=service.sp_setup_msg.htm&release=264.0.0&type=5 "Turn on the features that activate Service Assistant for Messaging.")
5. [Set a Default Agent](https://help.salesforce.com/s/articleView?id=service.sp_setup_msg.htm&release=264.0.0&type=5 "Because Service Assistant supports multiple agents, set a default agent in the Set Up Your Agent Assignment section of the Setup page so that an agent is always assigned to a record when your eligibility criteria are met.")
6. [Assign Service Assistant for Messaging Permissions](https://help.salesforce.com/s/articleView?id=service.sp_setup_msg.htm&release=264.0.0&type=5 "Assign permissions that grant users access to Service Assistant for Messaging.")
7. [Set Up the Service Assistant Component for Messaging](https://help.salesforce.com/s/articleView?id=service.sp_setup_msg.htm&release=264.0.0&type=5 "Add the Service Assistant component to the Messaging Session record page.")

## Configure Your Eligibility Criteria Flow

Use the Check Service Plan Eligibility for Messaging Flow Template to set conditions that messaging session records must meet to have a service plan.

1. From Setup, in the Quick Find box, enter **Flows**, and then select **Flows**.
2. Under All Flows, select **Check Service Plan Eligibility for Messaging**.
3. From the Flow Builder canvas, select the **Is Messaging Session Eligible for Service Plan?** Decision element.
4. From the Decision Element properties section, in the Yes tab under Outcome Details, delete the ineligibilityReason resource. Keep all others.
    
    ![Example: Outcome details resource removal](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_flow_outcome_details_msg.png)
5. To add another condition that determines when to generate a service plan, click **\+ Add Condition**. By default, we don't create service plans for messaging sessions that are set to Ended or inactive. Set additional conditions, such as creating service plans for messaging sessions that originate from specific channels or queues.
6. Optional: From the Manager Tab, under Text Templates, select **DefaultIneligibilityReasonTextTemplate** to modify the default body text.
    
    The text tells service reps that a case can't have a service plan because it doesn't meet the eligibility criteria. The message that the service rep sees is based on the eligibility criteria that you've set in the flow. For example, if a condition set in the Decision element isn't met, service reps get a message such as "You can't create a service plan because the case isn't part of the specified queue."
    
    ![Example: Service Assistant flow text template configuration](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_text_temp.png)
7. From the top-right corner of flow builder, click **Save as New Flow**.
8. In the Save As window, provide a name and optional description, and then click **Save**.
9. Activate your flow and exit Flow Builder.
10. From the Flow Builder setup page, navigate to your eligibility flow.
11. Click the drop down next to the flow and select **Edit Access**.
12. Select **Override default behavior and restrict access to enabled profiles or permission sets**.
13. Click **Save**.

## Grant Access to Your Eligibility Flow

Grant users access to your eligibility flow with a custom permission set that provides access to the flow. The custom permission set is mandatory for service reps and admins, even when admins have Run Flows or Manage Flows permissions.

1. From Setup, in the Quick Find box, enter and select Permission Sets.
2. From the Permission Sets setup page, click **New**.
3. Provide a name for the permission set and optionally provide a description.
    
    We recommend naming the permission set Messaging Eligibility Flow Access. Don't select a license.
4. Click **Save**.
5. From the Permission Sets page, select **Messaging Eligibility Flow Access** or the name you provided.
6. From the permission set detail page, under Apps, select **Flow Access**.
7. From the Flow Access section, click **Edit**.
8. Add your messaging eligibility flow to the Enabled Flows section.
9. Save your work.
10. Assign the permission set to yourself (the admin) and your service reps.

## Add Your Eligibility Criteria Flow to Service Assistant

Complete your eligibility criteria setup by adding your configured flow to the Service Assistant Setup page.

1. From the Service Assistant Setup page, in the Customize Experience by Object section, select the **Messaging** tab and go to the **Define Service Plan Eligibility Criteria for Messaging** section.
2. From the Flow Label field, select your messaging eligibility flow.
3. From Input variables, select your variable.
4. From Output Variables, set the fields for Eligibility Result Variable and Ineligibility Reason Variables.
5. Save your work.

![Example: Service Assistant eligibility criteria setup page configuration](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_eligibility_setup_msg.png)

After you add your flow to Service Assistant, your eligibility criteria setup is complete. Next, turn on Service Assistant for Messaging.

## Turn on Service Assistant for Messaging

Turn on the features that activate Service Assistant for Messaging.

1. Go to the Turn on Dynamic Plans section and turn it on.
    
    ![The Turn on Dynamic Service Plans setting turned on.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_setup_msg_dp.png)
2. **Optional**: Under Turn on Dynamic Service Plans, turn on **Start Plans Automatically**.
    
    When you turn on this feature, service reps don't manually click Strat Plan in the component. The button isn't shown. Instead, the service plan starts automatically after the chat contains enough context for Service Assistant to identify the issue. The summary plan is first generated, and then the first step shows immediately after.
    
    ![The Start Plans Automatically setting turned on.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_setup_msg_auto.png)
3. Turn on Service Assistant for Messaging.
    
    ![The Service Assistant for Messaging setting turned on.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_setup_msg_enable.png)

Next, go to the Set Up Your Agent Assignment section.

## Set a Default Agent

Because Service Assistant supports multiple agents, set a default agent in the Set Up Your Agent Assignment section of the Setup page so that an agent is always assigned to a record when your eligibility criteria are met.

If you created only one agent, select it. That agent is assigned to every record that meets your eligibility criteria.

If you have more than one agent, select a single agent that contains a subagent and instructions for a use case that you want to test. You don't need to set a flow at this time. The remaining setup procedures guide you through assigning permissions, adding the component to the record page, and validating that a service plan generates, which is based on the single agent you set as your default agent. Setting up and testing multiple agents isn't covered here because setup requires additional time and testing. See [Multiple Agents in Service Assistant](https://help.salesforce.com/s/articleView?id=service.sp_ma_setup.htm&type=5&language=en_US).

1. In the Set Up Your Agent Assignment section, under Set a Default Agent, select your agent.
2. Don't set a flow in Define Your Multi-Agent Assignment Criteria.
3. Save your work.

![The Set a Default Agent section of the Service Assistant Setup page.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_ma_setup_defualt_agent.png)

Next, assign the permissions that grant users access to Service Assistant for Messaging.

## Assign Service Assistant for Messaging Permissions

Assign permissions that grant users access to Service Assistant for Messaging.

When you create a Service Assistant agent, the ServicePlanner User (the agent user) is automatically assigned the Service Planner Agent User and Agentforce\_Service\_Assistant Permissions permission sets. To generate service plans for messaging sessions, the agent user requires a custom permission set that grants object and app access to the Messaging Session object.

Also, make sure service reps have the Messaging Eligibility Flow Access custom permission set assigned. Without it, the eligibility criteria flow doesn't run when a service rep opens the record page.

1. From Setup, in the Quick Find box, enter **Permission Sets**, and then select **Permission Sets**.
2. Create an Agent Messaging Access custom permission set that grants Read and View All Fields on the Messaging Session object and enables the Access Conversation Entries app permission.
3. Assign the Agent Messaging Access custom permission set to the ServicePlanner User, and then confirm your users have these permissions.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
          <colgroup>
            <col style="width:25%">
            <col style="width:25%">
            <col style="width:25%">
            <col style="width:25%">
          </colgroup>
          <thead class="slds-text-title_caps ">
            <tr class="">
              <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d85723e696">Persona</th>
              <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d85723e699">User License</th>
              <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d85723e702">Standard Permission Sets</th>
              <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d85723e705">Custom Permissions </th>
            </tr>
          </thead>
          <tbody>
            <tr class="">
              <td data-label="Persona" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e696 ">Service Assistant Admin</td>

              <td data-label="User License" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e699 ">Salesforce</td>

              <td data-label="Standard Permission Sets" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e702 ">Service Planner Builder</td>

              <td data-label="Custom Permissions" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e705 "> Messaging Eligibility Flow Access permission set</td>

            </tr>
            <tr class="">
              <td data-label="Persona" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e696 ">Service Rep</td>

              <td data-label="User License" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e699 ">Salesforce</td>

              <td data-label="Standard Permission Sets" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e702 ">
                <ul>
                  <li>Service Planner User</li>

                  <li>Access Agentforce Default Agent</li>

                </ul>
              </td>

              <td data-label="Custom Permissions" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e705 "> Messaging Eligibility Flow Access permission set</td>

            </tr>
            <tr class="">
              <td data-label="Persona" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e696 ">ServicePlanner User (agent user)</td>

              <td data-label="User License" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e699 ">Einstein Agent</td>

              <td data-label="Standard Permission Sets" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e702 ">
                <ul>
                  <li>Agentforce_Service_Assistant Permissions*</li>

                  <li>Service Planner Agent User</li>

                  <li>Data 360 User</li>

                </ul>
                <p style="margin-bottom:0;">*This is a default name provided by Agentforce. If you provided your agent a specific
                  name in the Agent Creator, then the permission set name matches your agent name.</p>
              </td>

              <td data-label="Custom Permissions" class="slds-cell-wrap" style="vertical-align:top;" headers="d85723e705 ">
                <p>Agent Messaging Access permission set </p>
                <p>Required permissions:</p>
                <ul>
                  <li>
                    <p>App permission: Access Conversation Entries</p>
                  </li>

                  <li>
                    <p>Messaging Session object permission: Read, View All Fields</p>
                  </li>

                </ul>
              </td>

            </tr>
          </tbody>
        </table>

Next, add the Service Assistant component to the Messaging Session record page.

## Set Up the Service Assistant Component for Messaging

Add the Service Assistant component to the Messaging Session record page.

1. From the Service Console, go to the Messaging Session list page and open a record. Ideally, open a record that meets your eligibility criteria.
2. From the record page, click ![Gear icon](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/resources-global/_corporate/images/gear.png), and then select **Edit Page**.
3. From the Components menu, search for and select **Service Assistant**, and then add the component anywhere on the canvas.
4. Click **Save** and then click **Activate**.
5. Exit Lightning App Builder, go back to the record page, and confirm that you see the component on the page.

The Messaging Session record page now shows the Service Assistant component (1) and chat box (2).

![The Service Assistant component and chat box on a Messaging Session record page.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_setup_msg_component.png)

When your eligibility criteria are met and the chat contains enough context for Service Assistant to identify the issue (1), a plan summary shows in the center of the component and indicates which subagent is assigned to the record (2), for example, "Service Plan Available: Order Refund". Service Assistant is active and processes a service plan only when the record owner is a human user. It doesn't process requests when any other user owns the session record, such as a bot or queue.

![The Service Assistant component with the first plan step shown and no Start Plan button.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_setup_msg_summary.png)

What counts as enough context to start the plan depends on whether there’s an issue or problem clearly defined in the transcript (1). There's no standard threshold for the number of messages required to have the first step of the plan show in the component. Plan processing and initiation times vary and depend on clarity of the messages in the transcript. Also, there is no indication that a summary plan generating. The compoenent remains static.

If you turned on Start Plans Automatically, the Start Plan button isn't shown, and the first step shows after the summary plan is generated and when the chat contains enough context for Service Assistant to identify the issue. There is also nao indication that the first step is generating. The component remains static and you only see the summary plan.

![The Service Assistant component with the first plan step shown and no Start Plan button.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_setup_msg_component_auto.png)

If the plan summary fails to generate or you see error messages, take these general troubleshooting steps. For more testing and troubleshooting guidance, see [Test Service Assistant](https://help.salesforce.com/s/articleView?id=service.sp_comps_build.htm&release=264.0.0&type=5 "To test the accuracy of your Service Assistant setup, create service plans on the record page. How you test depends on the plan type you use.") and [Troubleshoot Service Assistant Error Messages](https://help.salesforce.com/s/articleView?id=service.sp_troubleshooting_and_error_messages.htm&language=en_US).

- Check the permissions for your agent user (ServicePlanner User). Make sure it has the required app permissions needed for the Agent Voice Access permission set.
- Check that you have a default agent assigned in the Setup page and confirm the agent is active. Also check that the agent has a subagent that matches to the specific issue referenced in the transcript.
- Check your eligibility flow configuration and access to the flow. Make sure the voice call type is eligible for a plan and that you have direct access to the flow, even if you have the Run All Flows app permission. The flow doesn’t run on the ServicePlanner Users’ permissions [Grant Access to Your Eligibility Flow](https://help.salesforce.com/s/articleView?id=service.sp_setup_msg.htm&release=264.0.0&type=5 "Grant users access to your eligibility flow with a custom permission set that provides access to the flow. The custom permission set is mandatory for service reps and admins, even when admins have Run Flows or Manage Flows permissions.") and [Add Your Eligibility Criteria Flow to Service Assistant](https://help.salesforce.com/s/articleView?id=service.sp_setup_msg.htm&release=264.0.0&type=5 "Complete your eligibility criteria setup by adding your configured flow to the Service Assistant Setup page.").
- Check that the messaging session record is owned by a human agent, not a bot user. Service Assistant doesn't generate a plan for a record owned by a bot user or queue.

When you see a summary plan, work through a service plan to test it.

- Confirm that Service Assistant shows the first plan step when there's enough context.
- Confirm that the guidance in each step is consistent with your grounding sources and that Service Assistant shows the correct actions at the right time.
- Review each step for accuracy against your grounding sources, monitor when actions and steps are cited.
- Use the agent chat to ask for knowledge information, run actions, and draft plan summaries.

If you haven't already attached a data library to your agent, review our knowledge grounding setup guidance in [Set Up Knowledge Grounding](https://help.salesforce.com/s/articleView?id=service.sp_ka_setup.htm&release=264.0.0&type=5 "Ground service plans in your knowledge base with Agentforce Data Libraries."). Knowledge grounding requires extra permissions plus additional testing and validation to make sure that your service plans are grounded in your knowledge base. We provide details on our recommended configuration, what to expect when referencing citations, and troubleshooting information.

We only officially certify the use of the knowledge data library type for Service Assistant. However, this doesn’t prevent you from setting up and testing other data types (file upload, custom retrievers, and web search), but we don't provide setup guidance or recommendations specific to those data types for Service Assistant. All set up and usage follows the [general Agentforce guidance](https://help.salesforce.com/s/articleView?id=ai.data_library_choose_data_source.htm&type=5&language=en_US). For details on custom retrievers, see [Retrieve Data](https://help.salesforce.com/s/articleView?id=data.c360_a_ai_retriever.htm&type=5&language=en_US).

![Voice knowledge example](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_intelligence-264-0-0-production-enus/dcd06a7b-b5ab-448b-a767-4e2e90481508/support_intelligence/images/service_planner/sp_setup_msg_plan_initiate_ka.png)

Optionally, you can also [Set Up Service Replies for Service Assistant](https://help.salesforce.com/s/articleView?id=service.sp_sr_setup.htm&language=en_US). Service Replies operate independently of the service plan. Service Replies don’t ground the service plan. Also, the standard Service Replies become deactivated and replies are only shown in the Service Assistant component. See [Service Replies for Service Assistant](https://help.salesforce.com/s/articleView?id=service.sp_sr_setup.htm&language=en_US&type=5).