Salesforce

Exporting Community Data to Salesforce: integration FAQ and Tips

  • 11 August 2021
  • 2 replies
  • 1323 views

Userlevel 2
'

 

In this article you can learn about details of how the Salesforce export integration works, including which activities we sent to Salesforce, how we link Contacts and Community Members, and some of the limitations of the integration to keep in mind. A Technical FAQ is also available at the bottom of the article.

Details about how the Salesforce export integration works

 

Which community member activities can be pushed to Salesforce?

? Community activities supported by the Salesforce export

  • Community visited (recorded when a logged-in user starts or resumes a new session on the community. This is capped at maximum 1 community visit recorded every 30 minutes. In that way, it''s pretty similar to how a ''session'' is defined in tools like Google Analytics).

  • New topics (all include properties such as topic title, topic URL, and topic content. Only questions & conversations also include category)

    • Question asked

    • Conversation started

    • Idea submitted

  • New replies (all include properties such as topic title, reply URL, and reply content. Only questions, conversations, and articles also include category)

    • Question replied

    • Conversation replied

    • Idea replied

    • Article replied

  • Idea voted (includes properties: topic title, topic URL, and topic content)

  • New likes (includes properties: topic title, topic URL, and topic content. Replies also include reply content and reply URL)

    • Conversation liked

    • Question liked

    • Article liked

    • Conversation reply liked

    • Question reply liked

    • Article reply liked

    • Idea reply liked

  • New best answers 

    • Reply marked as best answer
      (aka ‘I marked a reply as the best answer, and the author of the answer was this person). The author of the best answer is recorded as the Contact/Account in the community member activity object in Salesforce. The community member who marked the reply as the best answer is recorded as the ‘community member’ in the community member activity object in Salesforce.

    • Question answered
      (aka ‘my question was answered’). This activity is recorded against the author of the original question in Salesforce (Contact/Account/Community Member).

:raising_hand:Community member fields supported by the Salesforce export

  • Community Member Name (username)
  • Registration date

?How does the integration match CC community members to Salesforce Contacts & Accounts?

In order to export data to Salesforce correctly, we import Contacts from Salesforce and try to match them with community members.

We match community members to Contacts in Salesforce if we can match them on email address (case insensitive). If we cannot match a community member’s email to a Contact in Salesforce, we do not create a new Contact, and we do not create a Community Member in Salesforce. If a new Contact is created for a Community Member that we couldn’t match before, then we’ll link the Contact on the next import (every 6 hours). Likewise if a new Community Member registers and there is a matching Contact.

However, a limitation is that historical community member activity data will not be sent to Salesforce for Community Members who are linked to Contacts. The platform only sends activities to Salesforce from the moment the user is linked.

What if there are multiple Contacts with the same email address in Salesforce / the Contact is associated with multiple Accounts?

If there are multiple Contacts with the same email address, we link to the first Contact found.

For Accounts, when we create the community member in Salesforce, we simply pull the current Account from the Contact and link it to the community member. If a Contact is related to multiple Accounts, we link to the first Account found.

What data is included on the Community Member & Community Member Activity objects?

?Community Member data

  • Account (Salesforce lookup)
  • Contact (Salesforce lookup)
  • Community Member Name (username)
  • UserId
  • Registration date

In addition, we include some rollup fields in our custom object which populate based on community member activities that are sent to Salesforce

  • Article replies
  • Conversation replies
  • Conversations started
  • Ideas submitted
  • Last ideation interaction date (idea voted/submitted)
  • Last post date
  • Last visit date
  • Question replies
  • Questions asked
  • Total visits
  • Total posts (replies + topics)

We do not currently push gamification data such as ranks, badges, or points to Salesforce. In addition, data about the groups a user has joined is also not sent to Salesforce.

? Community Member Activity data

  • Activity date
  • Request ID (unique ID to identify activity)
  • Contact (Salesforce lookup)
  • Account (Salesforce lookup)
  • Community Member (Salesforce lookup)
  • Topic URL (Public)
  • Reply URL (Public)
  • Topic Category Name
  • Topic Content (rich HTML)
  • Topic Title
  • Topic ID
  • Reply Content (rich HTML)
  • Topic Category ID

Moderator-generated community activity metadata is not currently sent to Salesforce (e.g. moderator tags, idea statuses).

Is it possible to choose only certain community member activities to be sent to Salesforce?

It is not currently possible to limit which activities are sent to Salesforce.

 

? Limitations of the Salesforce community data export integration

 

What are some limitations when reporting or triggering workflows based on community data in Salesforce using CC’s Salesforce export integration?

 

There are two key limitations to keep in mind when reporting or triggering workflows based on community data flowing into Salesforce:

Our integration requires a matching Contact in order to push community member activity into Salesforce.

That means you might have an incomplete picture of engagement when reporting in Salesforce, as there may be certain community members who are active on the community, but whose activity isn’t sent as they aren’t known in Salesforce as a Contact.

Some customers have achieved workarounds for this by adding an additional custom Zapier workflow to find/add Salesforce Contacts when new members join.

We don’t push historical community member activity to Salesforce

Only the last 10 minutes of community member activity will be retrieved when an existing Community Member is linked to a Contact. Even if a community member had a lot of activity before our platform matched them with a Contact, the activities will not be exported to Salesforce.

When it comes to ideation reporting specifically, here are some additional limitations you should take into account

We do not push idea statuses or idea status changes into Salesforce with the native integration. That means you can’t filter out delivered or closed ideas in Salesforce, which may not be relevant to your product team. In addition, when a moderator merges two ideas, the result of this action is also not propagated into Salesforce. That means you have to do extra work to find out e.g. the total ARR of an idea that had votes from another idea merged into it. Other metadata such as product areas and moderator tags are also not pushed to Salesforce, meaning you cannot segment reports based on product in Salesforce.

The limitation mentioned above also applies (historical community member activity is not pushed to Salesforce) - this could result in certain votes being missed and an incomplete picture of ideation engagement.

The Salesforce integration is useful for getting a general sense of the most popular ideas and also segmenting them by customer data like industry. It''s also good for zooming in on a particular idea to understand the business context behind it. But please do take the limitations above into account: the Salesforce export integration not a perfect solution when it comes to solving the problem of prioritising ideas using CRM data.

Some customers have achieved workarounds by combining our out-of-the-box Salesforce integration with custom Zapier workflows for bringing in the latest status of an idea.

 

? Technical FAQ

 

Does the CC store Salesforce Contact/Account IDs?

Yes - our platform stores Account and Contact IDs in CC after matching them with community members. We push activity data based on the Community Member user ID column, however (we don’t send data using Salesforce internal IDs).

What are the trigger conditions for Community_Member__c records to be created or updated from CC to SFDC?

  • First, we fetch all the Salesforce Contacts who are not yet linked to a Community Member (on first run this will be all contacts, on subsequent runs this number will be smaller).

  • When we receive a list of Contacts not linked to a Community Member in Salesforce, we take their email addresses and check them against user accounts on our platform.

  • For all the matching users we will create a Community Member object storing both the Contact and Account ID on the member, as well as adding some information from our own platform (like User ID, username, etc.).

  • Every 6 hours we will check our data to see if there are Community Member objects ready to be sent to Salesforce, and if so we send only the Community Members that were not previously added to Salesforce.

  • Community member records can be updated after they are created (e.g. if a Community Member record is created and the Contact didn’t have an Account → when an Account is added to the Contact, this will be updated on the Community Member record).

What are the trigger conditions for Community_Member_Activity__c records to be created or updated?

  • Every 10 minutes we check if there has been activity recorded for Community Members we have successfully linked to Contacts.

  • Since we store the data for Community Member Salesforce objects on our side, we know which users on our platform were linked to a Contact, and so which members we should send Activities for.

  • If a user has been active since the last time we sent Activity data to Salesforce, we will send the new data. We will only send Activity data from the moment at least one Community Member has been successfully sent to Salesforce.

  • The exact moments we send Activity objects to Salesforce are hard to predict, since user activity on the community is highly variable.

  • The pushing of Activity data happens based on the User ID field, which should be marked in Salesforce as an External ID. This is done so we don’t have to know the Salesforce internal IDs when pushing Activity data, we can just use our internal IDs which are already known to us.

  • Community Member Activity records are not updated once they are created.

What user permissions are needed for the integration to run successfully?

You’ll need to authenticate as a user with the following permissions in Salesforce. Please refer to our general installation instructions for installing the CC x Salesforce integrations, under the section ‘Prerequisites’.

Object

Object-level permissions

Field-level permissions

Contact

read

read: Id, Email, Account, LastModifiedDate, CreatedAt

Community
Member
Activity*

create read update delete

read: Account, ActivityDate, UserId, Contact, ReplyContent, RepyURLPublic, RequestID, TopicCategoryID, TopicCategoryName, TopicContent, TopicID, TopicTitle, TopicURLPublic

Community
Member*

create read update delete

read: ID, Contact, Email, Account

 

Is there any way to impose API quotas or limit the volume of data which is sent?

We do not currently offer a way to manage the frequency at which the data is synced, or a way to limit the volume of data synced into Salesforce.

What versions of Salesforce are supported?

We support the Enterprise/Unlimited/Performance versions of Salesforce.

'

2 replies

Hi Community & @daniel.boon thanks for this detailed article! My question is what are differences between what Salesforce is capturing versus inSided? For example, when I look at ‘Active customers’ (62) in the engagement platform of inSided, I see one number. When I create a segment of activity between the same dates, I get another number (104). When I go into that Salesforce report of activity between certain dates I see another number (97). Now I understand that not all contacts sync to Salesforce due to not being a contact yet and that it does not produce historical data so I expect to see disprenencies.

Our goal is figure out which platform is ‘our source of truth’ so looking for some other insights as to why the data numbers are different. It doesn’t look like ‘views’ are tracked in Salesforce so that could be one of them?

Any insights here are useful! 

Userlevel 1
Badge +1

Hi, hoping for a bit of support with this. We’ve configured the integration and see the fields above that are included with the Community Member Activity data object. However, we’re not seeing the ability to incorporate these, such as Topic Title or Topic URL, into a report or custom dashboard. Ideally, we’d like for our Salesforce users to see that a particular account or user has activity in the community, then see what/where that activity actually is. Am I missing something?

Reply