Write

set_social_links

Replaces the full list of social links on an outline with the provided array of platform/URL pairs, or clears them all by passing an empty array.


Parameters

NameTypeRequiredDescription
outlineIdstringID of the outline to update. Omit to target the authenticated creator's own outline.
linksarrayYesFull replacement list of social links. Each element needs a url (must use https:// or http://) and may include a platform (numeric social-icon id from list_social_icons) and an includeInStructuredData flag. Pass an empty array to clear all social links.
links[].platformstringNumeric id of the social icon, as a string. Optional — omit it to auto-assign the icon from the URL (e.g. an instagram.com link gets the Instagram icon). When provided it must be a valid integer id returned by list_social_icons; a non-integer string fails validation before any write occurs.
links[].urlstringYesFull URL for the social profile (https:// or http:// only). Validated as a URL at input.
links[].includeInStructuredDatabooleanWhether this link appears in the profile's sameAs[] structured data (JSON-LD). Optional — omit it to preserve the existing flag for a link with a matching url (new links default to false). Pass true or false to set it explicitly.

Response

FieldTypeWhat it means
outlineIdstringThe ID of the outline that was updated.
socialLinksarrayThe resolved links that were saved — each element has platform (the string icon id, including any auto-assigned from the URL), url, and the persisted includeInStructuredData flag (including any preserved from existing links).

Example

Request

json
{ "outlineId": "42", "links": [ { "platform": "3", "url": "https://instagram.com/janedoe", "includeInStructuredData": true }, { "platform": "7", "url": "https://tiktok.com/@janedoe" } ] }

Response

json
{ "outlineId": "42", "socialLinks": [ { "platform": "3", "url": "https://instagram.com/janedoe", "includeInStructuredData": true }, { "platform": "7", "url": "https://tiktok.com/@janedoe", "includeInStructuredData": false } ] }

When to use

Call after the outline's stacks and cards are in place, as part of the identity-finishing step (step 5 in the create→curate→optimize loop), just before set_seo and publish. Also call whenever the creator updates or adds a social profile handle.


Gotchas

Watch out

  • Always call list_social_icons first — platform must be a valid numeric id string from that tool's response; guessing icon ids will either fail validation or silently write NULL to the database.
  • This tool does a full replacement, not a merge — omitting an existing link removes it. Read current links before calling if you want to preserve any.
  • includeInStructuredData is preserved per-link by matching url: re-sending a link without the flag keeps whatever the creator already chose. To turn it off you must pass false explicitly — omission never clears it.
  • The platform field is typed as string in the input schema but must be parseable as a positive integer; non-numeric strings (e.g. ‘instagram’) return a VALIDATION_ERROR.
  • Pass an empty array [] to intentionally clear all social links — there is no separate delete operation for individual links.