Facebook Page and SAP Cloud for Service Integration: App Review and Permissions Change with Graph API 7.0
Disclaimer: The aim of this document is to provide a better understanding of the Facebook App Review procedure with regard to Facebook and SAP Cloud for Service (C4S) integration. It replaces the old blog and reflects Facebook permissions change with Graph API 7.0. It is not the product documentation and the content included here may get updated over time. Meanwhile, be noticed, the information provided does not guaranty the app review approval from Facebook review. Customers are responsible for the continuity of apps and its contract with Facebook.
SAP Cloud for Service (C4S) supports a company’s service agent to directly reply from C4S to the Facebook user who makes posts, comments or direct Messenger conversation to the company’s Facebook page. A Facebook page is owned by a Facebook account. A page owner can grant access to a 3rd party Facebook app, allowing it to interact with that page on the owner’s behalf. This is how the C4S and Facebook integration works.
While in Development mode, apps are automatically approved for all login permissions, features, and product-specific features. You can test your integration with C4S. But before you go live with your app, you will need to request some special Facebook permissions in order to integrate with C4S. These additional permissions will require your Facebook app to pass an App Review.
With Graph API version 7.0, some Facebook permissions have been deprecated. After June 1, 2020, manage_pages and publish_pages will no longer be available in the App Review > Permissions and Features selection in the App Dashboard when you manage your Facebook App.
Apps that have already been approved for manage_pages or publish_pages, or both, will be migrated to the new permissions by June 1, 2020.
Please refer to this link from Facebook for more information about the changes.
SAP Cloud for Service has accommodated the changes.
So, for any new app to be integrated with SAP Cloud for Service after V7.0, The following permissions are subject to review:
- pages_manage_metadata: Required for subscribing and receiving webhooks about activity on the Page.
- pages_read_engagement: Required for reading content posted by the Page and reading followers data, and profile picture.
- pages_read_user_content: Required for reading user generated content on the Page..
- pages_show_list: Required for listing a user’s pages.
- pages_manage_posts: Required for publishing posts.
- pages_manage_engagement: Required for publishing comments, and like Pages managed by the app user.
- pages_messaging: Required for sending and receiving messages.
Please refer to this link from Facebook for the app review process.
As the reviewer needs to log into your C4S tenant to test the integration, so before you make the app review submission, you should follow this help center document to set up your Facebook app, and integration with C4S tenant. Note: This is only possible when your Facebook app is not in live mode. Your app can only use permissions and features that it has been approved for. This means you will be unable to test usage of any unapproved permissions or features.
While creating your Facebook App, you should pay special attention to the following points:
1).Maintain the App Domains and Website:
2).You have to make sure the valid OAuth Redirect URIs is maintained, the url is like this: https//myXYZ.crm.ondemand.com/sap/byd/oauth/facebook
If this is not correctly maintained, when the reviewer test your integration, they will receive the following error message:
3).For page_messaging, you should add Messenger to Products section first.
3.1 Where to submit the app review request
- You sign into your app’s dashboard. Click App Review. Then click Permissions and Features.
- Search for required permissions and click Request.
- All requests will be displayed in the Requests section.
3.2 Provide verification details
Under App Review, navigate to Requests section. Then click Edit Request. Provide verification details by clicking the blue arrow icon in the Provide Verification details row.
Make selections like below.
Meanwhile, in the input box of the screenshot above, try entering the following (Note: the XXX needs to be replaced with your tenant and app specific value) :
“The permission is needed to integrate with CRM system SAP Cloud for Service. In order to test the integration, follow the steps below. Please use the following url and credentials for the test.
- Log on to SAP Cloud for Service system vial this URL using user XXX and pwd XXX.
- Click the “>>” icon at left bottom to expand the navigation pane. Follow the steps mentioned in the View and Edit Facebook Channels section in the Solution Guide for SAP Service Cloud to view the configured channel XXX. Then jump to step 5.
- Alternatively, you can follow the steps mentioned in the Set Up Facebook Social Media Channel section to setup the connection between C4S and Facebook. For the App ID and App secret to be entered: App ID: XXX App Secret. Note(To be deleted when submitting request): As Facebook App in development mode are automatically approved for all login permissions, and product-specific features. If the app to be reviewed is still in development mode, you can submit its app ID and secret to reviewer, they should be able to test the integration. If the app to be reviewed is already live, and you are just requesting for additional permission, Facebook suggest you use a test app for test.
- When you click Connect with Channel, the Facebook developer account for this app to retrieve Facebook pages is required. User Name: XXX Pwd:XXX. Note: the system needs the pages_show_list permission, in order to retrieve a list of Facebook pages. Otherwise the system gives the error message. Note (To be deleted when submitting request): The reviewer might log in with their own developer account, and create a test page, but you might as well provide a test developer account just in case.
- Follow the Create Social Media Message Import Run section in the above solution guide. This is to import historic recent posts, comments and messages from the Facebook page.
- In the navigation pane at left side, go to Service > Social Media Messages. You should now be able to see a list of social media messages. If the list is empty, choose the view “All Messages”. Locate one of the messages which channel type is Facebook and channel is the one you created. Click its Associated Ticket ID to open the ticket.
- Switch to Social Interactions tab to view the conversation for the social post. You can respond to the post or comment by writing a message and click Send.
3.3 Explain how you’ll use the permissions
In the Requested Permission and Features section, click the blue arrow for a permision. See the screenshot below.
It opens up a screen as shown below.
The following explanations about how each permission is used are for your reference. You can enter description based on them in the input box for respective permission.
pages_manage_metadata: The permission is requested to integrate Facebook with our CRM system, SAP Cloud for Service (C4S) system. The permission is required by C4S to subscrib and receive webhooks about new posts and comments activities on the Page.
pages_read_engagement: The permission is requested to integrate Facebook with our CRM system, SAP Cloud for Service (C4S) system. The permission is required by C4S to read content posted by the Page and reading followers data, and profile picture. C4S programmatically retrieves the public posts and comments on the Facebook page. The retrieved posts and comments are created as service tickets in C4S so that service agent can follow up on them, e.g. by responding to the post/comment.
- A batch job is scheduled to execute one time to pull initially recent posts and comments from the Facebook page.
- A batch job is scheduled on a regular basis to pull new posts and comments from Facebook page.
pages_read_user_content: The permission is requested to integrate Facebook with our CRM system, SAP Cloud for Service (C4S) system. The permission is required by C4S to read Facebook user generated content on the Page so that service agent can have a better understanding on the Facebook user.
pages_show_list: The permission is requested to integrate Facebook with our CRM system, SAP Cloud for Service (C4S) system. The permission is required by C4S to list a user’s pages so that the administrator of C4S can choose which ones will be configured and integrated with C4S.
pages_manage_posts: The permission is requested to integrate Facebook with our CRM system, SAP Cloud for Service (C4S) system. The permission is required by C4S to allow service agent to publish broadcast support messages via posts on the Facebook page.
pages_manage_engagement: The permission is requested to integrate Facebook with our CRM system, SAP Cloud for Service (C4S) system. The permission is required by C4S to allow our service agent to respond to Facebook users’ posts via comments. It also allows service agent to like a Page post in order to engage with Facebook users.
Page_Messaging: The permission is used for business integration with our CRM system, SAP Cloud for Service (C4S) system. There is no chatbot involved. The service agent can only manually reply to the messenger message in C4S after the message is imported to the C4S system. In the C4S system, the Messenger conversation is retrieved via scheduled batch job, and the message will be created as a service ticket. In the service ticket, the service agent can manually reply to the messenger conversation which will be shown to the Facebook user.
For the screencast, you can make a screencast in a C4S system that integrates with a Facebook app that is still in development mode.
3.4 Complete app setting
Before you can submit the request, you should review your app settings.
When you get the approval of the requested permissions, you should set the App to live mode in order to access live data. Meanwhile, business verification shall be done, also related contracts shall be signed per Facebook’s request.