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.


  • 2
    In theory it's definitely possible. You should clarify the requirements: What information do you need to associate to this record? Do you want to make use of SFDC's social network capabilities? If so how? Sep 28, 2012 at 2:38
  • @jordan.baucke, I'm interested in the same capabilities that you have when you connect a contact to a facebook/linked in/twitter page, although I haven't used this functionality extensively yet, so I can't name individual features besides having the picture on the Salesforce page and having access to their feed. How can I connect these records to a social networking profile? Thanks! Sep 28, 2012 at 13:13
  • Quick question: why not just have a new Record Type on Contacts for cardholders? Is that feasible given your org's requirements?
    – Mike Chale
    Sep 29, 2012 at 21:02

3 Answers 3


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.

  • This is great news! Thanks for posting zachelrath. Perhaps I just didn't receive the most accurate information from premier support, but it was back in early summer and these things are constantly changing. In any case, I'm really glad to know this is now possible! Thanks again.
    – Adam
    Oct 8, 2012 at 20:49
  • I just verified this and realized that there is a downside. You still would require users to hand-enter (click the lookup icon and search for) users that you would like to see their social information, such as their Twitter handle. It's a step in the right direction, but still prevents strictly programmatic access. I thought that hopefully the junction object, once created, would allow you to populate the social data through it's custom lookup fields - from Apex. But once these are manually configured by users, having read access from Apex is better than nothing.
    – Adam
    Oct 8, 2012 at 21:10
  • Yes, I agree, the need for users to manually enter Social Contact/Account information, combined with the lack of API access, severely cripples the usefulness of this feature.
    – zachelrath
    Oct 11, 2012 at 10:50
  • This is not around anymore, any updates on this stuff?
    – Kris Moyse
    Dec 11, 2014 at 15:08

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 (Data.com) 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 Salesforce.com. 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 [email protected] 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.

  • Is there any update to this? We are doing a lot of custom dev and really need access to these objects.
    – Kris Moyse
    Dec 11, 2014 at 15:06
  • 1
    As of the current time October 2015 the SocialPersona and SocialPost objects are accessible via the standard Setup page options so custom fields, etc can be added.
    – Dave Humm
    Oct 6, 2015 at 13:50

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.

  • Not super surprising with SF offering their own lightweight integration built in but especially now with radian6 and buddy media... Sep 29, 2012 at 22:15
  • 1
    Adam, see my answer below --- your answer is not accurate. You can create Lookup fields to the Social Persona object and even add custom fields to it.
    – zachelrath
    Oct 8, 2012 at 17:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .