Apple App Store Channel - Configuration Guide

This document is a configuration guide for integrating Expertflow CX with Apple App Store app reviews. This guide is for developers and system administrators who will install, configure, and maintain this integration in your environment.

By following this guide, you will configure Apple App Store as a channel in Expertflow CX and connect it to your iOS application so that you can manage and reply to reviews from within CX.

Prerequisites

  1. Ensure you have successfully completed Helm-Based EFCX Deployment

  2. After your system administrator completed Apple App Store - Onboarding Guide, and set up your API key with the necessary permissions, you should have the following details:

    1. Apple App Store Connect API access with "Customer Support" role

    2. Private Key file (.p8 file) downloaded from App Store Connect

    3. Issuer ID from App Store Connect API Keys section

    4. Key ID from App Store Connect API Keys section

    5. App ID (your application's unique identifier in App Store Connect)

    6. App Name (your application's display name)

Unified Admin Configuration

This section outlines the procedure for setting up the Apple App Store Channel.

  1. Open Unified Admin

  2. Click on Channel Manager dropdown to setup the further configurations:

Setup Channel Type

  1. Apple Store channel type should already be shown in the list here as out-of-the-box Channels as "APPLE_STORE". If not please add one.

  2. Select the MRD as CHAT.

  3. Upload the icon (if not already uploaded).

  4. Save.

image-20260224-093459.png
Channel Type - Unified Admin

Setup Channel Provider

It's recommended to use the service name of the component in the "Channel Provider -> Provider's Webhook" field. However, FQDN can also be used with some additional custom configurations.

  1. Set a name i.e. Apple Store Provider.

  2. Select Channel Type as APPLE_STORE.

  3. In Provider Webhook, enter the service name of the Apple Store Connector as: http://{SERVICE-NAME}:{SERVICE-PORT}. Replace the {SERVICE-NAME} and {SERVICE-PORT} in the URL with the component's k3s-based service name and port (It can be fetched using kubectl get svc -n expertflow)

    Example: Set the "Provider Webhook" field as http://cx-channels-apple-store-connector-svc:8080

  4. Add the following 5 attributes as Custom Attributes, by clicking Add Custom Attribute button, and replace the dummy value "New attribute1.." in the attribute field with:

    1. APPLE_ISSUER_ID and select data-type as String(100)

    2. APPLE_KEY_ID and select data-type as String(50)

    3. APPLE_PRIVATE_KEY and select data-type as String(2000)

    4. APPLE_APP_ID and select data-type as String(50)

    5. APPLE_APP_NAME and select data-type as String(100)

  5. Add the following permissions related attributes as Custom Attributes

    1. LIKE_SUPPORT_SM and select data-type as "Boolean"

    2. HIDE_SUPPORT_SM and select data-type as "Boolean"

    3. DELETE_SUPPORT_SM and select data-type as "Boolean"

    4. ALLOW_VIEW_FULL_POST_SM and select data-type as "Boolean"

    5. PRIVATE_REPLY_SUPPORT_SM and select data-type as "Boolean"

    6. COMMENT_REPLY_SUPPORT_SM and select data-type as "Boolean"

    7. EDIT_MESSAGE_SUPPORT_SM and select data-type as "Boolean"

  6. Save.

image-20260224-093840.png
Channel Provider - Unified Admin

Setup Channel Connector

  1. Set any name i.e. My App Store Connector.

  2. Select Channel Provider as "Apple App Store Provider".

  3. In APPLE_ISSUER_ID field, insert the Issuer ID from your App Store Connect API Keys page (UUID format, e.g., c27c3a80-7466-44fe-8306-e66863045e22)

  4. In APPLE_KEY_ID field, insert the Key ID from your App Store Connect API Keys page (10-character string, e.g., WFP99R4RDA)

  5. In APPLE_PRIVATE_KEY field, insert the complete private key content from your .p8 file.

    1. Important: Unified Admin stores the key as a single line, make sure to convert it to single line using escaped newlines:
      Before:

      -----BEGIN PRIVATE KEY-----
      xNi1LcP6TzM9CFxHZmJad9kkJ9f0dSftFgM6q410NcfIBHoyYXQSNeUwxrOM4bdG
      4NDc3geOPtiRUEIQKDoxEUvbzo9oPqIHMZnetwFiEy7oKb6J6P0QeEyMLzmKH53H
      Pjqyf4h2PegruJus5Jj0hMcYnEmgR1buWeoEcQAYCUnUSLu2lqKYfhhofiabVNZL
      eGpH58N3mBO
      -----END PRIVATE KEY-----
      

      After:

      -----BEGIN PRIVATE KEY-----\\nxNi1LcP6TzM9CFxHZmJad9kkJ9f0dSftFgM6q410NcfIBHoyYXQSNeUwxrOM4bdG\\n4NDc3geOPtiRUEIQKDoxEUvbzo9oPqIHMZnetwFiEy7oKb6J6P0QeEyMLzmKH53H\\nPjqyf4h2PegruJus5Jj0hMcYnEmgR1buWeoEcQAYCUnUSLu2lqKYfhhofiabVNZL\\neGpH58N3mBO\\n-----END PRIVATE KEY-----
      
  6. In APPLE_APP_ID field, insert your App Store app's unique identifier (e.g., 4478665531)

  7. In APPLE_APP_NAME field, insert your App Store app's display name (e.g., My Awesome App)

  8. Set the values of Permissions related custom attributes to:

    • LIKE_SUPPORT_SM: false

    • HIDE_SUPPORT_SM: false

    • DELETE_SUPPORT_SM: false

    • ALLOW_VIEW_FULL_POST_SM: true

    • PRIVATE_REPLY_SUPPORT_SM: false

    • COMMENT_REPLY_SUPPORT_SM: true

    • EDIT_MESSAGE_SUPPORT_SM: false

  9. Save

Setup Channel

  1. Click on Apple App Store to expand the panel and click on "Add new Channel".

  2. Set a name i.e. My App Reviews Channel.

  3. Set Service Identifier as your app's App ID that you have used in APPLE_APP_ID while setting up Channel Connector.

    Example: 1234567890

  4. Select the Bot from the drop down list.

  5. Select the connector name you have created i.e. "My App Store Connector" from Channel Connector drop down list.

  6. Set any value in seconds as Customer Activity Timeout(sec). (You can change it as per your need. Normally it would be 3600sec (1 hour) for reviews)

  7. Set Channel Mode as HYBRID.

  8. Set Routing Mode as PULL or PUSH.

  9. Set Queue or List (As required based on PUSH or PULL mode).

  10. Set Agent Selection Policy as LONGEST AVAILABLE.

  11. Set any value as Agent Request TTL (sec). (You can change it as per your need. Normally it would be 300sec (5mins))

  12. Save.

image-20260224-094000.png
Channel - Unified Admin

The connector uses an automatic discovery mechanism. Once the channel is configured in Unified Admin, the connector will automatically detect it during the next polling cycle by querying CCM for channels with channel type "APPLE_STORE". No additional webhook setup is required as the connector proactively fetches its configuration from CCM.