Skip to content
Development
Skill

/service-de-waba-integrate

Confirm the customer's WhatsApp Business Account is shared with Salesforce on Meta's side. Pure instruction + one user-confirmation prompt — no API calls, no token handling. The actual sharing happens in Meta Business Suite (UI-only; Meta provides no Graph endpoint to automate

From plugin
forcedotcom-sf-skills-2
998200 skills2 agents14 commands3 MCP
Install
$ npx -y skills add forcedotcom/sf-skills --skill service-de-waba-integrate --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/service-de-waba-integrate

Context preview

The summary Claude sees to decide when to auto-load this skill.

Confirm the customer's WhatsApp Business Account is shared with Salesforce on Meta's side. Pure instruction + one user-confirmation prompt — no API calls, no token handling. The actual sharing happens in Meta Business Suite (UI-only; Meta provides no Graph endpoint to automate

SKILL.md

service-de-waba-integrate.SKILL.md
name: service-de-waba-integrate
description: "Confirm the customer's WhatsApp Business Account is shared with Salesforce on Meta's side. Pure instruction + one user-confirmation prompt — no API calls, no token handling. The actual sharing happens in Meta Business Suite (UI-only; Meta provides no Graph endpoint to automate this step). Renders step-by-step instructions with Salesforce's Business Manager ID substituted in, then asks the user to confirm whether \"Salesforce\" appears in the WABA's Partners list."
metadata:
  version: "1.0"
  minApiVersion: "67.0"
  domains: ["Service"]
  relatedSkills:
    - "service-de-channel-create"

Linking a WABA to Salesforce

What this skill does

Gets the customer from "I have a WABA" to "my WABA is linked to Salesforce" — entirely by instruction. Meta intentionally gates this behind the human-approval UI at business.facebook.com; there's no Graph write endpoint that scripts the partnership. The two GET endpoints that would let us probe state (`/{waba-id}/subscribed_apps`, `/{waba-id}/assigned_users`) need a Meta access token with `whatsapp_business_management` scope that the customer would have to generate — a bigger ask than just "check your Partners tab."

So the skill is 100% instruction rendering + one confirmation prompt. No API calls. No SF DB writes. No Meta tokens.

After this skill returns success, downstream insertion (`service-de-channel-create`) can proceed: the SF-side `setupLiveMessageChannelEnhanced` path doesn't require us to have proven the partnership — it'll fail with a clear Meta-precondition error if the customer lied, and our skill trusts the customer's confirmation.

When NOT to use this skill

  • **You've already confirmed the partnership on a previous run.** The orchestrator's resume logic doesn't short-circuit Stage 1 (no cheap SF-side probe exists), so this skill always runs — but it's just text + a prompt, no round trip.
  • **You're inserting a non-WhatsApp channel.** Line / Apple / Facebook don't use Meta Business Manager partnerships. Skip this skill entirely for those paths.
  • **The customer is using the Embedded Signup popup instead.** That's a different flow (popup-driven, SF-UI-side OAuth); this skill is specifically the headless alternative.

Inputs (from caller)

  • `{WABA_ID}` — WhatsApp Business Account ID. Used only for rendering (so the instructions say "open YOUR WABA" with the right id visible).
  • `{SF_BM_ID}` — optional. Defaults to `10152614792574154` (Salesforce's Business Manager ID, confirmed by user 2026-04-29; see IMPLEMENTATION.md §13 journey log). Override only if Salesforce issues a different BM ID for a specific partner program.

Output (to caller)

**Success — user confirmed the partnership is in place:**

{"ok": true, "linked": true, "path": "user-confirmed",
 "note": "partnership confirmed by user; subsequent channel insert will
          surface any server-side issues clearly"}

**Failure — partnership not yet in place:**

{"ok": false, "kind": "partnership-blocked",
 "hint": "customer reported Salesforce is not in the Partners tab;
          most likely causes: (a) WABA ID typo, (b) user lacks admin
          role in the Business Manager, (c) partnership request still
          pending Meta approval. Retry this skill after resolving."}

**Failure — user-declined or dropped:**

{"ok": false, "kind": "user-declined",
 "hint": "user cancelled the linking step; re-run the orchestrator
          when the customer is ready to click through Business Suite"}

---

Stage 1: Render the instructions

Substitute `{WABA_ID}` and `{SF_BM_ID}` and **output the following directly as markdown text to the user** (do NOT use `cat`, `echo`, or any Bash command that would collapse the output):

──────────────────────────────────────────────────────────────
**Before we can insert the WhatsApp channel in Salesforce, your
WhatsApp Business Account must be shared with Salesforce on
Meta's side.** Meta gates this step behind business.facebook.com —
there's no API we can call to automate it.

## One-time steps (takes ~2 minutes):

1. Go to https://business.facebook.com
2. In the left nav, open "WhatsApp Accounts" and click your
   WABA (ID: **{WABA_ID}**)
3. Click the "Partners" tab at the top of the WABA page
4. Look at the list:
   - **If "Salesforce" (or "Salesforce.com") is already listed
     with Full control** — you're done, nothing to do.
   - **If NOT listed** (or listed with only partial access):
     
     a. Click "Add partners" → "Share account with partner"
     
     b. Paste this Business Manager ID in "Enter partner
        business ID":

{SF_BM_ID}

     
     c. Scroll to the "Full control" section at the bottom
        and toggle ON "Everything":

[x] Everything — manage all settings, assign users, view payment information and send messages

     
     This is the option Salesforce needs. The Partial
     access toggles above (Phone numbers / Message
     templates / Messages) do NOT cover assigning users
     or managing webhook subscriptions — those require
     the Full control option. Don't try to grant access
     piecemeal through Partial access.
     
     d. Click "Assign"

## Notes:
- Your Meta Business Manager must be business-verified for Meta
  to accept the partnership. If it's not verified, Meta will
  block the "Assign" step with a clear error.
- You need admin role on the Business Manager to assign partners.
  If you're a regular employee, ask an admin on your team.
- Max 2 partners per WABA. If you've already shared with another
  BSP, Salesforce would be the second — which is fine.
──────────────────────────────────────────────────────────────

**CRITICAL:** Output this text directly in your response to the user, not via Bash/cat/echo. Tool results get collapsed; direct text output stays visible.

---

Stage 2: Ask for confirmation

Use AskUserQue

Read more
Ships withforcedotcom-sf-skills-2

This repository provides a curated collection of Salesforce agent skills for building applications.

Get the whole plugin

Other skills on forcedotcom-sf-skills-2.