FabricFabricHarness
EcosystemChannels

Channels

Signed event ingress and outbound tools for persistent agents.

Channels verify provider webhooks, normalize an event, derive a stable conversation key, and dispatch it to a persistent Fabric agent. Provider event IDs become dispatch IDs for deduplication, while tenant and actor identity flow into the audit trail.

pnpm add @fabric-harness/channels @fabric-harness/sdk
ChannelStable instance keySupport
DiscordGuild/channel/threadFirst-party adapter
Facebook MessengerPage/senderFirst-party adapter
GitHubRepository/issue or PRFirst-party adapter
Google ChatSpace/threadFirst-party adapter
IntercomWorkspace/conversationFirst-party adapter
LinearOrganization/issueFirst-party adapter
Microsoft TeamsTenant/conversation/threadFirst-party adapter
NotionWorkspace/page or databaseFirst-party adapter
ResendTenant/emailFirst-party adapter
Salesforce Marketing CloudBusiness unit/contact or sendFirst-party adapter
ShopifyShop/resourceFirst-party adapter
SlackTeam/channel/threadFirst-party adapter and example
StripeConnected account/customer or payment resourceFirst-party adapter
TelegramBot/chat/topicFirst-party adapter
TwilioAccount/sender/recipientFirst-party SMS and WhatsApp adapter
WhatsAppBusiness account/phone/senderFirst-party Meta Cloud API adapter
ZendeskAccount/ticketFirst-party adapter
Generic webhookCaller-provided conversation IDDirect fh add channel webhook scaffold

First-party means Fabric owns the provider adapter, runs it through the shared Node and edge-safe channel contract, and publishes a dependency-aware fh add channel <name> recipe.

Package and version policy

Adapters are dependency-free @fabric-harness/channels/<name> subpaths implemented with Fetch and Web Crypto. An adapter becomes a separate package only when a required provider SDK, runtime incompatibility, or independent release cadence makes that necessary. Import channelCompatibility from @fabric-harness/channels/compatibility for the machine-readable API matrix. Deprecated adapters receive at least 180 days of notice and are removed only in a major release.

Channels dispatch to .fabricharness/agents/, not finite jobs. See Persistent agents for the durable submission model.