Before You Install the Recipe

You must perform the following configuration tasks on your Salesforce, Workday and Slack instances to successfully connect to these external systems using Oracle Integration, and synchronize Salesforce accounts with Workday customers.

Configure Salesforce

To access Salesforce using Oracle Integration and retrieve information about the Salesforce accounts, you must perform certain configuration tasks on your Salesforce instance.

Create a user account on Salesforce for Oracle Integration. You'll use the credentials of this user account while configuring the Salesforce connection in Oracle Integration.

Also, identify your Salesforce instance type and your current Salesforce API version. In addition, configure change data capture to generate change event notifications on the default standard channel.

Log in to your Salesforce instance as an Administrator and execute the following tasks.

Note:

The steps provided here apply to the Salesforce Classic UI. If you're using the Lightning Experience UI on your Salesforce instance, switch to the Classic UI.
  1. Create an API-enabled custom role. You'll assign this role to the user account you'll subsequently create for Oracle Integration.
    1. On the Salesforce Setup page:
      1. Expand Manage Users under the Administer section in the left navigation pane.
      2. Click Profiles.
    2. On the Profiles page, click New Profile.
    3. On the resulting page:
      1. Select Standard User in the Existing Profile field.
      2. Enter a name for the new profile, for example, API Enabled, and click Save.

        The new profile is now saved, and the Profile Detail page of the new profile is displayed.

    4. Click Edit on the Profile Detail page.
    5. On the Profile Edit page:
      1. Scroll to the Administrative Permissions section and ensure that the API Enabled check box is selected.
      2. Scroll to the Standard Object Permissions section and perform the following action.
        • In the Accounts row, leave the Read, Create, Edit, and Delete boxes checked. Additionally, select the ViewAll check box.
      3. Scroll to the end of the page and click Save.
  2. Create a user account for Oracle Integration and assign the custom role created previously to this account.

    Note:

    If you have already created a user account for Oracle Integration, you can assign the API-enabled custom role to the existing account.
    1. On the Profile Detail page of the API Enabled profile, click View Users.
    2. Click New User in the resulting page.
    3. On the New User page:
      1. Enter a first name and last name for the user. For example, Integration User05.
      2. In the Email field, enter a valid email address.
      3. The email address you enter is automatically populated in the Username field. Note down this username.
      4. In the User License field, select Salesforce.
      5. In the Profile field, select the profile you created previously, that is, API Enabled.
      6. Scroll to the end of the page, ensure that the Generate new password and notify user immediately check box is selected, and click Save.
      7. The user account is now created, and a verification email is sent to the email address you provided for the account.
    4. Log in to the corresponding email account and click the Verify Account button in the email message from Salesforce.
      You're redirected to the Salesforce instance to set a password for the new user account.
    5. Set a password and note down the same.

      Subsequently, you're signed into the Salesforce instance with the new account.

      Note:

      If you're shown the Lighting Experience UI, switch to the Salesforce Classic UI.
    6. Generate a security token for the new user account. You'll need this security token along with the password to access Salesforce using Oracle Integration.
      1. Stay signed in as the new user and click the username at the top of the page to open a menu.
      2. Click My Settings in the menu.
      3. On the My Settings page, in the Quick Links section, click Edit my personal information.
      4. On the resulting page, click Reset My Security Token in the left navigation pane.
      5. Click the Reset Security Token button.
      6. A new security token is sent to the email address associated with the account. Note down the security token.
      7. On the Salesforce instance, click the username again and select Logout from the menu. Log back in as the Administrator.
  3. Identify your current Salesforce API version.
    1. On the Salesforce Setup page:
      1. Scroll to the Build section in the left navigation pane.
      2. Expand Develop, and then click API.
    2. On the API WSDL page, click the Generate Enterprise WSDL link.
      The WSDL is displayed in a new browser tab, and your current API version is present in the second line. For example:
      CopySalesforce.com Enterprise Web Services API Version 52.0
    3. Note down the API version.
  4. Identify your Salesforce instance type.
    1. If you use the URL https://login.salesforce.com to log in to your Salesforce account, your instance type is Production.
    2. If you use the URL https://test.salesforce.com to log in to your Salesforce account, your instance type is Sandbox.
  5. On your Salesforce instance, select an entity (Accounts in this case) to which change event notifications has to be generated. To select the entity,
    1. On the Salesforce Setup page:
      1. Scroll to the Build section in the left navigation pane.
      2. Expand Develop, then click Change Data Capture.
    2. On the Change Data Capture setup page, from the list of available entities, click Accounts, then click the right arrow icon.
    3. After selecting the entity, click Save.
  6. Create a custom field for Salesforce to store Workday_Customer_ID.

    This recipe uses unique IDs associated with Workday and Salesforce instances to synchronize accounts/customers.

    1. On the Salesforce Setup page:
      1. Scroll to the Build section in the left navigation pane.
      2. Expand Customize, then Accounts, and then click Fields.
    2. On the Account Fields page, scroll to the Account Custom Fields & Relationships section and click New.
    3. On the New Custom Field page:
      1. Find and select the Text radio button and click Next.
      2. Enter the following details for the new custom field:
        • Enter Workday_Customer_ID as the field label. Note that the field name is automatically populated based on the label you enter.
        • Specify the character length.
        • Optionally, enter a description for the new field.
        • Select the checkbox next to Set this field as the unique record identifier from an external system.
        • Click Next.
    4. On the Establish field-level security page, select the Visible check box in the header row to grant edit access to the new field for all profiles. Click Next.
    5. Leave all the layout check boxes selected and click Save.
      On the Account Fields page, you can see the new field added under the Account Custom Fields & Relationships section.
  7. Create custom fields under Salesforce opportunity object to store the WorkdayInvoiceId.
    To create a custom field for Salesforce opportunities.
    1. On the Salesforce Setup page:
      1. Scroll to the Build section in the left navigation pane.
      2. Expand Customize, then Opportunities, and then click Fields.
    2. On the Opportunity Fields page, scroll to the Opportunity Custom Fields & Relationships section and click New.
    3. On the New Custom Field page:
      1. Enter the following details for the new custom field:
        • Enter Workday_Invoice_Id as the field label. Note that the field name is automatically populated based on the label you enter.
        • Specify the character length.
        • Optionally, enter a description for the new field.
        • Click the checkbox next to Set this field as the unique record identifier from an external system.
        • Click Next.
        • On the Establish field-level security page, select the Visible check box in the header row to grant edit access to the new field for all profiles.
        • Click Next.
        • Leave all the layout check boxes selected and click Save.

          On the Opportunity Fields page, you can see the new field added under the Opportunity Custom Fields & Relationships section.

  8. Create custom fields for the platform events and update the apex trigger code in Salesforce for the integration Oracle Salesforce Workday OpportunityToInvoice Syn.
    To create the custom fields for platform events:
    1. On the Salesforce setup page, in the left navigation pane, navigate to Build, then Develop, then Lightning Components, and then to Platform Events.
    2. In the Platform Events page, click New Platform Event.
    3. In the New Platform Event page, complete the standard fields, and optionally add a description.
    4. For Publish Behavior, choose when the event message is published in a transaction.
      • Publish After Commit to have the event message published only after a transaction commits successfully. Select this option if subscribers rely on data that the publishing transaction commits. For example, a process publishes an event message and creates a task record. A second process that is subscribed to the event is fired and expects to find the task record. Another reason for choosing this behavior is when you don't want the event message to be published if the transaction fails.
      • Publish Immediately to have the event message published when the publish call executes. Select this option if you want the event message to be published regardless of whether the transaction succeeds. Also choose this option if the publisher and subscribers are independent, and subscribers don't rely on data committed by the publisher. For example, the immediate publishing behaviour is suitable for an event used for logging purposes. With this option, a subscriber might receive the event message before data is committed by the publisher transaction.
    5. Click Save.
    6. To add a field, in the Custom Fields & Relationships related list, click New.
    7. In the New Custom Field page, select the required Data Type, then click Next.
    8. Enter the following details for the new custom field:
      1. Enter the field label. Note that the field name is auto populated based on the label you enter.
      2. Specify the character length.
      3. Optionally, enter a description for the new field.
      4. Click the checkbox next to Always require a value in this field in order to save a record.
      5. Enter the additional details required for the respective fields, then click Save.

        You can see the new field added under the Custom Fields & Relationships section.

    9. Update the custom fields created for platform events in the apex trigger code.
      Download and view the code: ApexCode.

Configure Workday

To configure Workday, see Prerequisites for Creating a Connection in Using the Workday Adapter with Oracle Integration 3.

Configure Slack

To configure Slack, see Prerequisites for Creating a Connection in Using the Slack Adapter with Oracle Integration 3.