External web link that opens in browser
Display text for the link button
URL to open when clicked
Video conferencing link with provider-specific handling
URL to join the conference
Conferencing provider for UI customization
Authentication link that initiates an OAuth flow
Display text for the auth button
OAuth provider (e.g., "google", "microsoft")
Authorization level ("user" or "priority")
Array of OAuth scopes to request
Callback token for auth completion notification
// External link - opens URL in browser
const externalLink: ActivityLink = {
type: ActivityLinkType.external,
title: "Open in Google Calendar",
url: "https://calendar.google.com/event/123",
};
// Conferencing link - opens video conference with provider info
const conferencingLink: ActivityLink = {
type: ActivityLinkType.conferencing,
url: "https://meet.google.com/abc-defg-hij",
provider: ConferencingProvider.googleMeet,
};
// Integrations link - initiates OAuth flow
const authLink: ActivityLink = {
type: ActivityLinkType.auth,
title: "Continue with Google",
provider: AuthProvider.Google,
level: AuthLevel.User,
scopes: ["https://www.googleapis.com/auth/calendar.readonly"],
callback: "callback-token-for-auth-completion"
};
// Callback link - triggers a twist method
const callbackLink: ActivityLink = {
type: ActivityLinkType.callback,
title: "📅 Primary Calendar",
token: "callback-token-here"
};
Represents a clickable link attached to an activity.
Activity links are rendered as buttons that enable user interaction with activities. Different link types have specific behaviors and required fields for proper functionality.