automate-whatsapp by gokapso/agent-skills
npx skills add https://github.com/gokapso/agent-skills --skill automate-whatsapp使用此技能来构建和运行 WhatsApp 自动化:工作流增删改查、图编辑、触发器、执行、函数管理、应用集成以及 D1 数据库操作。
首选路径:
kapso login)备用路径:环境变量:
KAPSO_API_BASE_URL (仅主机,不带 /platform/v1)KAPSO_API_KEY首选路径:
kapso statuskapso whatsapp numbers list --output json广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
kapso whatsapp numbers resolve --phone-number "<display-number>" --output json备用路径:
node scripts/list-whatsapp-phone-numbers.jsnode scripts/get-graph.js <workflow_id> (注意 lock_version)node scripts/validate-graph.js --definition-file <path>node scripts/update-graph.js <workflow_id> --expected-lock-version <n> --definition-file <path>对于小的编辑,可以使用 edit-graph.js 并配合 --old-file 和 --new-file。
如果遇到 lock_version 冲突:重新获取,重新应用更改,使用新的 lock_version 重试。
node scripts/list-triggers.js <workflow_id>node scripts/create-trigger.js <workflow_id> --trigger-type <type> --phone-number-id <id>node scripts/update-trigger.js --trigger-id <id> --active true|falsenode scripts/delete-trigger.js --trigger-id <id>对于 inbound_message 触发器,建议使用 kapso whatsapp numbers resolve --phone-number "<display-number>" --output json 来获取确切的 phone_number_id。当 CLI 不可用时,回退到 node scripts/list-whatsapp-phone-numbers.js。
node scripts/list-executions.js <workflow_id>node scripts/get-execution.js <execution-id>node scripts/get-context-value.js <execution-id> --variable-path vars.foonode scripts/list-execution-events.js <execution-id>node scripts/create-function.js --name <name> --code-file <path>node scripts/deploy-function.js --function-id <id>node scripts/get-function.js --function-id <id>node scripts/list-provider-models.jsnode scripts/list-accounts.js --app-slug <slug> (使用 pipedream_account_id)node scripts/search-actions.js --query <word> --app-slug <slug> (action_id = key)node scripts/create-integration.js --action-id <id> --app-slug <slug> --account-id <id> --configured-props <json>flow_agent_app_integration_tools 向智能体节点添加工具node scripts/list-tables.jsnode scripts/query-rows.js --table <name> --filters <json>id = start{node_type}_{timestamp_ms} 格式next 边conditions[].label 匹配source/target/label (不是 from/to)完整的模式细节,请参阅 references/graph-contract.md。
async function handler(request, env) {
// 解析输入
const body = await request.json();
// 根据需要使⽤ env.KV 和 env.DB
return new Response(JSON.stringify({ result: "ok" }));
}
export、export default 或箭头函数Response 对象始终使用此结构:
vars - 用户定义的变量system - 系统变量context - 通道数据metadata - 请求元数据| 脚本 | 用途 |
|---|---|
list-workflows.js | 列出工作流 (仅元数据) |
get-workflow.js | 获取工作流元数据 |
create-workflow.js | 创建工作流 |
update-workflow-settings.js | 更新工作流设置 |
| 脚本 | 用途 |
|---|---|
get-graph.js | 获取工作流图 + lock_version |
edit-graph.js | 通过字符串替换修补图 |
update-graph.js | 替换整个图 |
validate-graph.js | 本地验证图结构 |
| 脚本 | 用途 |
|---|---|
list-triggers.js | 列出工作流的触发器 |
create-trigger.js | 创建触发器 |
update-trigger.js | 启用/禁用触发器 |
delete-trigger.js | 删除触发器 |
list-whatsapp-phone-numbers.js | 列出用于触发器设置的电话号码 |
| 脚本 | 用途 |
|---|---|
list-executions.js | 列出执行 |
get-execution.js | 获取执行详情 |
get-context-value.js | 从执行上下文中读取值 |
update-execution-status.js | 强制设置执行状态 |
resume-execution.js | 恢复等待中的执行 |
list-execution-events.js | 列出执行事件 |
| 脚本 | 用途 |
|---|---|
list-functions.js | 列出项目函数 |
get-function.js | 获取函数详情 + 代码 |
create-function.js | 创建函数 |
update-function.js | 更新函数代码 |
deploy-function.js | 部署函数到运行时 |
invoke-function.js | 使用负载调用函数 |
list-function-invocations.js | 列出函数调用 |
| 脚本 | 用途 |
|---|---|
list-apps.js | 搜索集成应用 |
search-actions.js | 搜索操作 (action_id = key) |
get-action-schema.js | 获取操作 JSON 模式 |
list-accounts.js | 列出已连接的账户 |
create-connect-token.js | 创建 OAuth 连接链接 |
configure-prop.js | 解析属性的 remote_options |
reload-props.js | 重新加载动态属性 |
list-integrations.js | 列出已保存的集成 |
create-integration.js | 创建集成 |
update-integration.js | 更新集成 |
delete-integration.js | 删除集成 |
| 脚本 | 用途 |
|---|---|
list-tables.js | 列出 D1 表 |
get-table.js | 获取表模式 + 示例行 |
query-rows.js | 使用过滤器查询行 |
create-row.js | 创建行 |
update-row.js | 更新行 |
upsert-row.js | 更新或插入行 |
delete-row.js | 删除行 |
| 脚本 | 用途 |
|---|---|
openapi-explore.mjs | 探索 OpenAPI (搜索/操作/模式/位置) |
安装依赖 (一次):
npm i
示例:
node scripts/openapi-explore.mjs --spec workflows search "variables"
node scripts/openapi-explore.mjs --spec workflows op getWorkflowVariables
node scripts/openapi-explore.mjs --spec platform op queryDatabaseRows
--definition-file, --code-file)action_id 与 search-actions 中的 key 相同--account-id 使用来自 list-accounts 的 pipedream_account_idvariables-set.js, variables-delete.js) 被阻止 - Platform API 不支持编辑前请阅读:
其他参考:
| 文件 | 描述 |
|---|---|
workflow-linear.json | 最小线性工作流 |
workflow-decision.json | 最小分支工作流 |
workflow-agent-simple.json | 最小智能体工作流 |
workflow-customer-support-intake-agent.json | 客户支持接待 |
workflow-interactive-buttons-decide-function.json | 交互式按钮 + 决策 (函数) |
workflow-interactive-buttons-decide-ai.json | 交互式按钮 + 决策 (AI) |
workflow-api-template-wait-agent.json | API 触发器 + 模板 + 智能体 |
function-decide-route-interactive-buttons.json | 用于按钮路由的函数 |
agent-app-integration-example.json | 带有应用集成的智能体节点 |
integrate-whatsapp - 入门、Webhooks、消息传递、模板、流程
observe-whatsapp - 调试、日志、健康检查
[automate-whatsapp 文件映射]|根目录: . |.:{package.json,SKILL.md} |assets:{agent-app-integration-example.json,databases-example.json,function-decide-route-interactive-buttons.json,functions-example.json,workflow-agent-simple.json,workflow-api-template-wait-agent.json,workflow-customer-support-intake-agent.json,workflow-decision.json,workflow-interactive-buttons-decide-ai.json,workflow-interactive-buttons-decide-function.json,workflow-linear.json} |references:{app-integrations.md,databases-reference.md,execution-context.md,function-contracts.md,functions-payloads.md,functions-reference.md,graph-contract.md,node-types.md,triggers.md,workflow-overview.md,workflow-reference.md} |scripts:{configure-prop.js,create-connect-token.js,create-function.js,create-integration.js,create-row.js,create-trigger.js,create-workflow.js,delete-integration.js,delete-row.js,delete-trigger.js,deploy-function.js,edit-graph.js,get-action-schema.js,get-context-value.js,get-execution-event.js,get-execution.js,get-function.js,get-graph.js,get-table.js,get-workflow.js,invoke-function.js,list-accounts.js,list-apps.js,list-execution-events.js,list-executions.js,list-function-invocations.js,list-functions.js,list-integrations.js,list-provider-models.js,list-tables.js,list-triggers.js,list-whatsapp-phone-numbers.js,list-workflows.js,openapi-explore.mjs,query-rows.js,reload-props.js,resume-execution.js,search-actions.js,update-execution-status.js,update-function.js,update-graph.js,update-integration.js,update-row.js,update-trigger.js,update-workflow-settings.js,upsert-row.js,validate-graph.js,variables-delete.js,variables-list.js,variables-set.js} |scripts/lib/databases:{args.js,filters.js,kapso-api.js} |scripts/lib/functions:{args.js,kapso-api.js} |scripts/lib/workflows:{args.js,kapso-api.js,result.js}
每周安装次数
516
代码仓库
GitHub 星标数
56
首次出现
2026年1月29日
安全审计
安装于
gemini-cli437
opencode436
codex433
github-copilot417
cursor395
amp378
Use this skill to build and run WhatsApp automations: workflow CRUD, graph edits, triggers, executions, function management, app integrations, and D1 database operations.
Preferred path:
kapso login)Fallback path: Env vars:
KAPSO_API_BASE_URL (host only, no /platform/v1)KAPSO_API_KEYPreferred path:
kapso statuskapso whatsapp numbers list --output jsonkapso whatsapp numbers resolve --phone-number "<display-number>" --output jsonFallback path:
node scripts/list-whatsapp-phone-numbers.jsnode scripts/get-graph.js <workflow_id> (note the lock_version)node scripts/validate-graph.js --definition-file <path>node scripts/update-graph.js <workflow_id> --expected-lock-version <n> --definition-file <path>For small edits, use edit-graph.js with --old-file and --new-file instead.
If you get a lock_version conflict: re-fetch, re-apply changes, retry with new lock_version.
node scripts/list-triggers.js <workflow_id>node scripts/create-trigger.js <workflow_id> --trigger-type <type> --phone-number-id <id>node scripts/update-trigger.js --trigger-id <id> --active true|falsenode scripts/delete-trigger.js --trigger-id <id>For inbound_message triggers, prefer kapso whatsapp numbers resolve --phone-number "<display-number>" --output json to get the exact phone_number_id. Fall back to node scripts/list-whatsapp-phone-numbers.js when the CLI is unavailable.
node scripts/list-executions.js <workflow_id>node scripts/get-execution.js <execution-id>node scripts/get-context-value.js <execution-id> --variable-path vars.foonode scripts/list-execution-events.js <execution-id>node scripts/create-function.js --name <name> --code-file <path>node scripts/deploy-function.js --function-id <id>node scripts/get-function.js --function-id <id>node scripts/list-provider-models.jsnode scripts/list-accounts.js --app-slug <slug> (use pipedream_account_id)node scripts/search-actions.js --query <word> --app-slug <slug> (action_id = key)node scripts/create-integration.js --action-id <id> --app-slug <slug> --account-id <id> --configured-props <json>flow_agent_app_integration_toolsnode scripts/list-tables.jsnode scripts/query-rows.js --table <name> --filters <json>id = start{node_type}_{timestamp_ms} for new node IDsnext edgeconditions[].labelsource/target/label (not from/to)For full schema details, see references/graph-contract.md.
async function handler(request, env) {
// Parse input
const body = await request.json();
// Use env.KV and env.DB as needed
return new Response(JSON.stringify({ result: "ok" }));
}
export, export default, or arrow functionsResponse objectAlways use this structure:
vars - user-defined variablessystem - system variablescontext - channel datametadata - request metadata| Script | Purpose |
|---|---|
list-workflows.js | List workflows (metadata only) |
get-workflow.js | Get workflow metadata |
create-workflow.js | Create a workflow |
update-workflow-settings.js | Update workflow settings |
| Script | Purpose |
|---|---|
get-graph.js | Get workflow graph + lock_version |
edit-graph.js | Patch graph via string replacement |
update-graph.js | Replace entire graph |
validate-graph.js | Validate graph structure locally |
| Script | Purpose |
|---|---|
list-triggers.js | List triggers for a workflow |
create-trigger.js | Create a trigger |
update-trigger.js | Enable/disable a trigger |
delete-trigger.js | Delete a trigger |
list-whatsapp-phone-numbers.js | List phone numbers for trigger setup |
| Script | Purpose |
|---|---|
list-executions.js | List executions |
get-execution.js | Get execution details |
get-context-value.js | Read value from execution context |
update-execution-status.js | Force execution state |
resume-execution.js | Resume waiting execution |
list-execution-events.js |
| Script | Purpose |
|---|---|
list-functions.js | List project functions |
get-function.js | Get function details + code |
create-function.js | Create a function |
update-function.js | Update function code |
deploy-function.js | Deploy function to runtime |
invoke-function.js | Invoke function with payload |
| Script | Purpose |
|---|---|
list-apps.js | Search integration apps |
search-actions.js | Search actions (action_id = key) |
get-action-schema.js | Get action JSON schema |
list-accounts.js | List connected accounts |
create-connect-token.js | Create OAuth connect link |
configure-prop.js |
| Script | Purpose |
|---|---|
list-tables.js | List D1 tables |
get-table.js | Get table schema + sample rows |
query-rows.js | Query rows with filters |
create-row.js | Create a row |
update-row.js | Update rows |
upsert-row.js | Upsert a row |
| Script | Purpose |
|---|---|
openapi-explore.mjs | Explore OpenAPI (search/op/schema/where) |
Install deps (once):
npm i
Examples:
node scripts/openapi-explore.mjs --spec workflows search "variables"
node scripts/openapi-explore.mjs --spec workflows op getWorkflowVariables
node scripts/openapi-explore.mjs --spec platform op queryDatabaseRows
--definition-file, --code-file)action_id is the same as key from search-actions--account-id uses pipedream_account_id from list-accountsvariables-set.js, variables-delete.js) is blocked - Platform API doesn't support itRead before editing:
Other references:
| File | Description |
|---|---|
workflow-linear.json | Minimal linear workflow |
workflow-decision.json | Minimal branching workflow |
workflow-agent-simple.json | Minimal agent workflow |
workflow-customer-support-intake-agent.json | Customer support intake |
workflow-interactive-buttons-decide-function.json | Interactive buttons + decide (function) |
workflow-interactive-buttons-decide-ai.json |
integrate-whatsapp - Onboarding, webhooks, messaging, templates, flows
observe-whatsapp - Debugging, logs, health checks
[automate-whatsapp file map]|root: . |.:{package.json,SKILL.md} |assets:{agent-app-integration-example.json,databases-example.json,function-decide-route-interactive-buttons.json,functions-example.json,workflow-agent-simple.json,workflow-api-template-wait-agent.json,workflow-customer-support-intake-agent.json,workflow-decision.json,workflow-interactive-buttons-decide-ai.json,workflow-interactive-buttons-decide-function.json,workflow-linear.json} |references:{app-integrations.md,databases-reference.md,execution-context.md,function-contracts.md,functions-payloads.md,functions-reference.md,graph-contract.md,node-types.md,triggers.md,workflow-overview.md,workflow-reference.md} |scripts:{configure-prop.js,create-connect-token.js,create-function.js,create-integration.js,create-row.js,create-trigger.js,create-workflow.js,delete-integration.js,delete-row.js,delete-trigger.js,deploy-function.js,edit-graph.js,get-action-schema.js,get-context-value.js,get-execution-event.js,get-execution.js,get-function.js,get-graph.js,get-table.js,get-workflow.js,invoke-function.js,list-accounts.js,list-apps.js,list-execution-events.js,list-executions.js,list-function-invocations.js,list-functions.js,list-integrations.js,list-provider-models.js,list-tables.js,list-triggers.js,list-whatsapp-phone-numbers.js,list-workflows.js,openapi-explore.mjs,query-rows.js,reload-props.js,resume-execution.js,search-actions.js,update-execution-status.js,update-function.js,update-graph.js,update-integration.js,update-row.js,update-trigger.js,update-workflow-settings.js,upsert-row.js,validate-graph.js,variables-delete.js,variables-list.js,variables-set.js} |scripts/lib/databases:{args.js,filters.js,kapso-api.js} |scripts/lib/functions:{args.js,kapso-api.js} |scripts/lib/workflows:{args.js,kapso-api.js,result.js}
Weekly Installs
516
Repository
GitHub Stars
56
First Seen
Jan 29, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
gemini-cli437
opencode436
codex433
github-copilot417
cursor395
amp378
| List execution events |
list-function-invocations.js | List function invocations |
| Resolve remote_options for a prop |
reload-props.js | Reload dynamic props |
list-integrations.js | List saved integrations |
create-integration.js | Create an integration |
update-integration.js | Update an integration |
delete-integration.js | Delete an integration |
delete-row.js | Delete rows |
| Interactive buttons + decide (AI) |
workflow-api-template-wait-agent.json | API trigger + template + agent |
function-decide-route-interactive-buttons.json | Function for button routing |
agent-app-integration-example.json | Agent node with app integrations |