All skills
resend avatar

/resend-cli

@edbfece official
by resendresend/resend-skills193 stars
28

Operate the Resend platform from the terminal — send emails (including React Email .tsx templates via --react-email), manage domains, contacts, broadcasts, templates, webhooks, API keys, logs, automations, and events via the `resend` CLI. Use when the user wants to run Resend commands in the shell, scripts, or CI/CD pipelines, or send/preview React Email templates. Always load this skill before running `resend` commands — it contains the non-interactive flag contract and gotchas that prevent silent failures.

Use this Skill: https://skilld.dev/gh/resend/resend-skills/resend-cli

This session only. Nothing lands on disk.

referencesautomations.md

≈1.2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

automations & events

Detailed flag specifications for resend automations and resend events commands.


automations list

Flag Type Default Description
--limit <n> number 10 Max results (1-100)
--after <cursor> string — Forward pagination
--before <cursor> string — Backward pagination

automations create

Flag Type Required Description
--name <name> string Yes (unless in --file) Automation name
--status <status> string No Initial status: enabled or disabled
--steps <json> string Yes (unless --file) Steps array as JSON string
--connections <json> string Yes (unless --file) Connections array as JSON string
--file <path> string No Path to JSON file with full payload (use "-" for stdin)

When using --file, the JSON object should contain { name, status?, steps, connections }. Flags override file values.

Step types: trigger, delay, send_email, wait_for_event, condition

Connection types: default, condition_met, condition_not_met, timeout, event_received


automations get

resend automations get <id>

Returns the full automation object including steps and connections.


automations update

Flag Type Required Description
--status <status> string Yes enabled or disabled
resend automations update <id> --status enabled

automations duplicate

resend automations duplicate <id>

Creates a copy of an existing automation, including its steps and connections.

Returns {"object":"automation","id":"<new-automation-id>"}.


automations stop

resend automations stop <id>

Stops a running automation by setting its status to disabled and cancelling active runs.

Returns {"object":"automation","id":"<id>","status":"disabled"}.


automations delete

Flag Type Required Description
--yes boolean Yes (non-interactive) Skip confirmation

automations open

resend automations open [id]

Opens the automations list or a specific automation's editor in the dashboard.


automations runs

Flag Type Default Description
--status <status> string — Filter by status (comma-separated: running, completed, failed, cancelled)
--limit <n> number 10 Max results (1-100)
--after <cursor> string — Forward pagination
--before <cursor> string — Backward pagination
resend automations runs <automation-id>
resend automations runs list <automation-id> --status running
resend automations runs list <automation-id> --status completed,failed

Run status values: running | completed | failed | cancelled


automations runs get

Flag Type Required Description
--automation-id <id> string Yes Automation ID
--run-id <id> string Yes Run ID

Returns the full run object including step-level execution details.


events list

Flag Type Default Description
--limit <n> number 10 Max results (1-100)
--after <cursor> string — Forward pagination
--before <cursor> string — Backward pagination

events create

Flag Type Required Description
--name <name> string Yes Event name (e.g. user.signed_up)
--schema <json> string No JSON object mapping field names to types (string, number, boolean, date)

Event names cannot start with resend: (reserved).


events get

resend events get <id>

Accepts an event ID.


events update

Flag Type Required Description
--schema <json> string Yes Updated schema JSON (pass null to clear)

events delete

Flag Type Required Description
--yes boolean Yes (non-interactive) Skip confirmation

events send

Flag Type Required Description
--event <name> string Yes Event name to trigger
--contact-id <id> string One of --contact-id or --email Contact ID
--email <address> string One of --contact-id or --email Contact email
--payload <json> string No JSON payload matching the event schema

events open

resend events open

Opens the events management page in the dashboard.

Source: SKILL.md on GitHub

1 warning1d4 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    This skill provides a comprehensive CLI for managing the Resend email platform. It includes robust documentation on credential safety, preventing accidental API key exposure, and specifically warns agents about treating inbound email content as untrusted data. The skill is published by the official Resend team and uses standard development practices.

  • Socket1d

    No alerts

  • Snyk1d

    Risk: MEDIUM · 1 issue

  • ZeroLeaks5mo

    1 finding · Score: 82/100

Signed by skilld at edbfece. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Activeupdated 2 days ago
Other metadata
metadata
{
  "author": "resend",
  "version": "2.15.0",
  "homepage": "https://resend.com/docs/cli-agents",
  "source": "https://github.com/resend/resend-cli",
  "openclaw": {
    "primaryEnv": "RESEND_API_KEY",
    "requires": {
      "env": [
        "RESEND_API_KEY"
      ],
      "bins": [
        "resend"
      ]
    },
    "envVars": [
      {
        "name": "RESEND_API_KEY",
        "required": true,
        "description": "Resend API key for authenticating CLI commands"
      },
      {
        "name": "RESEND_PROFILE",
        "required": false,
        "description": "Named auth profile for multi-account setups"
      }
    ],
    "install": [
      {
        "kind": "node",
        "package": "resend-cli",
        "bins": [
          "resend"
        ],
        "label": "Resend CLI"
      }
    ],
    "links": {
      "repository": "https://github.com/resend/resend-cli",
      "documentation": "https://resend.com/docs/cli"
    }
  }
}
inputs
[
  {
    "name": "RESEND_API_KEY",
    "description": "Resend API key for authenticating CLI commands. Get yours at https://resend.com/api-keys",
    "required": true
  },
  {
    "name": "RESEND_PROFILE",
    "description": "Named auth profile for multi-account setups. Selects which stored API key to use (see `resend auth`).",
    "required": false
  }
]
references
[
  "references/emails.md",
  "references/domains.md",
  "references/api-keys.md",
  "references/automations.md",
  "references/broadcasts.md",
  "references/contacts.md",
  "references/contact-properties.md",
  "references/segments.md",
  "references/templates.md",
  "references/topics.md",
  "references/logs.md",
  "references/careers.md",
  "references/suppressions.md",
  "references/webhooks.md",
  "references/auth.md",
  "references/workflows.md",
  "references/error-codes.md"
]
  • CLI
  • resend
  • email
  • react-email
  • domains
  • broadcasts
  • contacts
  • automations
  • webhooks
  • ci-cd

README badge

README badge for resend/resend-skills/resend-cli

Operate the Resend email platform from the terminal—send emails via React Email templates, manage domains, contacts, broadcasts, templates, webhooks, API keys, and automations using the `resend` CLI. Targets shell scripts, CI/CD pipelines, and agent workflows that need programmatic email operations without interactive prompts.

Generated from the current SKILL.md.

Does this skill work in non-interactive environments like CI/CD?
Yes. The CLI auto-detects non-TTY and outputs JSON without prompting. Set RESEND_API_KEY in the environment, use --quiet to suppress spinners, and pass --yes on all delete commands.
Can I send React Email .tsx templates with this skill?
Yes. Use `resend emails send --react-email ./path/to/template.tsx` along with required flags like --from, --to, and --subject.
What authentication methods does the CLI support?
The CLI resolves auth via --api-key flag, RESEND_API_KEY environment variable, or a stored profile (resend login). Use RESEND_PROFILE or --profile for multi-account setups.
Does this skill support dry-run validation?
Only `emails send` and `broadcasts create` support --dry-run. They validate the payload and print the request without calling the API. Other commands like `emails batch` and `broadcasts send` do not support dry-run.
What happens if I forget --yes on a delete command?
The CLI exits with an error in non-interactive mode and does not prompt. All delete/rm subcommands require --yes when stdin is not a TTY.

Generated from the current SKILL.md. These answers refresh after source changes.