How do you add a custom social profile in Contacts on macOS?
How do you add a custom social profile in Contacts on macOS? On iOS, you can add a custom social profile: However, on macOS I only see this:
Also, I organised my contacts on iOS. For most contacts, I have one card in iCloud and one in Exchange and in the iCloud one I have a lot of custom social profiles. I linked them but they weren't linked on macOS so I linked them, but the label was called "profile". On iOS, the label was changed to "Social profile".
This was all working when I linked contacts using iOS.
While tedious and a little annoying, you can export the contact card, edit it manually in a text editor, and then import it back into contacts.
Select on the contact you want to change, then go to File → Export → Export vCard…. Open the vcf
file in a text editor such as TextEdit.
You’ll see a file that looks something like this:
BEGIN:VCARD
VERSION:3.0
PRODID:-//Apple Inc.//Mac OS X 10.15.6//EN
N:Last;First;;;
FN:First Last
END:VCARD
To add a custom social profile, add this before END:VCARD
, replacing Service
with the social profile service (e.g. Twitter) and username
with the contact's username:
X-SOCIALPROFILE;type=Service:x-apple:username
To use special characters, such as :
or ;
, in the service, put it in quotation marks ("
). (To use a "
use ^"
and use ^^
for ^
.) However, these will not display correctly and show up as “profile” in the Contacts app.
To use special characters in the username (including spaces), use the URL encoding.
For example, if you want to add the username “first_last123” for the service “Foo bar”, and the username “with space” for the service “Special:characters"^”, the file may look like this:
BEGIN:VCARD
VERSION:3.0
PRODID:-//Apple Inc.//Mac OS X 10.15.6//EN
N:Last;First;;;
FN:First Last
X-SOCIALPROFILE;type=Foo Bar:x-apple:first_last123
X-SOCIALPROFILE;type="Special:characters^"^^":x-apple:with%20space
END:VCARD
You can now import this VCF file into Contacts.
Alternatively, you could use AppleScript:
tell application "Contacts"
-- theContact is a contact
make new social profile at theContact with properties {service name:"Service", user name:"Username"}
save
end tell
Here's a script you could run to add a custom social profile to the selected contact:
tell application "Contacts"
set selectedContacts to selection
if (count selectedContacts) is not 1 then
display alert "Please select 1 contact to modify."
return
end if
set theService to (display dialog "Service?" default answer "")'s text returned
set theUsername to (display dialog "Username?" default answer "")'s text returned
make new social profile at selectedContacts's first item with properties {service name:theService, user name:theUsername}
save
end tell