Token导航 LogoToken导航

Agent Skill · 研究检索

sendivent(sendivent 搜索)

sendivent 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

sendivent 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 33,203。

总安装 2,398周安装 103GitHub Stars 公开资料未说明下载 840核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:sendivent(sendivent 搜索)
来源仓库:https://github.com/oakleaf/sendivent
安装命令:
openclaw skills install sendivent
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install sendivent

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

多通道通知服务,支持邮件、短信、Slack 等平台。当系统事件触发时自动推送告警或更新信息。可自定义渠道优先级与消息模板样式。sendivent 属于研究检索类 Skill,可作为该场景下的辅助能力补充。需配置各平台 webhook 或 API 接入凭证。注意敏感信息脱敏处理防止泄露风险。

适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install sendivent;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

sendivent 怎么安装?

在终端执行 openclaw skills install sendivent。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

sendivent 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

sendivent 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

sendivent 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

sendivent 用的人多吗?

公开数据是累计安装 2,398 次,近一周安装 103 次,下载 840 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

sendivent 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
sendivent

sendivent 搜索 · 本页

2,398—接触敏感数据MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
Sendivent
description
>
license
MIT

Sendivent Notification API

Send multi-channel notifications, manage contacts, and configure events via REST API.

Using Node.js? See the SDK Guide for TypeScript examples with the @appitude/sendivent package.

Reference: API Guide | Official Docs

Prerequisites

  • [ ] Create Account — Sign up at sendivent.com/signup
  • [ ] Create Application — Dashboard > Applications > New Application
  • [ ] Get API Key — Dashboard > API Keys > Generate (docs)
  • [ ] Set Environment Variable — export SENDIVENT_API_KEY=live_your_key_here
  • [ ] Configure a Channel — Set up at least one integration (email, SMS, Slack, etc.)
  • [ ] Create an Event — Dashboard > Events > New Event (e.g. user.welcome)

Authentication

All requests require a Bearer token in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Base URLs:

  • Production: https://api.sendivent.com
  • Sandbox: https://api-sandbox.sendivent.com

Key Prefixes:

  • live_* — Production (real deliveries)
  • test_* — Sandbox (safe testing)

All POST/PATCH requests must include Content-Type: application/json.


Send Notification

Send to a single recipient

POST /v1/send/{event}

The event is the event name in the URL path (e.g. order.confirmed), not in the body.

ParameterTypeRequiredDescription
to`string \object`YesRecipient — email, phone, UUID, external_id, or contact object
payloadobjectYesTemplate variables (can be {} if none)
languagestringNoTemplate language override (e.g. sv, en)
fromstringNoSender override (must be verified)
overridesobjectNoChannel-specific overrides

Flexible to formats:

"to": "user@example.com"
"to": "+14155551234"
"to": "550e8400-e29b-41d4-a716-446655440000"
"to": { "email": "user@example.com", "name": "Jane", "tier": "premium" }

Any non-standard field in the contact object (like tier above) is stored in meta and accessible in templates as {{contact.meta.tier}}.

Response:

{
  "success": true,
  "deliveries": [
    { "email": "d4e5f6a7-b8c9-4d0e-a1f2-3b4c5d6e7f8a" },
    { "sms": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }
  ]
}

Each entry in deliveries is a { channel: uuid } object mapping the channel to the delivery UUID.


Send to multiple recipients

POST /v1/send/{event}

Pass an array to to for personalized multi-recipient sends:

{
  "to": [
    { "email": "user1@example.com", "name": "Alice", "tier": "premium" },
    { "email": "user2@example.com", "name": "Bob", "tier": "free" }
  ],
  "payload": { "company": "ACME" }
}

Each contact receives individually compiled templates with their specific data + shared payload.


Force a specific channel

POST /v1/send/{event}/{channel}

Channels: email, sms, slack, push, telegram, whatsapp, discord


Idempotency

Include X-Idempotency-Key: your-unique-key header to prevent duplicate sends. Replayed requests return X-Idempotent-Replay: true.


Error response (send)

When a send fails, the response includes an errors array:

{
  "success": false,
  "deliveries": [],
  "errors": [
    { "code": "INTEGRATION_MISSING", "message": "No email integration configured" }
  ]
}

Contacts

List contacts

GET /v1/contacts

ParameterTypeRequiredDescription
limitnumberNoMax 100 (default 50)
offsetnumberNoPagination offset
searchstringNoSearch by email, name, or phone

Response:

{
  "success": true,
  "data": {
    "contacts": [{ "uuid": "...", "email": "...", "name": "...", "meta": {} }],
    "total": 150,
    "limit": 50,
    "offset": 0
  }
}

Find contact

GET /v1/contacts/{identifier}

Identifier can be: email, phone, UUID, external_id, or Slack user ID.


Create or upsert contact

POST /v1/contacts

ParameterTypeRequiredDescription
emailstringNo*Email address
phonestringNo*Phone (E.164 format)
namestringNoDisplay name
externalIdstringNoYour system's user ID
avatarstringNoAvatar URL
usernamestringNoUsername
slackstringNoSlack user ID
telegramstringNoTelegram user ID
discordstringNoDiscord user ID

*At least one identifier (email, phone, externalId) is required.

Any unknown field is automatically stored in meta with camelCase conversion.


Update contact

PATCH /v1/contacts/{identifier}

Same fields as create. Only updates provided fields.


Delete contact

DELETE /v1/contacts/{identifier}

Hard delete (GDPR compliant). Returns { "success": true, "deleted": true }.


Push tokens

POST /v1/contacts/{identifier}/push-tokens — Register token: { "token": "ExponentPushToken[...]" }

DELETE /v1/contacts/{identifier}/push-tokens — Remove token: { "token": "..." }


Developer Endpoints

Read-only endpoints for inspecting events, deliveries, and integrations. Available on the customer API with standard Bearer token auth.

List events

GET /v1/events

Returns all notification events for the application.

Response:

{
  "success": true,
  "data": {
    "events": [
      { "identifier": "user.welcome", "name": "User Welcome", "channels": ["email", "slack"] }
    ]
  }
}

Get event details

GET /v1/events/{identifier}

Returns detailed event configuration including templates and channel settings.

Response:

{
  "success": true,
  "data": {
    "event": { "identifier": "user.welcome", "name": "User Welcome", "channels": [...], "templates": [...] }
  }
}

List deliveries

GET /v1/deliveries

ParameterTypeRequiredDescription
limitnumberNoMax results (default 20)
offsetnumberNoPagination offset
eventstringNoFilter by event name
channelstringNoFilter by channel
statusstringNoFilter by status: pending, sent, delivered, failed

Response:

{
  "success": true,
  "data": {
    "deliveries": [...],
    "total": 42,
    "limit": 20,
    "offset": 0
  }
}

Get delivery trace

GET /v1/deliveries/{uuid}/trace

Returns full delivery trace with timeline and content snapshot.

Response:

{
  "success": true,
  "data": {
    "delivery": { "uuid": "...", "channel": "email", "status": "sent", ... },
    "timeline": [
      { "event": "queued", "timestamp": "2026-03-30T12:00:00Z" },
      { "event": "sent", "timestamp": "2026-03-30T12:00:01Z" }
    ]
  }
}

List integrations

GET /v1/integrations

ParameterTypeRequiredDescription
channelstringNoFilter by channel

Returns channel integrations with secrets stripped.

Response:

{
  "success": true,
  "data": {
    "integrations": [
      { "channel": "email", "provider": "ses", "status": "active" }
    ]
  }
}

Webhooks

Register one webhook endpoint per application to receive delivery status events.

Event types

  • delivery.sent — Notification dispatched to provider
  • delivery.delivered — Provider confirmed delivery (email only via SES)
  • delivery.failed — Delivery failed permanently
  • delivery.bounced — Email bounced
  • delivery.complained — Recipient marked as spam

Create webhook

POST /v1/webhooks

{
  "url": "https://yourapp.com/webhooks/sendivent",
  "enabled_events": ["delivery.sent", "delivery.failed"],
  "description": "Production webhook"
}

Response includes signing_secret for HMAC-SHA256 verification.

Other operations

  • GET /v1/webhooks — Get webhook config
  • PATCH /v1/webhooks/{uuid} — Update (url, enabled_events, is_active)
  • DELETE /v1/webhooks/{uuid} — Remove webhook

Payload format

{
  "event": "delivery.sent",
  "delivery": {
    "uuid": "d4e5f6a7-...",
    "channel": "email",
    "status": "sent",
    "event_name": "order.confirmed",
    "message_id": "ses-message-id",
    "sent_at": "2026-03-30T12:00:00Z",
    "delivered_at": null,
    "error": null
  },
  "request_id": "req-uuid",
  "timestamp": "2026-03-30T12:00:00Z"
}

Channels

Sendivent supports 7 channels. Each requires a configured integration.

ChannelIdentifierProvider
EmailemailAWS SES, SendGrid, Brevo
SMSphone (E.164)AWS SNS, Cellsynt
Slackslack (user ID)Slack API
Pushpush_tokenExpo, FCM, APNs
Telegramtelegram (user ID)Telegram Bot API
WhatsAppphone (E.164)WhatsApp Business API
Discorddiscord (user ID)Discord Bot API

Template Variables

Templates use Handlebars syntax. Available in all channel templates:

VariableDescription
{{contact.name}}Contact display name
{{contact.email}}Contact email
{{contact.phone}}Contact phone
{{contact.meta.fieldName}}Custom contact fields
{{payload.key}}Event payload data
{{app.name}}Application name
{{sender.name}}Sender name
{{sender.email}}Sender email

Fallback syntax: {{name | Guest}} — uses "Guest" if name is empty.


Error Handling

All errors return JSON:

{
  "error": "Event 'order.shipped' not found",
  "code": "EVENT_NOT_FOUND"
}
StatusCodeDescription
400VALIDATION_ERRORMissing or invalid parameters
401UNAUTHORIZEDInvalid or missing API key
402QUOTA_EXCEEDEDContact quota exceeded — upgrade plan
403FORBIDDENSubscription inactive or addon not enabled
404NOT_FOUNDEvent, contact, or resource not found
409CONFLICTWebhook endpoint already exists
429RATE_LIMITEDToo many requests — retry with backoff
500SERVER_ERRORInternal error
502PROVIDER_ERRORThird-party provider failed

Common error codes

CodeDescription
MISSING_IDENTIFIERContact lacks required identifier for channel
INTEGRATION_MISSINGChannel integration not configured
ADDON_NOT_ENABLEDSMS/WhatsApp addon not on plan
UNVERIFIED_SENDERSender email/phone not verified
INVALID_EMAILInvalid email format
INVALID_PHONEInvalid phone number (must be E.164)
EVENT_NOT_FOUNDEvent name doesn't exist

Rate Limits

EnvironmentRequests/SecondDaily Quota
Production1001,000
Sandbox10150

平台分布

OpenClaw

89.86%
按下载量换算755

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills