Find your content:

Search form

You are here

Is it possible to connect a social networking profile to a custom object record?


I have a custom object that represents a B2C customer, 'Cardholder', that I would like to connect to the cardholder's social networking profiles. Is this possible?

I am not using the Contact standard object because I also have a B2B aspect of my company that uses Accounts/Contacts.


Attribution to: jackerman09

Possible Suggestion/Solution #1

I'm the past PM that worked / owned the direction for the Social Post and Social Persona object. It's more of a collective of us though now since the Social Enterprise vision has kicked it up a couple notches. Sorry I didn't come on this thread sooner.

Basically all the information is right in different degrees as laid out above.

Historically during beta and before Radian6 was acquired, we had custom objects the Social_Media_Persona__c object and the Social_Media_Post__c object. Since the acquisition we've started to rebuild these objects, SocialPost and SocialPersona in core to make them standard objects. There was a hiccup at one point though around exposing these newly established objects via API to ensure terms of service compliance around the data being stored in the objects. Our intention is to make them standard and generally available. We haven't locked in on a release date yet though.

At the present time to see them from the UI layer you'll need to enable Social Accounts and Contacts. Then as a very sharp contributor above pointed out the Social Persona will be created in support of any Contact you make a social connection with (by clicking the Facebook or Twitter icon for instance). The idea here is the Persona as a child object of the Contact will contain the varying and different values we're able to acquire through various means, such as Social Key ( or the Social Hub (Marketing Cloud) or through your manual connection.

You'll require special permissions to gain access to those objects via the API because their not completely done and there will be changes to them over the next several major releases of So of course I'd caution you against creating any customization on those objects that runs too deep (beyond prototype) until such time as they are officially Generally Available and published in the API and aren't controlled by special permission access. (expect schema and column changes)

To achieve OP's use case I would suggest the use of the Persona object. The basic business justification behind that is because most of the internal social products are aligning around the use of the Persona object. As such using it will ensure if you bring any other social processes online you'll have a means to control / reduce / eliminate duplicate social contacts. I'd also suggest taking a closer look at the use of the custom object as the parent. Person Accounts are the generally used B2C approach. I suspect though with our companies foray into the social enterprise, to see some investment and attention around the B2C space in the releases to come at some point in the future and I would imagine some attention to improving "person accounts". By hitching your wagon to the Person Account you are more or less increasing the probability you'll be able to leverage B2C advantages and functionality for free (figuratively from a programming analogy) that are added to the platform as they're developed.

I should point something out though about the present schema; there is a native relationship control field called the "Who" field which establishes a parent look-up. The fact that this is currently limited to Leads and Contacts only may pose a slight challenge for you a little further down the line if you introduce additional social processes or start using Social Contacts. You may encounter a situation where a Contact w/ Persona could contain duplicate Persona and Custom Object data all which is really the same real social person. You'll want to mind that for data hygiene reasons.

I think it's a great feature request though to perhaps not require the Persona to need to be parented by a lead or contract and open the ability up for it to be parented by custom objects for the use case you have outlined. Further we should consider custom search and match logic to ensure that once you've instantiated this custom relationship that you can dictate to any other social process where we should be looking to potentially prevent duplicate creation (or at least a good effort based on the objects and fields you specify to look for unique social ids like a Twitter Author's Unique ID).

Hope this helps..

Edit: to gain access to Social Post / Persona via API / Apex you'll need to contact and again caution, they are not in a complete state, there will be changes to the relationships in the objects and the standard fields they contain, so I wouldn't do more than prototype on them until they are locked in on a G.A. state or at the very least don't tightly couple your apps to them. Please provide your Org ID to support and the use case you have in mind.

Attribution to: Geoff

Possible Suggestion/Solution #2

Once you have enabled Social Contacts and Accounts, you can create Lookup fields to the "Social Persona" object --- this becomes available as one of the target object types. Though this object is not exposed in the API, you can view its fields in the Setup tree, and even add Custom Fields, by going here:

Below I present pictorial proof:

(1) The Social Persona object in the setup tree

Social Persona object in Setup Tree

(2) Creating a Lookup to the Social Persona object

Making a Lookup field to the Social Persona object

As to the object's API accessibility, its API Name is "SocialPersona" --- I believe it was exposed in Spring 12, but was removed in Summer 12. If you don't believe me, try doing a SOQL query on the "SocialPersona" object --- you receive the error:

sObject type 'SocialPersona' is not supported.

which is distinct from the more extensive error thrown when an object does not exist on Salesforce:

sObject type 'Blah' is not supported. If you are attempting to use a custom object, be sure to append the '__c' after the entity name. Please reference your WSDL or the describe call for the appropriate names.

Attribution to: zachelrath

Possible Suggestion/Solution #3

Unless something has changed recently, there is no way to connect with the social networking data at all. I was very interested in this while developing our company's latest AppExchange app and pushed hard on support to get some way to access this data.

After having the issue escalated to someone with apparently the definitive answer, the result was a definite "NO." But things constantly change and I went through this process early in the summer, so it's possible that it's accessible now or will be soon.

Attribution to: Adam
This content is remixed from stackoverflow or stackexchange. Please visit

My Block Status

My Block Content