service-de-headless-channel-configure
Installation
SKILL.md
Headless Channel Setup (type-agnostic)
What this skill does
Takes a channel type (WhatsApp | Line | AppleBusinessChat | Facebook | Text) plus its type-specific inputs and drives it to an activated MessagingChannel. It first gates on the Enhanced Messaging Terms and Conditions, then runs four steps:
- Accept Terms and Conditions — renders the Enhanced Messaging disclaimer and requires the user to certify they have authority to bind their org, mirroring the in-org "Add a Channel" wizard. Blocking — a decline ends the run before any org work. (Stage 0.5, in this skill)
- Insert the channel — invokes
service-de-channel-create, which handles the per-type third-party prereq internally (e.g. WhatsApp'sservice-de-waba-integrateruns insideservice-de-channel-create). (skill:service-de-channel-create) - Configure routing — sets
SessionHandlerIdto an Omni-Channel Queue (pick existing or create new). Message-type-agnostic. (skill:service-de-channel-routing-configure) - Configure consent — ensures a valid
ConsentType+ matchingMsgChannelLanguageKeywordrecord. The Connect insert auto-seeds a defaultConsentType=ImplicitOptIn+ opt-out keyword, so on a fresh channel this step is frequently a no-op — or an upgrade if the caller wants ExplicitOptIn/DoubleOptIn. Activation's readiness check requires both routing AND consent, so this runs before activation. (skill:service-de-channel-consent-configure) - Activate — PATCHes
MessagingChannelUsage.DeploymentStatustoProvisioningvia REST; the server-side save-hook drives the full observer chain synchronously and returns 204 once the MCU reachesActiveandMessagingChannel.IsActive=true. Message-type-agnostic. (skill:service-de-channel-activate)
Resume-by-default. Each step is idempotent — if you re-run after a failure, the orchestrator detects existing state and skips steps that already succeeded.
Prompt mid-flow. If {MESSAGE_TYPE} isn't in the initial request, the orchestrator asks upfront. Routing choices (pick queue / create new) are prompted when step 2 runs, not upfront — keeps leaf skills self-contained.