waba-embedded-signup

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- Verified against Sent sources: - https://docs.sent.dm/start/quickstart/dashboard-walkthrough - https://docs.sent.dm/start/quickstart/channel-setup - https://docs.sent.dm/reference/api - Sent v3 OpenAPI: /v3/profiles, /v3/profiles/{profileId}, /v3/profiles/{profileId}/complete, /v3/webhooks, /v3/webhooks/{id}/test, /v3/webhooks/{id}/rotate-secret Review notes: - Sent docs verify Sender Profiles and WhatsApp configuration status in the dashboard, but the extracted Sent docs/API did not expose a public Sent-specific Embedded Signup endpoint. - Treat Meta Graph API calls, Facebook Login for Business configuration, system-user tokens, WABA subscription, and phone-number registration as external Meta implementation details unless Sent confirms they are required for the integration path. - Anchor Sent-side completion to Sender Profile configuration and /v3/profiles/{profileId}/complete. -->
<!-- 已对照Sent来源验证: - https://docs.sent.dm/start/quickstart/dashboard-walkthrough - https://docs.sent.dm/start/quickstart/channel-setup - https://docs.sent.dm/reference/api - Sent v3 OpenAPI:/v3/profiles, /v3/profiles/{profileId}, /v3/profiles/{profileId}/complete, /v3/webhooks, /v3/webhooks/{id}/test, /v3/webhooks/{id}/rotate-secret 审核说明: - Sent文档可在控制台中验证Sender Profiles和WhatsApp配置状态,但提取的Sent文档/API未公开专属的Sent Embedded Signup端点。 - 除非Sent确认这些是集成路径的必需步骤,否则将Meta Graph API调用、Facebook Login for Business配置、系统用户令牌、WABA订阅和电话号码注册视为Meta侧的外部实现细节。 - 以Sender Profile配置和/v3/profiles/{profileId}/complete为核心完成Sent侧的配置。 -->

WABA Embedded Signup

WABA Embedded Signup

Overview

概述

Use this skill to connect a WhatsApp Business Account (WABA) and phone number to a Sent Sender Profile without confusing Sent-side setup with Meta-side implementation details. Sent’s dashboard exposes Sender Profiles and WhatsApp configuration status. Sent’s profile API exposes profile CRUD and a profile-completion workflow. The public Sent sources reviewed for this rewrite did not expose a dedicated Embedded Signup endpoint, so direct Meta Graph flows should be treated as external integration context unless the user confirms that their application owns that flow.
The safest workflow is to decide the integration path first: Sent-managed WhatsApp setup, customer-managed Meta Embedded Signup connected back to Sent, or a hybrid implementation coordinated with Sent.
使用本技能可将WhatsApp Business Account(WABA)和电话号码连接到Sent Sender Profile,无需混淆Sent侧设置与Meta侧实现细节。Sent控制台可展示Sender Profiles和WhatsApp配置状态,Sent资料API支持资料的增删改查(CRUD)以及资料完成流程。本次重写参考的公开Sent来源未暴露专用的Embedded Signup端点,因此除非用户确认其应用负责该流程,否则应将直接的Meta Graph流程视为外部集成上下文。
最稳妥的工作流程是先确定集成路径:Sent托管的WhatsApp设置、客户托管并回调至Sent的Meta Embedded Signup,或与Sent协调的混合实现方案。

When to use

使用场景

Use this skill when the user mentions Embedded Signup, WABA, WhatsApp Business Account, WhatsApp phone number, phone number ID, Facebook Login for Business, Meta Business Manager, connecting WhatsApp to Sent, WhatsApp sender setup, Sender Profile WhatsApp status, or webhook delivery after WhatsApp onboarding.
Do not use this skill to author WhatsApp templates; use
waba-template-author
. Do not use it to build a generic Meta app unless the user explicitly asks for a Meta-side implementation. Do not claim Sent exposes Embedded Signup endpoints unless the account/docs confirm them.
当用户提及Embedded Signup、WABA、WhatsApp Business Account、WhatsApp电话号码、电话号码ID、Facebook Login for Business、Meta Business Manager、将WhatsApp连接到Sent、WhatsApp发送方设置、Sender Profile WhatsApp状态或WhatsApp上线后的Webhook交付等内容时,使用本技能。
请勿使用本技能编写WhatsApp模板,请使用
waba-template-author
。除非用户明确要求Meta侧实现,否则请勿使用本技能构建通用Meta应用。除非账户/文档确认,否则请勿声称Sent暴露了Embedded Signup端点。

Process

流程

1. Decide the integration path first

1. 先确定集成路径

Start every session by asking which path applies. The answer changes what the agent should do next.
PathUse whenAgent role
Sent-managed setupThe customer wants Sent to guide or operate WhatsApp connection.Prepare Sender Profile, business evidence, phone-number details, and handoff notes.
Customer-managed Embedded SignupThe customer’s app launches Meta Embedded Signup and passes results to Sent.Review Meta-side security and mapping, then align results to Sent profile completion.
Migration/importThe customer already has a WABA/phone number and needs it represented in Sent.Collect WABA/phone identifiers, ownership evidence, and profile mapping.
If the user cannot answer, default to Sent-managed setup and avoid prescribing Graph API calls.
每次会话都从询问适用的路径开始,答案将决定代理下一步的操作。
路径使用场景代理角色
Sent托管设置客户希望Sent指导或操作WhatsApp连接流程准备Sender Profile、商业证明、电话号码详情以及交接说明
客户托管Embedded Signup客户应用启动Meta Embedded Signup并将结果传递给Sent审核Meta侧的安全性与映射关系,然后将结果与Sent资料完成流程对齐
迁移/导入客户已拥有WABA/电话号码,需在Sent中进行关联收集WABA/电话号码标识、所有权证明以及资料映射关系
如果用户无法回答,默认采用Sent托管设置,避免指定Graph API调用。

2. Identify the Sender Profile

2. 识别Sender Profile

Locate or create the Sender Profile that will own the WhatsApp sender identity. Use the Sent dashboard or
/v3/profiles
. Record the Sent profile ID,
x-sender-id
if visible, display name, brand description, and intended WhatsApp phone number.
A WhatsApp number should map to the same recipient-visible brand represented by the profile. If the number belongs to a different brand, department, or tenant, use
sender-profile-architect
before proceeding.
定位或创建将拥有WhatsApp发送方身份的Sender Profile,可使用Sent控制台或
/v3/profiles
接口。记录Sent资料ID(若可见则记录
x-sender-id
)、显示名称、品牌描述以及目标WhatsApp电话号码。
WhatsApp号码应与资料所代表的、收件人可见的品牌保持一致。若号码属于不同品牌、部门或租户,请先使用
sender-profile-architect
技能再继续操作。

3. Collect WhatsApp onboarding evidence

3. 收集WhatsApp上线证明

Collect the minimum evidence needed for Sent or Meta review.
EvidenceWhy it matters
Business legal name and Meta Business identityConfirms the WABA belongs to the intended sender.
Public website and privacy policySupports business verification and template review.
Phone number and ownership/control evidencePrevents connecting the wrong sender.
Display nameMust match the business identity recipients expect.
Use cases and example messagesDrives template authoring and policy review.
Webhook endpoint and ownerNeeded to verify event delivery after connection.
收集Sent或Meta审核所需的最少证明材料。
证明材料重要性
企业法定名称与Meta Business身份确认WABA属于目标发送方
公开网站与隐私政策支持企业验证与模板审核
电话号码及所有权/控制权证明避免连接错误的发送方
显示名称必须与收件人预期的企业身份一致
使用场景与示例消息驱动模板编写与政策审核
Webhook端点与所有者用于连接后验证事件交付

4. Map external identifiers without making them the Sent contract

4. 映射外部标识,但不将其作为Sent的核心契约

If the user provides WABA ID, phone-number ID, Meta Business ID, or System User details, store them as external provider identifiers mapped to the Sent profile. Do not make those IDs the primary application sender key. Use Sent profile ID and Sent message IDs for Sent operations.
Example mapping.
text
sent_profile_id: 2b1b...
x_sender_id: support_us
channel: whatsapp
provider: meta
provider_business_id: external value, if available
provider_waba_id: external value, if available
provider_phone_number_id: external value, if available
status_source: Sent dashboard/API or Meta integration logs
如果用户提供WABA ID、电话号码ID、Meta Business ID或系统用户详情,请将其作为外部提供商标识与Sent资料关联存储。不要将这些ID作为应用的主要发送方密钥,Sent操作应使用Sent资料ID和Sent消息ID。
映射示例
text
sent_profile_id: 2b1b...
x_sender_id: support_us
channel: whatsapp
provider: meta
provider_business_id: 外部值(如有)
provider_waba_id: 外部值(如有)
provider_phone_number_id: 外部值(如有)
status_source: Sent控制台/API或Meta集成日志

5. Complete or re-check the Sent profile

5. 完成或重新检查Sent资料

Use
/v3/profiles/{profileId}/complete
when prerequisites are ready and API completion is in scope. The OpenAPI describes profile completion as a background process that validates prerequisites and connects profile configuration. If completion returns missing prerequisites, fix those inputs rather than creating duplicate profiles.
当先决条件就绪且涉及API完成流程时,使用
/v3/profiles/{profileId}/complete
接口。OpenAPI将资料完成描述为一个后台流程,用于验证先决条件并连接资料配置。如果完成返回缺少先决条件的提示,请修复输入内容,而非创建重复资料。

6. Verify webhook readiness

6. 验证Webhook就绪状态

Use Sent webhook endpoints to confirm event delivery. Verify the webhook exists, the relevant event types are available, and a test event reaches the customer endpoint via
POST /v3/webhooks/{id}/test
.
Rotate webhook secrets only when needed and coordinate deployment, because secret rotation invalidates the old secret immediately.
使用Sent Webhook端点确认事件交付。验证Webhook已存在、相关事件类型可用,并通过
POST /v3/webhooks/{id}/test
确认测试事件已送达客户端点。
仅在必要时轮换Webhook密钥,并协调部署,因为密钥轮换会立即使旧密钥失效。

Meta-side implementation review

Meta侧实现审核

Use this section only when the user confirms that their application owns Embedded Signup. Label the work as Meta-side. Validate security, mapping, and callback handling before connecting results to Sent.
AreaCheck
Launch contextEmbedded Signup is launched from the right app, business, and allowed origin.
Callback handlingThe app captures the signup result, not just a UI success state.
Token exchangeAuthorization codes/tokens are exchanged server-side, never in public frontend storage.
Scope verificationReturned permissions/granular scopes match the required WABA and phone-number access.
Identifier lookupWABA ID and phone-number ID are read back and mapped to the Sent profile.
Phone registrationRegistration is completed only if the integration path requires the customer app to do it.
App subscriptionWebhook subscription is completed only if the integration path requires direct Meta callbacks.
Secret handlingTokens and webhook secrets are encrypted, rotated, and not logged.
Do not assume the customer app must call every Meta endpoint. Sent may abstract parts of onboarding depending on the customer’s setup.
仅当用户确认其应用负责Embedded Signup时使用本节内容,并标注为Meta侧工作。在将结果连接到Sent之前,验证安全性、映射关系和回调处理。
检查领域检查内容
启动上下文Embedded Signup从正确的应用、企业和允许的源启动
回调处理应用捕获注册结果,而非仅捕获UI成功状态
令牌交换授权码/令牌在服务器端交换,绝不存储在公开前端存储中
权限范围验证返回的权限/细粒度范围与所需的WABA和电话号码访问权限匹配
标识查询读取并关联WABA ID和电话号码ID到Sent资料
电话号码注册仅当集成路径要求客户应用完成时才进行注册
应用订阅仅当集成路径要求直接Meta回调时才完成Webhook订阅
密钥处理令牌和Webhook密钥已加密、轮换且未被记录
不要假设客户应用必须调用所有Meta端点,根据客户设置,Sent可能会抽象部分上线流程。

Troubleshooting patterns

故障排查模式

SymptomFirst checkLikely next step
Sender Profile still shows WhatsApp not configuredSent profile prerequisites and completion statusConfirm whether Sent-managed setup or external Embedded Signup results were expected.
User completed Meta flow but Sent cannot sendMapping between external phone/WABA and Sent profileProvide identifiers/evidence to Sent or update integration mapping.
Templates remain unavailableTemplate status and WhatsApp business reviewUse
waba-template-author
and Sent template status.
Webhooks not firingSent webhook test and event historyFix endpoint/subscription before blaming WhatsApp delivery.
Wrong tenant receives eventsProfile/message ID mappingUse
sender-profile-architect
to redesign routing.
症状首次检查可能的下一步操作
Sender Profile仍显示WhatsApp未配置Sent资料先决条件与完成状态确认预期是Sent托管设置还是外部Embedded Signup结果
用户完成Meta流程但Sent无法发送消息外部电话号码/WABA与Sent资料的映射关系向Sent提供标识/证明或更新集成映射
模板仍不可用模板状态与WhatsApp企业审核情况使用
waba-template-author
和Sent模板状态进行排查
Webhook未触发Sent Webhook测试与事件历史在归咎于WhatsApp交付问题之前,先修复端点/订阅
错误租户接收事件资料/消息ID映射使用
sender-profile-architect
重新设计路由

Common rationalizations to avoid

需要避免的常见误区

Do not treat a Meta UI success screen as proof that Sent can send WhatsApp messages. Verify Sent profile/channel status and test sends.
Do not store access tokens in browser storage or logs. Treat Meta tokens and Sent webhook secrets as production credentials.
Do not assume a WABA can be reused across unrelated brands or tenants. Recipient-visible identity and operational ownership matter.
Do not hardcode Graph API version, scope names, or endpoint sequences in this skill body. Keep those in a reference file and re-check Meta docs or Sent implementation guidance before use.
Do not rotate Sent webhook secrets without coordinating the receiving endpoint.
不要将Meta UI成功界面视为Sent可发送WhatsApp消息的证明,请验证Sent资料/渠道状态并测试发送。
不要在浏览器存储或日志中存储访问令牌,请将Meta令牌和Sent Webhook密钥视为生产凭据。
不要假设一个WABA可跨无关品牌或租户复用,收件人可见的身份和运营所有权至关重要。
不要在本技能主体中硬编码Graph API版本、权限范围名称或端点序列,请将这些内容保存在参考文件中,并在使用前重新检查Meta文档或Sent实现指南。
不要在未协调接收端点的情况下轮换Sent Webhook密钥。

Verification checklist

验证清单

  • The integration path is identified as Sent-managed, customer-managed Embedded Signup, or migration/import.
  • The correct Sent Sender Profile is identified before external identifiers are mapped.
  • WhatsApp business identity, phone-number evidence, display name, and use cases are collected.
  • WABA/phone-number IDs are stored as external identifiers, not as the primary Sent sender key.
  • Profile completion is run or checked after prerequisites are ready.
  • Sent webhook existence, event types, event history, and test delivery are verified.
  • Meta Graph steps are only prescribed when the user confirms direct ownership of Embedded Signup.
  • Tokens, webhook secrets, and callback data are handled server-side and securely.
  • 已确定集成路径为Sent托管、客户托管Embedded Signup或迁移/导入
  • 在映射外部标识之前已识别正确的Sent Sender Profile
  • 已收集WhatsApp企业身份、电话号码证明、显示名称和使用场景
  • WABA/电话号码ID已作为外部标识存储,而非作为Sent的主要发送方密钥
  • 先决条件就绪后已运行或检查资料完成流程
  • 已验证Sent Webhook的存在性、事件类型、事件历史和测试交付情况
  • 仅当用户确认直接负责Embedded Signup时才指定Meta Graph步骤
  • 令牌、Webhook密钥和回调数据在服务器端安全处理

Related skills

相关技能

Use
sender-profile-architect
when deciding whether a WABA or phone number belongs in a separate Sender Profile.
Use
waba-template-author
when the WhatsApp sender needs templates written, categorized, submitted, or revised.
Use
template-builder-ui
when building the UI that imports or manages WhatsApp templates inside Sent.
Use
messaging-performance-analyzer
when WhatsApp sends are connected but delivery/read/webhook outcomes are poor.
Use the
sent
skill for shared Sent terminology and routing.
当决定WABA或电话号码是否应属于单独的Sender Profile时,使用
sender-profile-architect
当WhatsApp发送方需要编写、分类、提交或修订模板时,使用
waba-template-author
当在Sent内部构建导入或管理WhatsApp模板的UI时,使用
template-builder-ui
当WhatsApp发送已连接但交付/读取/Webhook结果不佳时,使用
messaging-performance-analyzer
共享Sent术语和路由时使用
sent
技能。

Suggested bundled references and scripts

建议捆绑的参考资料和脚本

FileTypePurpose
references/waba-embedded-signup-spec.md
External platform referenceKeep Meta launch, token exchange, WABA lookup, phone registration, and subscription details out of the skill body.
references/whatsapp-sender-profile-mapping.md
Schema referenceDefine how Sent profile IDs map to WABA IDs, phone-number IDs, display names, and status evidence.
references/waba-onboarding-runbook.md
Worked exampleShow Sent-managed and customer-managed onboarding examples end-to-end.
文件类型用途
references/waba-embedded-signup-spec.md
外部平台参考将Meta启动、令牌交换、WABA查询、电话号码注册和订阅细节从技能主体中分离出来
references/whatsapp-sender-profile-mapping.md
架构参考定义Sent资料ID如何与WABA ID、电话号码ID、显示名称和状态证明映射
references/waba-onboarding-runbook.md
实操示例完整展示Sent托管和客户托管上线流程的示例

Unverified claims to confirm or remove

待确认或移除的未验证声明

  • Sent does not expose a public Embedded Signup endpoint; WhatsApp connection is dashboard-only via Channels → WhatsApp (confirmed against Sent v3 docs snapshot, 2026-05-19; the Channels page is explicitly listed as "dashboard config; not directly in v3 API").
  • Required Meta app type, Tech Provider/Solution Partner status, granular scopes, and Graph endpoint sequence are external Meta claims, not Sent API facts.
  • Mandatory direct phone-number registration or WABA subscription by the customer app depends on integration path and was not verified as a universal Sent requirement.
  • Sent's webhook envelope is confirmed as
    {field, sub_type, timestamp, payload}
    with sub-types of the form
    <field>.<event>
    (e.g.,
    message.delivered
    ). WhatsApp-specific sub-types are not enumerated in the snapshot — discover them empirically against your account.
  • Sent未公开Embedded Signup端点;WhatsApp连接仅可通过控制台的Channels → WhatsApp完成(已对照2026-05-19的Sent v3文档快照确认;Channels页面明确标注为“控制台配置;未直接在v3 API中开放”)。
  • 所需的Meta应用类型、技术提供商/解决方案合作伙伴状态、细粒度权限范围和Graph端点序列是Meta的外部声明,而非Sent API事实。
  • 客户应用是否必须直接进行电话号码注册或WABA订阅取决于集成路径,并未被验证为Sent的通用要求。
  • Sent的Webhook信封已确认格式为
    {field, sub_type, timestamp, payload}
    ,子类型格式为
    <field>.<event>
    (例如
    message.delivered
    )。快照中未列举WhatsApp专属子类型——需针对您的账户通过实证发现。