ProvidersProviders

Providers

The providers Koil serves, and how provider content is named across the API.

Every provider below is generated from the same catalog GET /v1/providers serves, so a provider appears here exactly when the API serves it. Each provider's page lists its content types, what you can do with each, the events they emit, and the args each publish takes.

ProviderAuth providersSurfaces and resources
Facebook (facebook)facebookdm (messages, threads); media (comments, items, mentions); stories (items)
Google Business Profile (google_business_profile)google-business-profilelocations (review_replies, reviews)
Instagram (instagram)facebook, instagramdm (messages, threads); media (comments, items, mentions); stories (items)
LinkedIn (linkedin)linkedinfeed (comments, items, mentions, reactions)
TikTok (tiktok)tiktok-accountsdm (messages, threads); posts (comments, items, mentions)
WhatsApp (whatsapp)facebookdm (messages, statuses)
YouTube (youtube)youtubevideos (comments, items)

What a given Connected Profile can do also depends on the scopes its grant carries and the provider account type; GET /v1/connected-profiles/{connectedProfileId}/capabilities answers for one profile.

Naming

Koil names provider content the same way on every provider:

  • Provider — the upstream platform: instagram, facebook, youtube.
  • Surface — a product area a user of that platform would recognize: media, dm, videos, posts.
  • Resource — a collection inside a surface: items, comments, messages, mentions.
  • Content type — {provider}.{surface}.{resource}, such as instagram.media.items. It is the path segment of content reads (/v1/content/{contentType}), the contentType of a publish request, and the middle of every content event topic (content.{contentType}.{action}).
  • Variant — a subtype inside a content type, such as feed or reel, chosen when you publish.

Surfaces follow the provider rather than forcing one vocabulary: TikTok's are posts and dm because that is what TikTok calls them, and YouTube's is videos. A comment or mention always names the content it hangs off as mediaExternalId, on every provider, so an inbox spanning providers reads one field.

On this page