7Setting Up Communication Channels

This chapter contains the following:

Inbound Message Processing: Explained

An inbound message is created when you receive an incoming service email from a customer or a partner. The following figure illustrates the process flow for an incoming customer email:

Inbound message processing of an incoming customer
email

The following steps describe the process flow for an incoming customer email:

  1. A customer or a partner sends an email.

  2. An inbound message filter is applied to the incoming message.

  3. If the message is accepted, an inbound message is created, and any associated attachments are extracted.

  4. The message is verified to see if the message is related to an existing Service Request (SR).

    If the inbound message is related to an existing SR:

    • The related SR is identified. If the related SR can be edited, the email content and attachments are added to the SR. If the original SR can't be edited, a new SR is created.

    If the inbound message is not related to an existing SR, a new SR is created.

  5. The email ID of the sender is validated against the customer or partner records in the database.

    If the email ID of the sender exists in records:

    • The primary contact and the primary account are updated with the email ID.

    If the From email ID does not exist in the database:

    • A message is added to the SR that the sender can't be identified.

    If there is more than one contact in the database with the same email ID:

    • The Primary Contact field on the SR is left blank. A message is added to the SR, stating the reason and also showing the email ID from the original incoming email.

  6. If there are other email IDs in the message in the To or CC fields that can be identified, those IDs are added as contacts. If other email IDs can't be identified, the email IDs are ignored.

  7. The incoming message content and the attachments are added to the new SR.

Setting Up Email Channels: Procedure

The tasks to set up email channels involves setting up inbound and outbound email channels. The deploying customer can setup either one of the channels, and can also use a single email channel to handle both inbound and outbound emails. Inbound channels refer to the messages that are received by the customers and outbound messages refer to the messages that are sent to the customer.

Setting up an email channel includes the following steps:

  1. Sign in as an administrator to Oracle Engagement Cloud.

  2. Select the Setup and Maintenance option.

  3. Configure an email channel for your service organization. For more information about this procedure, see Configuring an Email Channel: Procedure.

  4. Setup Email Filters. Filters enable you to set one or more criteria based on which an incoming message from a customer or a partner can be accepted or rejected. For more information about setting up filters, see Creating and Updating Inbound Message Filters: Procedure.

  5. Configure a Job to process inbound emails to retrieve emails from the customer at regular intervals. For more information, see Configuring a Job to Process Inbound Emails: Procedure.

  6. Configure inbound and outbound email profile options. For more information, see Configuring Email Profile Options: Procedure.

After configuring the email channels, inbound and outbound message from customers can be processed.

Inbound Message Filters: Explained

Inbound message filters enable you to set one or more filter criteria based on which an incoming message from a customer or a partner can be accepted or rejected. For example, you can set a filter to reject any mails that have the subject AutoReply. Message filter patterns are specified using regular expressions. For example, to specify a filter pattern to accept all e-mails from Oracle employees, the regular expression is given as ^[A-Za-z0-9._%+-]*@oracle\.com. You can set more than one filter and order them by priority. When a message comes in, the filter criteria are checked in the order of priority. If the first filter criteria does not apply to a message, the subsequent ones are checked. If any of the filter criteria match the incoming message, the message is accepted or rejected based on the filter specifications.

Creating and Updating Inbound Message Filters: Procedure

To view the existing inbound message filters:

  1. Sign in as an administrator to Oracle Engagement Cloud.

  2. On the Navigator, click Setup and Maintenance.

  3. Select Service from the Setup menu.

  4. Click the Communication Channels functional area.

  5. Select All Tasks from the Show drop-down list.

  6. Click the Manage E-mail Filters task.

    The Inbound Message Filters page appears, showing a list of the existing inbound message filters.

Creating a New Message Filter

To create a new inbound message filter:

  1. In the Inbound Message Filters page, click Create.

  2. In the Create Message Filter page, select a filter type. Filter type indicates the message part on which the filter is applied. A filter type can be one of the following:

    • File attachment: A filter is applied to the attached file type.

    • Header: A filter is applied to the message header.

    • Mime attachment: A filter is applied to the Content-Type header.

    • Reply to: A filter is applied to the Reply To address.

    • Sender: A filter is applied to the sender of the message.

    • Subject: A filter is applied to the subject of the message.

  3. Specify a Field Name. For File attachment and Mime attachment filters, the field name is not mandatory.

  4. Specify an alphanumeric Filter Pattern.

  5. Select an Action on Pattern Match to Accept or Reject.

  6. Specify an optional Description.

  7. Click Create.

Note: All filters are enabled by default. To disable a filter, update the properties as described in the following section.

Updating Inbound Message Filters

To update an inbound message filter, perform the following steps:

  1. In the Inbound Message Filters page, click a filter type.

  2. In the Update Message Filter page, change the filter properties. You can change all of the properties except the filter type.

    Note: If you want to disable a filter, select Yes in the Disabled field. The default value is No.
  3. After modifying the filter properties, click Save and Close.

Inbound Message Filters: Examples

The following table lists examples of regular expressions for filter patterns.

Filter Type Regular Expression Example

File attachment

Attachments that are files with either .pdf, .txt, or .html file extensions:

^[A-Za-z0-9_]*\.pdf|.txt|.html

Header

Emails with headers that contain the string Gentle Reminder:

^Gentle Reminder[A-Za-z0-9._%+-]*

Mime attachment

Content Type header with values such as text/plain, text/html, image/jpeg, or application/octet-stream:

text/plain|text/html|image/jpeg|application/octet-stream

Reply to

Emails that are sent by the support team:

^support_[A-Za-z0-9._%+-]*@company\.com

Sender

Emails that are sent by an Oracle employee:

^[A-Za-z0-9._%+-]*@oracle\.com

Subject

Email subjects with string AutoReply:

^Auto Reply: [A-Za-z0-9._%+-]*

Defining Email Templates: Procedure

You can create email templates for Forward, Response, and System Response messages of a service request (SR). You can create templates using HTML to send email notifications for an SR. To define an email template, use the following procedure. For more information, see the Oracle Sales Cloud Extending Sales guide.

  1. Create a sample HTML file for email message using any HTML authoring tool. You can use SR fields within the email content. For example, the message can be "This is an update about SR [$SRNumber$] ".

  2. Sign in to Oracle Cloud application as an administrator.

  3. Navigate to Application Composer.

  4. Select Service application.

  5. In the Email Templates page, click the plus icon to create a new template.

  6. Select Service Request as an Object.

  7. Specify a name for the template.

  8. Specify a description.

  9. To add any attachments, click the plus icon, browse to the file location, and select the file.

  10. A template is active by default. To disable the template, clear the Active option.

  11. Specify the email subject. You can use SR field names in the subject. For example, subject can be Resolved issue [$Title$].

  12. Edit the message HTML as needed. Add #MessageContent# tag anywhere in the HTML code. This tag is replaced by the SR message content.

  13. In email templates that are meant for forwarding to internal users, you can include a link to the SR within the template. Include the link in the following format:

    <Link to company's engagement cloud site>/service/faces/FuseOverview?fndGlobalItemNodeId=itemNode_service_service_requests&pSrNumber=<SR Number>.

    For example, https://company123.us.oracle.com:10616/service/faces/FuseOverview?fndGlobalItemNodeId=itemNode_service_service_requests&pSrNumber=SR0000029093.

  14. Click Save and Close.

Configuring Email Profile Options: Procedure

Email profile options enable you to set options for incoming and outgoing emails, such as the Reply To email ID that is to be used to send out a receipt to the customer that sent a message. Configure the inbound email profile options as specified in the following table.

Inbound Profile Options Description

SVC_INBOUND_REPLYTO_EMAIL

Indicates the Reply To email that is used for the acknowledgment emails that are sent to the customers. This must be a no reply email. For example, Support <noreply@oracle.com>.

SVC_ENABLE_INBOUND_EMAIL_DEFAULT_PROCESSING

Indicates if inbound emails from customers must be processed automatically by creating or updating an SR. If this option is disabled, only the inbound message object is created, without creating an SR.

SVC_INBOUND_EMAIL_ADDRESSES

Indicates the inbound email IDs that are monitored by the Service application. The email IDs are separated by a comma and are automatically populated during provisioning. These inbound email IDs must not be updated by the deploying customer. The customer must use the address to set a forwarding rule.

SVC_INBOUND_EMAIL_MAX_ATTACH_SIZE

Indicates the maximum size of attachments that are permitted in an inbound email, in MB.

SVC_INBOUND_MESSAGE_BATCH_SIZE

Indicates the number of emails that can be processed at a given time.

SVC_EMAIL_PROCESS_UNKNOWN_CUST

Indicates if an SR must be created for emails sent by unknown customers.

SVC_ENABLE_INBOUND_EMAIL_ACKNOWLEDGEMENT

Indicates if an acknowledgment must be set for an incoming email or not.

Configure the outbound profile options for CRM as specified in the following table.

Outbound Profile Options Description

SVC_SR_FORWARD_TEMPLATE_NAME

Indicates the email template name for SR messages of type Forward.

SVC_SR_REPONSE_TEMPLATE_NAME

Indicates the email template name for SR messages of type Response.

SVC_SR_SYSTEM_RESPONSE_TEMPLATE_NAME

Indicates the template name for SR messages of type System Response.

SVC_SR_EMAIL_ATT_SIZE

Indicates the maximum size of attachments for outbound emails that are sent from the Service application.

Configure the outbound profile options for HCM, as specified in the following table.

Outbound Profile Options Description

SVC_SR_FORWARD_TEMPLATE_NAME_HRD

Indicates the email template for the HR Help Desk Service Request Forward messages.

SVC_SR_RESPONSE_TEMPLATE_NAME_HRD

Indicates the email template for HR Help Desk Service Request Response messages.

SVC_SR_SYSTEM_RESPONSE_TEMPLATE_NAME_HRD

Indicates the email template for HR Help Desk Service Request System Response messages.

SVC_SR_EMAIL_ATT_SIZE

Indicates the maximum size of attachments for outbound emails that are sent from the Service application.

Configuring Profile Options

To configure email profile options, perform the following steps.

  1. Navigate to Setup and Maintenance.

  2. Click the Setup drop-down list and select Service.

  3. Select the Communication Channel functional area.

  4. To configure inbound profile options, select the Manage Inbound Email Profile Options task. To configure outbound profile options, select the Manage Outbound Email Profile Options task.

  5. Click the name of the profile option to be set.

  6. In the Manage Email Profile Options page, in the Profile Values section, click the plus icon to add a value.

  7. Click Save.

Setting Resource Name as From Name in Outbound Emails

When you send emails to your customers, the From name in the email is typically the channel name. However, you have the option to set the resource name as the From name in outbound emails by configuring the SVC_USE_RESOURCE_NAME_IN_OUTBOUND profile option.

To set the service agent's name as the From name in emails sent to customers:

  1. Ensure that you have configured the SPF policy to enable outbound email so that your emails are not rejected by your customer's mail server. For more information about configuring the SPF policy, see "Configuring an Email Channel: Procedure".

  2. Sign in as a setup user or administrator.

  3. Navigate to the Setup and Maintenance work area and open the panel tab.

  4. Click Search from the list of displayed tasks.

  5. Search for and select Manage Profile Options.

  6. In the Search Results : Profile Options area of the Manage Profile Options page, click New.

  7. In the Create Profile Option page, create a profile option by specifying the following values:

    1. Profile Option Code:SVC_USE_RESOURCE_NAME_IN_OUTBOUND

    2. Profile Display Name:Use resource name as From name in outbound emails.

    3. Application:Service

    4. Module:Service

    5. Description:Specify that the resource name must be used as the From name in emails sent to customers.

    6. SQL Validation:SELECT meaning, lookup_code FROM Fnd_lookups WHERE lookup_type = 'YES_NO' AND enabled_flag = 'Y'

  8. Save the record.

    The Manage Profile Options page is displayed.

  9. In the Profile Options area, ensure that the row with the SVC_USE_RESOURCE_NAME_IN_OUTBOUND profile option is selected.

  10. In the Profile Option Levels area, select the respective check boxes for the Site Level so that it's enabled and updatable.

  11. Click Save and Close.

  12. Search for and select Manage Administrator Profile Values.

  13. Navigate to the Search area of the Manage Administrator Profile Values page.

  14. In the Profile Option Code field, enter SVC_USE_RESOURCE_NAME_IN_OUTBOUND and click Search.

  15. In the Profile Options area, select the row that has the SVC_USE_RESOURCE_NAME_IN_OUTBOUND Profile Option Code.

  16. In the Profile Values area, click New.

  17. In the Profile Level field, select Site.

  18. From the Profile Value drop-down list for Site, select Yes.

  19. Click Save.

Configuring an Email Channel: Procedure

Set up an email channel to send and receive emails from the customers.

An email channel can be the following.

  • Inbound email: Indicates the service emails received from your customers. As part of your implementation, you must setup a forwarding rule on your company email server to redirect these emails to the email account that Oracle provided at the time of provisioning or Oracle's inbound email ID. For example, all the support emails that are sent to TechSupport@company.com are forwarded to pod_name.fa.intservice.incoming@pod_name-opcwf.mail.dcsn.oraclecloud.com for processing. The SVC_INBOUND_EMAIL_ADDRESSES profile option indicates the Oracle email ID to which the support mails must be forwarded.

    Note: The SVC_INBOUND_EMAIL_ADDRESSES profile option contains two email IDs. Use the email ID that contains the text 'Extservice' as a part of the ID, as the forwarding email ID.
  • Outbound email: Indicates the emails that are sent by the Service application from the service request; for example, when an agent responds to the primary customer contact. To ensure that your outbound email is delivered successfully to your external recipients, you must set up a Sender Policy Framework (SPF) policy on your domain. To enable Oracle to send out an email on your behalf, the deploying company must

    • Set up an SPF policy on their domain as an authentication mechanism. The exact method of setting up an SPF policy varies from one domain provider to another. For example, v=spf1 include:spf_c.oracle.com ~all.

    • Set values for SVC_USE_RESOURCE_NAME_IN_OUTBOUND and SVC_USE_RESOURCE_EMAIL_IN_OUTBOUND profile options to Yes. For more information, see Configuring Email Profile Options: Procedure.

To configure an email channel for the customer, perform the following steps:

  1. Navigate to Setup and Maintenance.

  2. Click the Setup drop-down list and select Service.

  3. Select the Communication Channels functional area, and then select All Tasks in the Show drop-down list.

  4. Click the Manage Communication Channels task.

  5. In the Service Channels screen, click Create Channel.

  6. In the Create Channel screen:

    1. Select a Stripe Code. Select HCM to process emails from and to internal employees, through the HCM Help desk support. Select CRM to process emails from and to external customers.

    2. Select the Channel Type as Email.

    3. Specify the deploying company's support email ID as the Account Name.

      If a forwarding rule is configured, all the mails that are sent to the specified support email ID are forwarded to the Oracle's inbound email ID. If an outbound email is configured, Oracle can send mails to the customer as the specified support email ID, on behalf of the deploying company.

    4. Verify whether the generated Channel Code is unique.

      The channel code is autogenerated and it uniquely identifies a communication channel when exporting or importing channels from one environment to another.

      • If the autogenerated channel code is unique, don't change it.

      • If the autogenerated channel code is not unique, add a set of characters to the code to make it unique.

    5. Specify a Display Name to indicate any information about the channel, such as the name of the deploying company for which the channel is being configured.

    6. The newly created channel is active by default. To deactivate it, clear the Active option.

    7. Click Save.

Configuring a Job to Process Inbound E-mails: Procedure

Configure a new job to retrieve e-mails at regular intervals, based on the specified frequency. To configure a job process perform the following steps.

  1. From the Navigator menu, select the Scheduled Processes option.

  2. In the Scheduled Processes screen, click Schedule New Process.

  3. In the Schedule New Process dialog box, select Job as the Type.

  4. Search for and select the Retrieve Inbound E-Mail Messages option from the Name drop-down list.

  5. Click OK.

  6. In the Process Details screen, Click Advanced.

  7. In the Schedule tab, in the Run options, select the Using a schedule option.

  8. Select Frequency and specify a Start Date.

  9. Click Submit.

A job is scheduled.

Enabling Service Request Outbound E-Mail: Explained

You can enable automatic e-mail notifications for service requests. E-mail notifications are sent when an internal resource posts a response message to a service request. This topic describes how to enable outbound e-mails for service requests.

To enable outbound e-mails for service requests:

  1. Sign in as an administrator or a setup user.

  2. Navigate to the Setup and Maintenance work area and click Service.

  3. Click the Actions drop-down list, then select View Configuration.

    The Configure Service page appears.

  4. For the Service offering, click Features.

  5. Select the Service Request Outbound E-mail check box.

  6. Click Done.

The ability to send service request outbound e-mails is now enabled.

The next task is to create e-mail templates for responses to customers and for forwarding the service request to others. Once you have created the templates, specify the template names on the Manage Service Request E-mail Message Profile Options task.

Modifying Acknowledgment Messages for Inbound Email

When you receive an email from your customer or employee to open a service request, an acknowledgment message is sent to them automatically. You can modify the predefined acknowledgment messages provided by the application according to your requirement.

If you have deployed CRM, the following predefined messages are provided:

  • SVC_EMAIL_ACK_FOR_KNOWN_CUST

  • SVC_EMAIL_ACK_FOR_MULTI_CUST

  • SVC_EMAIL_ACK_FOR_UNKOWN_CUST

If you have deployed HR Help Desk, the following predefined messages are provided:

  • SVC_EMAIL_ACK_FOR_KNOWN_EMP

  • SVC_EMAIL_ACK_FOR_MULTI_EMP

  • SVC_EMAIL_ACK_FOR_UNKNOWN_EMP

To modify the acknowledgment messages that you send out to your customers or employees when you receive an inbound email:

  1. Sign in as a setup user or administrator.

  2. Navigate to the Setup and Maintenance work area and open the Tasks panel tab.

  3. Click Search from the list of displayed tasks.

  4. In the Search window, enter Manage Messages.

  5. Click the Manage Messages task that is displayed.

    The Manage Messages window is displayed.

  6. In the Message Name field, enter %SVC%ACK%.

  7. From the list of acknowledgment messages displayed, select the message that you want to edit and click Edit.

    The Edit Message window is displayed.

  8. Under the Message Text area, edit the Short Text and User Details the way you want.

  9. Click Save.

  10. If you want to translate the modified messages, click Translation Editor.

    The Edit Translations window displays the list of available languages for translating the messages.

  11. Select a row and click in the Short Text field.

  12. In the Short Text window, edit the message and click OK.

  13. Click in the User Details field, edit the text, and click OK.

  14. Repeat steps 11 to 13 for each row to edit the messages for all the available languages.

  15. Click OK in the Edit Translations window to save the changes.

  16. Click Save and Close in the Manage Messages window.

Setting Up Social Channels: Explained

The social channel enables you to reach customers where and when they engage with you on social networks, and provide faster service. This channel enables you to create service requests (SRs) from social network posts and provide customer service through the social network, while tracking them in Oracle Engagement Cloud.

To use the social channel, you must integrate Engagement Cloud with a platform that manages your social network posts, such as Oracle Social Cloud, using Oracle Integration Cloud. Once the integration is complete, you can set up the social channel for SRs.

As an administrator, you can enable the social channel in Engagement Cloud to allow creating SRs based on social network posts. Social posts from the third-party social relationship management software are added as SRs in Engagement Cloud and are assigned to agents.

The following list provides an overview of the steps required to set up social channels in Engagement Cloud.

  1. Create social channels for SRs in Engagement Cloud.

  2. Integrate Engagement Cloud with Social Cloud.

    See "Integrating Engagement Cloud with Social Cloud: Procedure" for information about creating an integration user, importing the integration package, creating connections, and activating the integrations for the social channel.

Process Flow for Social Posts

The process flow for social posts is as follows:

  1. Community managers in Social Cloud send social posts to Engagement Cloud and create SRs for a social post.

  2. Support agents review and respond to social posts (both public and private).

    1. Service requests are created in Engagement Cloud for social posts sent from Social Cloud.

    2. Once an SR is created, the Social Cloud post is updated with the SR reference number.

    3. Photos and videos added to social posts are displayed as attachments to service request messages.

    4. Users can drill down on the attachments to view the photos and videos.

      Note: To view attachments to private messages, users must sign in to Social Cloud.
  3. Any new reply or comment by the customer to an existing conversation is automatically added to the existing SR. These messages are added as SR messages.

  4. Once an SR is resolved, the Social Cloud post is updated to indicate that the corresponding SR is resolved.

    1. If an SR is reopened after it is resolved, Social Cloud is also updated with the status change.

Supported Social Networks

Engagement Cloud supports Facebook, Twitter, Instagram, Weibo, and WeChat social network channels.

The following table lists the features supported for the social network monitoring scenarios.

Social Network Monitoring Scenarios Facebook Twitter Instagram Weibo WeChat

Monitor public messages

Yes

Yes

Yes

Yes

No

Monitor comments and replies on public messages

Yes

Yes

Yes

Yes

No

Monitor private messages

Yes

Yes

Yes

Yes

Yes

Monitor replies to private messages

Yes

Yes

Yes

Yes

Yes

Note:
  • Photos and videos sent along with private messages on both Twitter and Facebook require you to sign in to the Social Cloud application.

  • On Instagram, customers cannot post on the brand company page.

  • Social Cloud does not retrieve attachments to a private message on Weibo.

  • Social Cloud does not support monitoring of public messages on WeChat.

The following table lists the features supported for the social response scenarios.

Social Response Scenarios Facebook Twitter Instagram Weibo WeChat

Reply to public messages

Yes

Yes

No

Yes

No

Reply to comments and public messages

Yes

Yes

Yes

Yes

No

The following table lists the features supported for other scenarios.

Other Scenarios Facebook Twitter Instagram Weibo WeChat

Update Social Cloud conversation with SR reference number for a social post

Yes

Yes

Yes

Yes

Yes

Update Social Cloud conversation when an SR is resolved

Yes

Yes

Yes

Yes

Yes

Update Social Cloud conversation when an SR status changes from Resolved to In Progress

Yes

Yes

Yes

Yes

Yes

Fields Mapped between Social Cloud and Engagement Cloud

Social posts sent by community managers are created as social SRs (SRs with channel type as Social).

The following table describes the field mapping between Social Cloud and Engagement Cloud.

Engagement Cloud Field Value Source

Channel Type

Social

All social posts

Channel

Name of the social network where the customer posted the message (for example, Facebook)

Social Cloud

SR Title

First 400 characters of the social post content

Social Cloud

Problem Description

First 1000 characters of the social post content

Social Cloud

Primary Contact

If a contact point is found for the social post author, the primary contact is set in the SR

Auto populated by Engagement Cloud

SR Account

The primary account associated with the primary contact of the SR (if exists)

Auto populated by Engagement Cloud

SR Creation Date

Current date

Auto populated by Engagement Cloud

Service Request Message

Every message or post in the conversation with the customer is created as an SR message

Social Cloud post content

Creating Social Channels for Service Requests

To use the Social feature, you must first create the social channel in Engagement Cloud.

To create social channels, do the following:

  1. Sign in as an administrator to Engagement Cloud.

  2. Navigate to Setup and Maintenance.

  3. From the Setup drop-down list, select Service.

  4. Select the Communication Channels functional area, and then click Manage Communication Channels. The Service Channels page is displayed.

  5. Click Create Channel. The Create Channel dialog box is displayed.

  6. Do the following:

    1. From the Stripe Code drop-down list, select CRM.

    2. From the Channel Type drop-down list, select Social.

    3. From the Network drop-down list, select a supported social network.

    4. In the Account Name field, enter the social handle or fan page name of the selected social network. This must match the social resource name in the integrating Social Cloud application.

    5. Verify whether the generated Channel Code is unique.

      • Channel Code is automatically generated by the application. You can use this autogenerated code as is, and you must modify it only when it is not unique. To make it unique, you can add any set of characters.

      • Channel Code is used by the application to uniquely identify a channel when exporting and importing channels from one environment to another.

    6. Enter a Display Name to provide information about the channel, such as the name of the deploying company for which the channel is being configured.

    7. From the Business Unit drop-down list, search for and select a business unit, when multiple business units are configured.

    8. To deactivate the newly created channel, clear the Active option. It is active by default.

    9. Click Save.

  7. Create a new channel for every social network that you want to use.

  8. Save the social channels.

Integrating Engagement Cloud with Social Cloud: Procedure

After you have created a social channel in Oracle Engagement Cloud, to use the social channel, you must integrate Engagement Cloud with Oracle Social Cloud.

To integrate Engagement Cloud with Social Cloud, do the following:

  1. Create an integration user with privileges to perform the integration with Social Cloud.

  2. Import the integration package from Oracle Marketplace.

  3. Import SSL certificates for Engagement Cloud and Social Cloud.

  4. Activate connections to Engagement Cloud and Social Cloud.

  5. Activate the integrations.

  6. Set up the Integration Cloud plug-in in Social Cloud.

  7. Set up CSF SOA key after activating the integrations.

Create an Integration User for the Social Channel

To integrate Engagement Cloud with Social Cloud, Oracle recommends that you create a user specifically for the integration. The integration user can call the Sales Cloud service catalog or event catalog web services from Integration Cloud.

The following procedure describes how to create an integration user and what privileges to provide to the role.

  1. Sign in to Oracle Sales Cloud as an administrator.

  2. Select Navigator > My Team > Users, Roles and Delegations, and click Manage Users.

  3. On the Manage Users page, select Create New User from the Actions menu.

  4. Enter the following details for the new user:

    • Last Name: Enter a last name for the user.

    • E-mail: Enter a valid email ID for the user.

    • Hire Date: Select today's date.

    • User Name: Enter a user name for the user.

    • Person Type: Select Employee from the drop-down list.

    • Legal Employer: Select the legal employer from the list.

    • Business Unit: Select a valid business unit.

    • Send user name and password: Select this option.

    • User Log in: Enter the user name you created.

    • Password: Enter the password for the user.

  5. Save the user details. An email is sent to the address after the user has been created.

  6. Check the user credentials sent in the email, sign in as the new user and reset the password. After creating the user, sign in to the security console and provide the following roles to the integration user

    • SOA Operator

      The SOA Operator is a duty role and duty role cannot be directly assigned to a login using security console. Create an enterprise role as a parent of SOA Operator and associate that enterprise role to the integration user.

    • Customer Service Representative

    • Resource

Import the Integration Package

After you have set up Engagement Cloud and created the integration user with the required privileges, you can set up the Integration Cloud integration package.

Before you start setting up Integration Cloud, go to the Oracle Marketplace and search and download the Engagement Cloud to Social Cloud integration package. After you download this package, perform the following procedures to set up Integration Cloud. For more information about Oracle Marketplace, see the Oracle Cloud Marketplace documentation.

The Integration Cloud integration package supports the following

  • Inbound

    • Create an SR in Engagement Cloud for a social post.

    • Add a social post comment as a message to an SR.

  • Outbound

    • Respond to a customer on the social network that they posted on.

Import SSL Certificates

You must import the SSL certificates before you configure and activate the connections.

To import SSL certificates for Engagement Cloud, see "Uploading an SSL Certificate" in Using the Oracle Sales Cloud Adapter, available at https://docs.oracle.com/en/cloud/paas/integration-cloud-service/icssc/index.html.

To import SSL certificates for Social Cloud, see "Uploading an SSL Certificate" in Using the REST Adapter, available at https://docs.oracle.com/en/cloud/paas/integration-cloud-service/icsre/index.html.

Activate the Connections to Engagement Cloud and Social Cloud

After you download the package and import the SSL certificates, connect to Engagement Cloud using the Sales Cloud adapter. The procedure for importing the adapter is described in the topic "Creating an Oracle Sales Cloud Adapter Connection", available at https://docs.oracle.com/en/cloud/paas/integration-cloud-service/icssc/index.html.

The following procedure describes how to configure the connections to the Sales Cloud instance.

  1. Sign in to the Integration Cloud application using your integration user credentials.

  2. Click the Connections icon on the home page.

  3. Ensure that Oracle Engagement Cloud is listed on the connections page.

  4. Click Oracle Engagement Cloud to view the details.

  5. Click Configure Connectivity and enter the following information in the Connection Properties dialog box:

    • OSC Service Catalog WSDL URL: Enter the service catalog URL on your Engagement Cloud instance

    • (Optional) OSC Event Catalog URL: Enter the event catalog URL on your Engagement Cloud instance

  6. Click OK.

  7. Click Configure Security and enter the following information:

    • Security Policy: Enter Username Password Token.

    • User name: Enter the integration user name.

    • Password: Enter the password for the integration user.

    • Confirm Password: Reenter the password.

  8. Click OK.

  9. Click Test on the Actions bar of the Sales Cloud page.

  10. Ensure the connection test is successful and the status meter shows 100%.

  11. Click OK.

The following procedure describes how to configure the Oracle Social Cloud connection.

  1. Sign in to the Integration Cloud application using your integration user credentials.

  2. Select Connections and then create a new connection for Oracle Social Cloud.

  3. Enter the connection details as shown in the following table:

    Section Details

    Connection Properties

    • Connection Type: REST API Base URL

    • TLS Version: Not Applicable

    • Connection URL: https://srm-api-temp.slc05hpo.oracle.com

    Security

    • Security Policy: OAuth Custom Three Legged Flow

    • Authorization Request: Enter the authorization request URL. The URL must have the following parameters defined:

      • scope=engage

      • response_type=code

      • redirect_uri=${redirect_uri}

      • To get your client ID, see Register your Client Application for procedure.

      For example, a sample authorization request URL looks like this: https://gatekeeper.srm-integration.pp1.oraclecloud.com/oauth/authorize?scope=engage&response_type=code&redirect_uri=${redirect_uri}&client_id=a9a5fb2b482545172fd6101e3c16cc1e9ba140742aa630b6c3e9055a89e6e9a2

    • Access Token Request: Enter the access token request with the correct URL, client ID, and client secret. For example, a sample access token request looks like this: -X POST -H 'Content-Type: application/x-www-form-urlencoded' -d 'false' 'https://gatekeeper.srm-staging.pp1.oraclecloud.com/oauth/token?code=${auth_code}&client_id=a9a5fb2b482545172fd6101e3c16cc1e9ba140742aa630b6c3e9055a89e6e9a2&client_secret=de969db4808a87746dbaf1fa648d552aa6dd1927da5ed2ee731c7ad62ee61b19&redirect_uri=${redirect_uri}&grant_type=authorization_code'

    • Refresh Token Request: Enter the refresh token request with the URL, refresh token, client ID, and client secret. For example, a sample access token request looks like this:-X POST -H 'Content-Type: application/x-www-form-urlencoded' -d 'false' 'https://gatekeeper.srm-staging.pp1.oraclecloud.com/oauth/token?refresh_token=${refresh_token}&client_id=a9a5fb2b482545172fd6101e3c16cc1e9ba140742aa630b6c3e9055a89e6e9a2&client_secret=de969db4808a87746dbaf1fa648d552aa6dd1927da5ed2ee731c7ad62ee61b19&grant_type=refresh_token'

  4. Save the configuration and test the connection.

Activating the Integrations

You must activate the following integrations.

  • Social Cloud Conversation to Engagement Cloud: Creates Engagement Cloud social post records from Social Cloud conversation record and its related posts by mapping the object attributes of the two applications. Engagement Cloud further processes the social posts to create service request and service request messages.

  • Engagement Cloud Service Request to Social Cloud: Updates the Social Cloud conversation object with the service request details.

  • Engagement Cloud Reply to Social Cloud: Updates the Social Cloud conversation with the response from Engagement Cloud user to the social customer. Social Cloud in turn sends the response to the customer on the social network.

  • Engagement Cloud Update SR to Social Cloud: Updates Social Cloud conversation with the Engagement Cloud service request number.

  • Engagement Cloud Sync SR to Social Cloud: Updates the Social Cloud conversation with the service request reference number from Engagement Cloud. This integration is called when an Engagement Cloud user sends a response.

After you configure the connections, activate the integrations as follows:

  1. Sign in to the Integration Cloud application using your integration user credentials.

  2. Click the Integrations icon on the home page.

  3. Search for each integration by its name.

  4. Click the Activate button on each integration.

  5. Select the Enable detailed tracing option, and click Activate on the confirmation dialog box.

  6. Ensure the flow has been activated successfully.

  7. Repeat the previous steps for each integration.

Setting Up the Integration Cloud Plug-in in Social Cloud

For more information about how to set up the plug-in in Social Cloud, see "Requesting Integration Cloud Service Enablement" in the Using Social Cloud guide, at https://docs.oracle.com/en/cloud/saas/social/cxsug/index.html.

Enter CSF Key through SOA Composer

After activating the connections, configure the CSF key through the SOA Composer.

The following procedure describes how to configure the CSF key.

  1. Sign in to the SOA Composer at https://host:port/soa/composer as a user with SOA_Admin role.

  2. Click Manage Security.

  3. In the Manage Credentials group, enter the following information:

    • csf-key: The Integration Cloud subscription identity domain. This value is the domain name of the Integration Cloud instance that has been provisioned for your integration and is provided in the sign-in email that you received from the Integration Cloud subscription.

      User Name: The user name of the user who is granted access to Integration Cloud.

      Password: The password credentials for the user who is granted access to Integration Cloud. Confirm the password value that you provide.

Engagement Cloud to Social Cloud Integration Mapping: Explained

This topic describes the mapping between Oracle Engagement Cloud and Oracle Social Cloud through Integration Cloud.

Social Cloud Conversation to Engagement Cloud

This section describes the integration mappings for the Social Cloud Conversation to Engagement Cloud integration.

ProcessSocialUser

ProcessSocialUser maps the social network user to a social user in Engagement Cloud. The identified user is used in the ProcessSocialPost mapping. The following table describes the integration mapping.

Note: For Social Cloud attributes related to contributions, the mapping applies to all contributions (posts) within a conversation.
Social Cloud Attribute Data Type Engagement Cloud Attribute Data Type Description

Contributions.Content.Author.Name

String

SocialNetworkUserID

String

User's identifier on the social network.

Contributions.Content.Author.Name

String

SocialNetworkUserName

String

User's name as shown on the social network.

Contributions.Content.Author.AuthorImage

String

SocialNetworkUserImage

String

URL of the social user's profile image.

Contributions.Content.Author.AuthorProfileURL

String

ProfileURL

String

Profile URL of the social user.

Contributions.Content.Resource.ResourceType

String

SocialNetworkCd

String

Social network, such as Twitter and Facebook.

ProcessSocialPost

ProcessSocialPost maps the social post in Social Cloud to the social post in Engagement Cloud. The following table describes the integration mapping.

Note: For Social Cloud attributes related to contributions, the mapping applies to all contributions (posts) within a conversation.
Social Cloud Attribute Data Type Engagement Cloud Attribute Data Type Description

QueryParameters.BundleID

String

SourcePostIDSecondary

String

Bundle identifier of the post in Social Cloud.

QueryParameters.TransactionID

String

SourcePostIDTertiary

String

Transaction identifier of the social post.

Note: Transaction IDs can be used by the support team to debug integration issues.

ID

Integer

SourcePostIDPrimary

String

Identifier of the post in Social Cloud.

PrimaryContribution.ID

Integer

PostParentPostID

String

Identifier of the social conversation's primary post.

Contributions.ID

Integer

PostPostID

String

The social post's identifier on the social network.

Contributions.Content.ExternalLink

Integer

PostURL

String

URL of the social post.

Contributions.Content.Author.Name

String

PostUser

String

The social post author's handle on the social network.

Contributions.Content.PostedAt

String

PostDate

DateTime-Timestamp

Date of the social post.

Contributions.Content.Body

String

PostContent

Base64Binary-DataHandler

Content of the social post.

Contributions.Content.Labels

String

SocialPostTags.Tag

String

Tag associated with the social post.

Note: A social post may be associated with multiple tags. Tags are known as Labels in Social Cloud.

Contributions.Content.Attachments.URL

String

SocialPostURLs.URL

String

URL of the attachments in the social post. For most social networks, attachments are either photos or videos.

Note: A social post may be associated with multiple attachments.

Contributions.Content.Resource.ResourceName

String

PostSubChannelName

String

The channel on which the social post was made. For example, the Facebook fan page.

Contributions.Content.Resource.ResourceType

String

PostChannelCd

String

The social network on which the social post was made.

UserID (identified in ProcessSocialUser)

Long

ProcessSocialPost.SocialPost.SocialUserID

Long

Identifier of the social post user in Engagement Cloud.

Note: Social post user is created using the ProcessSocialUser mapping.

UpdateContributions

UpdateContributions provides mapping for the return object to Social Cloud to indicate that a social post was received by Engagement Cloud. The following table describes the integration mapping.

Social Cloud Attribute Data Type Engagement Cloud Attribute Data Type Description

QueryParameters.BundleID

String

QueryParameters.BundleID

String

Social Cloud bundle identifier of the post.

ID

Integer

TemplateParameters.ID

String

Identifier of the Social Cloud conversation.

ProcessSocialPostResponse.Result.PostID

Long

ExternalID

String

Identifier of the social post in Engagement Cloud.

ProcessSocialPostResponse.Result.PostPostID

String

Path

String

The social post's identifier on the social network.

Engagement Cloud Service Request to Social Cloud

This section describes the integration mappings for the Engagement Cloud Service Request to Social Cloud integration.

UpdateConversation

UpdateConversation provides mapping to update Social Cloud with the service request reference number and status. The following table describes the integration mapping.

Engagement Cloud Attribute Data Type Social Cloud Attribute Data Type Description

ServiceRequestResponse.Result.StatusTypeCd

String

Status

String

Status of the service request.

FindSRSocialPostResponse.Result.SRNumber

String

ExternalID

String

Reference number of the service request created for the social post.

FindSRSocialPostResponse.Result.SourcePostIDPrimary

String

TemplateParameters.ID

String

Identifier of the post in Social Cloud.

FindSRSocialPostResponse.Result.SourcePostIDSecondary

String

QueryParameters.BundleID

String

Bundle identifier of the post in Social Cloud.

Engagement Cloud Update SR to Social Cloud

This section describes the integration mappings for the Engagement Cloud Update SR to Social Cloud integration.

UpdateConversation

UpdateConversation provides mapping to update Social Cloud whenever there is a status change in the social service request. The following table describes the integration mapping.

Engagement Cloud Attribute Data Type Social Cloud Attribute Data Type Description

OnEvent.SRSelectedAttributeChangedInfo.SRNumber.NewValue.@Value

String

Request-Wrapper.TopLevelArray.Value.ExternalID

String

Reference number of the service request created for the social post.

OnEvent.SRSelectedAttributeChangedInfo.StatusTypeCd.NewValue.@Value

String

Request-Wrapper.TopLevelArray.Value.Status

String

Status of the service request.

FindSocialPost.FindSRSocialPostResponse.Result.SourcePostIDPrimary

String

TemplateParameters.ID

Sting

Identifier of the post in Social Cloud.

FindSocialPost.FindSRSocialPostResponse.Result.SourcePostIDSecondary

Sting

QueryParameters.BundleID

String

Bundle identifier of the post in Social Cloud.

Engagement Cloud Reply to Social Cloud

This section describes the integration mappings for the Engagement Cloud Reply to Social Cloud integration.

AddContribution

AddContribution provides mapping to create a new contribution in the Social Cloud conversation, when a service request message of type Response is added in Engagement Cloud. The following table describes the integration mapping.

Engagement Cloud Attribute Data Type Social Cloud Attribute Data Type Description

OnEvent.GetSRMessageResponse.Result.MessageID

Long

Request-Wrapper.TopLevelArray.Value.ExternalReference.ExternalID

String

Identifier of the service request message created for a social post.

Note: A service request message is created for every social post that is part of a conversation. Whereas a service request is only created for the primary post in that conversation.

OnEvent.GetSRMessageResponse.Result.MessageContent

Base64Binary-DataHandler

Request-Wrapper.TopLevelArray.Value.Body

String

Content of the social post.

OnEvent.GetSRMessageResponse.Result.SocialPrivateFlag

Boolean

Request-Wrapper.TopLevelArray.Value.IsPrivate

String

Indicates if the social post is a private message.

FindSocialPost.FindSRMessageSocialPostResponse.Result.PostPostID

String

Request-Wrapper.TopLevelArray.Value.ParentID

String

The social post's identifier on the social network.

FindSocialPost.FindSRMessageSocialPostResponse.Result.SourcePostIDPrimary

String

TemplateParameters.ID

String

Identifier of the post in Social Cloud.

FindSocialPost.FindSRMessageSocialPostResponse.Result.SourcePostIDSecondary

String

QueryParameters.BundleID

String

Bundle identifier of the post in Social Cloud.

ReportProcessingSuccess

This mapping displays the service request message ID of the response composed by the Engagement Cloud user, which was successfully sent to the customer on the social network. The following table describes the integration mapping.

Engagement Cloud Attribute Data Type Social Cloud Attribute Data Type Description

OnEvent.GetSRMessageResponse.Result.MessageID

Long

MergeSRMessage.SRMessage.MessageID

Long

The service request message identifier of the response composed by the Engagement Cloud user.

ReportProcessingError

This mapping displays the service request message ID of the response composed by the Engagement Cloud user, which could not be sent to the customer on the social network. The following table describes the integration mapping.

Engagement Cloud Attribute Data Type Social Cloud Attribute Data Type Description

OnEvent.GetSRMessageResponse.Result.MessageID

Long

MergeSRMessage.SRMessage.MessageID

Long

The service request message identifier of the response composed by the Engagement Cloud user.

Note: The error statuses displayed on the service request messages user interface are the Engagement Cloud users' messages that could not be sent to the customer.

Engagement Cloud Sync SR to Social Cloud

This section describes the integration mappings for the Engagement Cloud Sync SR to Social Cloud integration.

UpdateConversation

This mapping sends the service request details and the Engagement Cloud users' responses to Social Cloud, to the customer. The following table describes the integration mapping.

Engagement Cloud Attribute Data Type Social Cloud Attribute Data Type Description

FindSocialPost.FindSRMessageSocialPostResponse.Result.SourcePostIDPrimary

String

TemplateParameters.ID

String

Identifier of the post in Social Cloud.

FindSocialPost.FindSRMessageSocialPostResponse.Result.SourcePostIDSecondary

String

QueryParameters.BundleID

String

Bundle identifier of the post in Social Cloud.

GetServiceRequest.GetServiceRequestResponse.Result.SRNumber

String

Request-Wrapper.TopLevelArray.Value.ExternalID

String

Reference number of the service request created for the social post.

GetServiceRequest.GetServiceRequestResponse.Result.StatusTypeCd

String

Request-Wrapper.TopLevelArray.Value.Status

String

Status of the service request.

Configuring the Cross-Channel Interactions: Procedure

This topic describes how to set up and configure cross-channel interactions.

Cross-Channel Interactions: Explained

Cross-channel interactions enables the administrators to track and manage inbound and outbound interactions that cross from one channel to another. For example, when a customer begins an inbound-chat communication with an agent, and then the agent promotes that communication to a phone call, the communication throughout its life cycle and across both channels can be tracked and managed.

The administrator can also identify and associate the business objects that have been edited or created during this communication, and configure the business objects that are available for association with the interaction model. The administrator can also turn on cross channel interaction tracking for service requests.

Managing Setup and Configuration for Cross-Channel Interactions

This page provides the administrator with a single page to associate business objects, setup all the associated profile options pertaining to cross-channel interactions, and set the date and time periods that qualify objects for automatic association to an interaction.

To set up and configure for cross-channel interactions, do the following:

  1. Sign in to Oracle Cloud application as a Service Administrator or a Service manager.

  2. Navigate to Setup and Maintenance.

  3. Click the Tasks tab icon, then select Search.

  4. Search for the following string:

    Manage Setup and Configuration for Cross-Channel Interactions

  5. Click the Manage Setup and Configuration for Cross-Channel Interactions task.

  6. The Enable Automatic Association of Objects with Interactions field is selected as No by default. This enables automatic association of the objects with interactions. When you select No, business objects are not associated with interactions automatically.

  7. Select the period, in minutes, to go back from the current time while finding a potential interaction based on the creation date in the Search Retrieval Range Prior to the Creation Time field. The default time is set to 5 minutes. You can set the time between 1 minute and 120 minutes.

    Note: If you have selected to not automatically associate business objects with interactions, setting the time here is irrelevant.
  8. Select the period, in minutes, to go back from the current time while finding a potential interaction based on last updated date in the Search Retrieval Range Prior to the Last Update Time field. The default time is set to 5 minutes. You can set the time between 1 minute and 120 minutes.

    Note: If the Enable automatic association option is set to No, setting the time here is irrelevant.
    Note: When you set both the periods Search Retrieval Range Prior to the Creation Time and Search Retrieval Range Prior to the Last Update Time, then a query is run and an association is made for one or both the periods based on the match.
  9. In the Automatically Associated Objects section, you can configure whether to automatically associate service requests with interactions. These are set to Yes by default.

  10. Click Save or Save and Close.

Cross-Channel Options: Explained

The following table describes the type of cross-channel options that you can configure.

Cross-channel Option Description

SVC_INTERACTION_AUTO_ASSOCIATION_ENABLE

Enables automatic association of objects to an interaction. It is set to Off by default.

SVC_INTERACTION_CREATION_DATE_INTERVAL_FOR_AUTO_ASSOCIATION

Sets the period, in minutes, to go back from the current time while finding a potential interaction based on creation date

SVC_INTERACTION_LAST_UPD_DATE_INTERVAL_FOR_AUTO_ASSOCIATION

Sets the period, in minutes, to go back from the current time while finding a potential interaction based on last updated date.

SVC_INTERACTION_ENABLED_OBJECTS - (for Service Request)

For Service requests, set this to the value SVC_SERVICE_REQUEST.

Using Groovy Scripts for Social Channel: Explained

Groovy is a standard, dynamic scripting language for the Java platform. You write Groovy scripts using Application Composer's expression builder, which appears in many places as you modify existing objects or create objects. This topic explains how you can use Groovy scripts for social messages and provides samples of Groovy code.

Validating Agent's Response Character Count

This script validates whether an agent's response for the Twitter channel is less than or equal to 140 characters.

You must add this script as a validation rule to the Message object (child of Service Request object). You must also add a validation message that is displayed to the agents when their Twitter response is greater than 140 characters.

Use the following code as an example:

if(ChannelId == null){ 
    return true; 
}
def channelVO = newView('ChannelVO')
channelVO.appendViewCriteria("ChannelId = '${ChannelId}'")
channelVO.executeQuery()
def networkType = null
if(channelVO.hasNext())
{ 
    def channelRow = channelVO.next(); 
    networkType = channelRow.getAttribute("NetworkTypeCd") 
}
if(networkType == null || networkType != 'TWITTER') { 
    return true
}
String MessageContent = MessageContent.toString()
Long channelId = ChannelId
Long charCount = MessageContent.length();
String pattern = ~/(http|https):\/\/[-a-zA-Z0-9+&@#\/%?=~_|!:,.;]*/
if(null == MessageContent)
return true;
String message = MessageContent.toString()
String[] tokens = message.split(" ")
for(int i=0;i<tokens.size();i++){
    if(tokens[i].matches(pattern )) {
        //this is an url
        Long urlLength = tokens[i].length()
        if(urlLength > 23)   { 
            charCount = charCount - (urlLength -23) 
        }
        else    { 
            charCount = charCount + (23- urlLength) 
        }
    }
}
if(charCount > 140)
    return false
else
    return true

Validating Customer's Twitter Handle

This script validates whether the agent's response begins with the @mention of the customer's Twitter handle.

You must add this script as a validation rule to the Message object (child of Service Request object). You must also add a validation message that is displayed to the agents when their Twitter response is greater than 140 characters.

Use the following code as an example:

//Validation logic
//For channel other than social ignore
if(ChannelTypeCd !='ORA_SVC_SOCIAL')
    return true
//For draft ignore
if(StatusCd == 'ORA_SVC_DRAFT')
    return true
//For message other than response ignore
if(MessageTypeCd != 'ORA_SVC_RESPONSE')
    return true
//Get the last social customer entry
def vo = newView('SrMessageVO')
def vc = newViewCriteria(vo)
def vcr = vc.createRow()
def vci1 = vcr.ensureCriteriaItem('MessageTypeCd')
vci1.setOperator('=')
vci1.setValue('ORA_SVC_CUSTOMER_ENTRY')
def vci2 = vcr.ensureCriteriaItem('ChannelTypeCd')
vci2.setOperator('=')
vci2.setValue('ORA_SVC_SOCIAL')
def vci3 = vcr.ensureCriteriaItem('SrId')
vci3.setOperator('=')
vci3.setValue(ServiceRequest?.SrId)
vc.insertRow(vcr)
vo.appendViewCriteria(vc)
vo.executeQuery()
def lastCustEntry=vo.first()
//Get the channel via
def channelViaList=lastCustEntry.channelCommunication
def channelVia = channelViaList.first()
// Using inbound object id as post id, find the social post
def postId = channelVia.InboundObjectId;
def key = key(postId);
def socialPostVO = newView('SocialPostVO')
def socialPosts = socialPostVO.findByKey(key, 1)
// do nothing if the social post is not found
if (socialPosts == null || socialPosts.size() == 0) { 
    return true
}
// use the first social post
def socialPost = socialPosts[0];
def networkType = socialPost.PostChannelCd
//do nothing if other than twitter 
if(networkType != 'TWITTER')    { 
    return true
}
//If message content is not having twitter handle as prefix then error out.
def twitterHandle = '@' + socialPost.PostUser + ' '
if(MessageContent!= null && !startsWith(MessageContent.toString(),twitterHandle))   {
  return false
}
return true; 

Applying Customer's Twitter Handle by Default

When an agent composes a response for a Twitter channel service request, this script applies the customer's Twitter handle by default, in the SR message.

You must add this script as an object level, after create trigger to the Message object (child of the Service Request object).

Use the following code as an example:

//Defaulting logic for twitter response
//If not social then do nothing
if(ChannelTypeCd !='ORA_SVC_SOCIAL')
    return
//If not of type response do nothing
if(MessageTypeCd != 'ORA_SVC_RESPONSE')
    return
//Find last social customer entry
def vo = newView('SrMessageVO')
def vc = newViewCriteria(vo)
def vcr = vc.createRow()
def vci1 = vcr.ensureCriteriaItem('MessageTypeCd')
vci1.setOperator('=')
vci1.setValue('ORA_SVC_CUSTOMER_ENTRY')
def vci2 = vcr.ensureCriteriaItem('ChannelTypeCd')
vci2.setOperator('=')
vci2.setValue('ORA_SVC_SOCIAL')
def vci3 = vcr.ensureCriteriaItem('SrId')
vci3.setOperator('=')
vci3.setValue(ServiceRequest?.SrId)
vc.insertRow(vcr)
vo.appendViewCriteria(vc)
vo.executeQuery()
def lastCustEntry=vo.first()
def channelViaList=lastCustEntry.channelCommunication
def channelVia = channelViaList.first()
// Using inbound object id as post id, find the social post
def postId = channelVia.InboundObjectId;
def key = key(postId);
def socialPostVO = newView('SocialPostVO')
def socialPosts = socialPostVO.findByKey(key, 1)
// Do nothing if the social post is not found
if (socialPosts == null || socialPosts.size() == 0) { 
    return
}
// Use the first social post
def socialPost = socialPosts[0];
def networkType = socialPost.PostChannelCd
// Do nothing if not twitter
if(networkType != 'TWITTER')    { 
    return
}
//If twitter then set the MessageContent with twitter handle
def twitterHandle = '@'+socialPost.PostUser+' '
if(null != twitterHandle)
    setAttribute('MessageContent',twitterHandle)

Mapping Social Post Tags

Tags associated with social posts in Social Cloud can be sent to Engagement Cloud. These tags are not displayed in the application, but can be used in Groovy scripts. This script maps social post labels in Social Cloud to social post tags in Engagement Cloud. Agents can use these tags to take appropriate actions on the SR.

For example, use the following code to set the SR severity to SEV1 when the social post is tagged as urgent:

// do nothing if there are no channel vias
if (!channelCommunication.hasNext())   { 
   return; 
}

// use the first channel via
def channelVia = channelCommunication.next();

// do nothing if the channel via is not a social channel type
if (channelVia.ChannelTypeCd != 'ORA_SVC_SOCIAL')   { 
   return; 
}

// using inbound object id as post id, find the social post
def postId = channelVia.InboundObjectId;
def key = key(postId);
def socialPostVO = newView('SocialPostVO');
def socialPosts = socialPostVO.findByKey(key, 1);

// do nothing if the social post is not found
if (socialPosts == null || socialPosts.size() == 0)   { 
   return; 
}

// use the first social post
def socialPost = socialPosts[0];

// iterate over tags on the social post
def socialPostTags = socialPost.SocialPostTags;

while (socialPostTags.hasNext()) {
   def tag = socialPostTags.next();

   // One example: Set the SR Severity to SEV1 if social post is tagged with "urgent"
   if (tag.Tag == 'urgent')   { 
      setAttribute('SeverityCd', 'ORA_SVC_SEV1'); break; 
   }
}

Setting Chat Profile Options: Procedure

Chat profile options enable you to configure assignment and routing options for chat requests. The following table lists the chat profile options.

Profile Option Description

SVC_CHAT_OMNI_INTEGRATION

Enables integration of chat with Omnichannel for automatic routing of chat requests to agents

SVC_CHAT_OFFER_NOTIFICATION_TIMEOUT_VALUE

Enables you to specify the number of seconds that lapse before the chat notification is automatically closed.

SVC_ENABLE_CHAT

Enables chat interactions

Configuring Chat Profile Options

Set the profile options to enable various chat features. To configure the profile options, perform the following steps.

  1. Sign in to the application as an administrator.

  2. Navigate to Setup and Maintenance.

  3. Click the Setup drop-down list and select Service.

  4. Select the Communication Channels functional area and then select Manage Chat Profile Options.

  5. To set the profile options, click an option.

  6. In the Profile Values section, in the Profile Level drop-down list, ensure that Site is selected.

  7. Select Yes from the Profile Value drop-down list.

  8. Click Save and Close.

Enabling Chat

To enable the service representatives to use the chat function and to receive chat notifications, you must enable Omnichannel and desktop notifications. For more information about enabling Omnichannel and desktop notifications, see "Enabling Omnichannel: Procedure" in the Implementing Service for Engagement Cloud guide.

The chat function enables a customer to connect with a service representative. The customer initiates the chat from the Digital Customer Service, and a notification is sent to the available representatives in Engagement Cloud.

Note: If you are using the Digital Customer Service application as your consumer application, ensure that a user exists with the role ORA_SVC_CUSTOMER_SELF_SERVICE_USER_ABSTRACT and the privilege SVC_REQUEST_FOR_CHAT. For more information about the security roles, see About Digital Customer Service Roles: Explained.

FAQs About Communication Channels

What happens when a customer sends a service email?

If a customer sends an email, the email IDs in the From field is validated against the customer record in the database. If a match is found, and the email is for a new service, then a new SR is created. If the email is regarding an existing service request, then the email content is added as a message to the relevant SR.

If a match to the email ID is not found in the database, then the following applies:

  • The value for the SVC_EMAIL_PROCESS_UNKNOWN_CUST profile option is selected. This option specifies how to process an incoming email from unknown customers.

  • If the profile option is set to Y, a new SR is created. However, a message is sent to customers indicating that they can't be identified and must provide valid information for further processing of the SR.

  • If the profile option is set to N, no SR is created.

Note: All the recipients of the incoming email, including the unknown contacts are listed in the SR message tab.