Skip to main content
Share the bot account’s native iMessage contact card (name + photo) with the chat. iMessage-only, remote-only. space.send(nativeContactCard()) is the canonical form; space.shareContactCard() is sugar attached via PlatformDef.space.actions (only typed on PlatformSpace<IMessageDef>). This is an explicit, on-demand share and always fires — unlike the automatic best-effort share gated behind the imessageSynced project profile, which dedupes to once per chat per 24h (see remote/contact-share.ts). Works in both DMs and group chats; the recipient chooses whether to accept the card. ContactCard is intentionally not a member of the universal Content union — the as unknown as Content cast keeps the builder shape compatible with the framework’s ContentBuilder.build(): Promise<Content> signature. The framework treats it as a fire-and-forget control signal at runtime.

Returns

ContentBuilder