service-de-channel-activate

Installation
SKILL.md

Activating a Messaging Channel

What this skill does

Given a {CHANNEL_ID}, reads the channel's MessagingChannelUsage.Id, then fires PATCH /services/data/v{V}/sobjects/MessagingChannelUsage/{MCU_ID} with body {"DeploymentStatus":"Provisioning"}. The server-side chain:

  1. MessagingChannelUsageFunctions.validateBeforeSave runs validateDeploymentStatusvalidateChannelReadinessOnProvisioning. For WhatsApp this confirms consent is configured. Rejected writes return HTTP 400 FIELD_INTEGRITY_EXCEPTION.
  2. MessagingChannelUsageFunctions.saveHook_PostStmtExecuteOnce fires unconditionally after the UPDATE statement. It calls MessagingChannelUsageFunctionsHelper.handlePostSave which registers a post-commit TransactionObserver.
  3. At commit, the observer calls ConversationChannelUsageDeploymentStatusService.handleProvisioning (inherited from AbstractChannelUsageDeploymentStatusService), which:
    • Calls runProvisioningswitch-dispatches by MessageType for the external callout:
      • WHATS_APPregisterCsotWhatsAppNumberLiveMessageSetupApi.registerWhatsAppNumber → Meta /register + status verification. 15-21s wall-clock.
      • FACEBOOKmetaGraphApiService.subscribeFacebookPage.
      • TEXTregisterCsotSms.
      • AppleBusinessChat, Line, everything else → default branch, no external callout, no network wait.
    • On success: writes DeploymentStatus = 'Active' via PLSQL.
    • On failure: writes DeploymentStatus = 'Error' plus ErrorReason / ErrorDetails.
  4. Inside the same observer, a second pass syncs MessagingChannel.IsActive = true once MCU reaches Active (the isTransitioningStatus flag skips the flip while status is still Provisioning).

All synchronous within the PATCH request — the 204 response only comes back after the full chain completes. WhatsApp: ~15-21s (Meta /register round-trip). Apple / Line: ~1s (no external call; just the local save-hook + observer + PLSQL write). Verified on wadtesting 2026-04-30.

Installs
598
GitHub Stars
991
First Seen
Aug 28, 2026
service-de-channel-activate — forcedotcom/sf-skills