Optionalsource?: stringCanonical ID for the item in an external system. When set, uniquely identifies the link for the user. This performs an upsert.
Optionalsources?: string[]Canonical identifiers for this item. Any element shared with another
link's sources bundles the two links into the same thread. Used for
cross-connector bundling — e.g. a meeting-notes connector setting
["granola:<id>", "icaluid:<uid>"] to attach onto a calendar event
thread that includes icaluid:<uid> in its own sources.
Optionalauthor?: NewActorThe person that created the item. By default, it will be the twist itself.
Optionalassignee?: NewActor | nullThe person assigned to the item.
Optionalaccess?: ThreadAccessLevelThread access level: "public", "members" (default), or "private". When "private", thread visibility is limited to the creator and contacts in accessContacts.
OptionalaccessContacts?: NewContact[]Contacts who can see a private thread. Pass email-based NewContact objects; they are resolved to contact IDs by the API. If omitted for a private thread, defaults to the connection owner.
Optionalunread?: booleanWhether the thread should be marked as unread for users.
Optionalarchived?: booleanWhether the thread is archived.
Optionalfocus?: Pick<Focus, "id">Explicit focus (disables automatic focus matching). Only used when the link creates a new thread. When omitted, the server classifies the thread using the user's focus rules.
Type for creating new links.
Links are created by sources to represent external entities. Requires a source identifier for dedup/upsert.