Create a connection
Save Postgres, MySQL, SMTP, or a Telegram bot. Slack, Discord and HTTP keep the URL on the action. AES-256-GCM at rest.
HTML form or JSON webhook. Hookwal validates, queues, and runs a pipeline: Postgres, MySQL, SMTP, Telegram, Slack, Discord, HTTP, or disk. Secrets never touch the browser.
<form action="https://hooks.hookwal.app/form/token_a91f2c"
method="POST">
<input name="name" required>
<input name="email" type="email">
<textarea name="message"></textarea>
<button>Send</button>
</form>
The browser only knows a public form URL. Credentials, chat IDs, and inboxes live encrypted in Hookwal.
Save Postgres, MySQL, SMTP, or a Telegram bot. Slack, Discord and HTTP keep the URL on the action. AES-256-GCM at rest.
Whitelist domains, optional HMAC, CAPTCHA, honeypot, schema and mapping. Attach any mix of the 8 engine actions. Copy /form or /hook.
POST returns 202. SQLite queue, backoff retries, dead-letter. Replay the whole pipeline from Events.
These are the action types the Go worker actually runs. Stack them on one endpoint.
SMTP to / subject / HTML body. Templates like {{ payload.email }}.
bot_token connection. chat_id + HTML text.
Parameterized INSERT. table + column mapping whitelist.
Same mapping model against MySQL.
GET/POST/PUT, custom headers, outbound HMAC signing.
Incoming webhook URL + text. SSRF-guarded.
Discord webhook URL, content from the payload.
Atomic JSON write under storage/payloads/…
/form/{token} for HTML. /hook/{token} for JSON apps.Ingest on /form and /hook. Validate, transform, enqueue. Workers run the pipeline with retry and DLQ.
The same Go binary. Interfaces split like a real SaaS.
Endpoints, connections, events, replay. What you see after login.
Single binary. SQLite. Workers. No Redis required.
POST /admin/hooks, credentials, jobs, replay. Bearer token.
Cloud plans, invoices, on-prem quote — same pattern as a mail SaaS portal.
POST /hook/{token} for apps. POST /form/{token} for HTML. Admin routes behind a bearer token.
curl -X POST https://hookwal.com/hook/token_a91f2c \
-H "Content-Type: application/json" \
-H "X-Signature: sha256=…" \
-d '{
"name": "Ana",
"email": "ana@estudio.com",
"message": "hello"
}'
Start free. Upgrade when the form is converting.
Single binary, Ansible, your SQLite (or later HA). White-label the portal. Price on request.
amd64 / ARM. systemd unit in the repo.
Playbook already deploys nginx + the engine.
Events, endpoints and retention limited by hardware.
Portal and public form URLs under your domain.