primitivedotdev/primitive.dev - Send Email
Send an email from CI via primitive.dev's /v1/send-mail API. Useful for pipeline notifications, release announcements, and alerts. Fails the step if the recipient is rejected.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| api-key | Primitive API key. Org-scoped; the `from` address must be on a verified sending domain owned by this key's org. Pass via a GitHub secret reference (see README) — never hard-code. Masked in logs. | yes | — |
| api-base-url | Primitive API base URL. Defaults to production. | no | https://api.primitive.dev/v1 |
| from | Sender address. Must be on a verified sending domain owned by the API key's org (e.g. `ci@yourdomain.com`). | yes | — |
| to | Recipient address. | yes | — |
| subject | Email subject. | yes | — |
| body-text | Plain-text body. At least one of `body-text` / `body-html` is required. | no | — |
| body-html | HTML body. At least one of `body-text` / `body-html` is required. | no | — |
| wait | When `true`, block until the platform reports a delivery outcome (up to `wait-timeout-ms`) instead of returning as soon as the send is accepted. Default `false`. | no | false |
| wait-timeout-ms | Max milliseconds to wait for delivery when `wait` is true (platform caps at 30000). Ignored when `wait` is false. | no | 10000 |
| expected-org-id | Optional safety guard. When set, the Action calls `/whoami` before sending and aborts if the API key's org differs — prevents a leaked-key cross-org send. Recommended in production workflows. | no | — |
Outputs
| name | description |
|---|---|
| email-id | UUID of the accepted send. |
| status | Platform-reported send status (e.g. `submitted_to_agent`, `delivered`). |
| accepted | Comma-separated list of accepted recipients. |
| rejected | Comma-separated list of rejected recipients (empty on success — a non-empty value fails the step). |