webhook-api email and cron triggers

Email or cron → webhook. Configure an endpoint once.
Receive structured HTTP POST events from echoValue.

# Trigger types: email, cron
# Native formats: Slack, Discord, Teams, Telegram, PagerDuty

how-it-works

Three steps. No server. One endpoint for multiple trigger sources.

# 1. Configure your webhook endpoint (once)
curl 'https://api.echovalue.dev/webhook' \
  -H 'x-token: mytoken' \
  -H 'content-type: application/json' \
  -d '{"url":"https://myapp.example.com/hooks/events","trigger":"email"}'
% {"mailboxId":"r_abcd1234","email":"r_abcd1234@hook.echovalue.dev",...}

# Or configure a scheduled webhook
curl 'https://api.echovalue.dev/webhook' \
  -H 'x-token: mytoken' \
  -H 'content-type: application/json' \
  -d '{"url":"https://myapp.example.com/hooks/events","schedule":{"cron":"*/15 * * * *","timezone":"Europe/Rome"}}'

1. configure endpoint

Set your webhook URL once via the API. echoValue delivers trigger events to that endpoint.

2. choose trigger

Use an opaque mailbox address for inbound email or a cron schedule for timed delivery.

3. receive events

Every trigger sends an HTTP POST to your endpoint with a structured JSON payload.

triggers

Start with email or schedule delivery with cron. Same endpoint model, same credit system.

email trigger

Every webhook can get an opaque mailbox address such as <mailboxId>@hook.echovalue.dev. Send an email and receive the parsed message as JSON.

cron trigger

Run scheduled webhook calls for periodic jobs, reminders, heartbeat checks, and automation workflows without hosting a scheduler.

structured delivery

Receive JSON payloads at your endpoint with a consistent event model across email, cron, and test triggers.

email-payload

What arrives at your webhook endpoint for the email trigger.

{
  "externalMessageId": "<CA+abc123@mail.gmail.com>",
  "receivedAt": "2026-04-04T09:21:35.218Z",
  "from": { "email": "john@gmail.com", "name": "John Snow" },
  "to": [{ "email": "r_abcd1234@hook.echovalue.dev", "name": "Support Inbox" }],
  "cc": [{ "email": "jane@gmail.com", "name": "Jane Doe" }],
  "subject": "Alert: Server down",
  "text": "Server #3 is not responding",
  "html": "<div>Server #3 is not responding</div>",
  "headers": { /* raw email headers */ },
  "attachments": [
    {
      "filename": "attachment.pdf",
      "contentType": "application/pdf",
      "size": 33380,
      "downloadUrl": "<presigned_url>",
      "downloadUrlExpiresAt": "2026-04-04T09:26:35.218Z"
    }
  ],
  "provider": "mail",
  "url": "https://hook.echovalue.dev/r_abcd1234"
}

from / to

Sender as an object and recipients as arrays with email and name. Use from.email to filter, route, or allow-list traffic in your handler.

subject

Perfect for routing logic — treat it as an event type or command keyword.

text / html

Email body in both plain text and HTML. Parse, store, or forward either format — your call.

attachments

Each attachment includes a short-lived downloadUrl (60 min TTL), filename, content type, and size in bytes. Max attachment size: 20 MB.

native-formats

Set format once. No payload handling on your end.

# Forward emails directly to Slack
curl 'https://api.echovalue.dev/webhook' \
  -H 'x-token: mytoken' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://hooks.slack.com/services/T00/B00/XXX","format":"slack"}'
% {"mailboxId":"r_abcd1234","email":"r_abcd1234@hook.echovalue.dev",...}

slack

Posts to any channel via Incoming Webhooks. Subject and sender formatted in Slack markdown. Setup guide →

discord

Delivers to a Discord channel webhook. Emails arrive as formatted messages with bold subject. Setup guide →

microsoft teams

Sends to a Teams channel via Workflow or Connector webhook. Compatible with both setup methods. Setup guide →

telegram

Sends via Telegram Bot API with HTML formatting. Works for personal chats, groups, and channels. Requires options.chat_id. Setup guide →

pagerduty

Triggers incidents via Events API v2. Subject becomes the summary, sender the source. Requires options.routing_key. Setup guide →

custom format

Define your own JSON template with placeholders. Map any email field (subject, from, text, html, attachments) to your webhook payload. Docs →

use-cases

Turn inbound messages and schedules into webhook-driven automation.

automation entry point

Zapier, Make, n8n, Power Automate — all accept webhooks. Unlike native email triggers, no OAuth or inbox access needed. Use an opaque mailbox address or scheduled delivery.

ai agent input

Email is the interface everyone knows. Turn it into programmable input for AI agents — classify, extract, triage, respond.

scheduled jobs

Run scheduled pings, reminders, periodic syncs, and heartbeat jobs without deploying a cron worker.

legacy integration

ERP systems, scanners, SCADA, printers — anything that sends email becomes webhook-capable. No code changes on the source.

notification hub

Centralize email alerts from multiple services into one endpoint. Forward to Slack, PagerDuty, or your own dashboard.

IoT & embedded

Hardware and industrial devices that can send email but not HTTP. A natural bridge to modern APIs.

sms gateways

Carrier SMS-to-email becomes SMS-to-webhook in one step. Zero infrastructure to manage.

pricing

Zero subscriptions. Pay per use. Credits never expire.

Free

$0
  • ✓ 100 credits
  • ✓ No credit card
  • ✓ No registration
  • ✓ Full API access
start free

Pro

$10 / €9.20
  • ✓ 3 million credits
  • ✓ No subscription
  • ✓ No expiration
  • ✓ Best value
buy credits

Cost per operation

Operation Cost
Configure webhook 1 credit
Get webhook config 1 credit
Delete webhook 1 credit
Email processed (no attachments) 2 credits
Email processed (with attachments) 5 credits
Scheduled webhook event 2 credits

Credits are shared across all echoValue APIs. Pay once, use everywhere.

Get Support

Questions, feedback, or feature requests about Webhook API.

Email

support at echovalue dot dev

Social