Seegnals

Changelog

What changed, and when

Every product change that a customer can notice, in the order it shipped. API changes also live in the API changelog.

Blog, guides, glossary and documentation

Forty articles, four long-form guides, a forty-five term glossary and a developer documentation site, all written from the product as it is.

Programmes for startups and NGOs, with special pricing on request, arrived the same day.

13 read endpoints and the MCP server

GET endpoints for prospects, campaigns, enrollments, companies, replies, offers, suppressions, subscriptions and mailboxes, plus a remote MCP server with 18 tools mirroring the REST API.

Cursor pagination everywhere, credentials never returned, and the MCP server can do exactly what the REST API allows and nothing more. Documentation at seegnals.com/docs.

Stats tiles that open the filtered prospect list

Responded, Interested, Delivered and the By outcome tiles (Sent, Opened, Clicked, Replied, Autoreplied, Bounced, Opted out) open the Prospects tab filtered to exactly those people.

Company names in a campaign’s prospect list link to the company card, and the Companies view got a visible, draggable divider.

Subscribe and change plan with Stripe Checkout

My plan lists every tier with its price, Checkout handles the card, and the plan is written back both on return and by the webhook, so it works before the webhook is wired.

Past-due status shows a notice but never stops sending; that is a deliberate rule.

System notifications in one light template

Plan at 90%, plan exceeded, campaign paused by the bounce shield, first open of an offer and mailbox errors arrive as short emails with one link.

No heavy HTML: a subject, a few lines, one button.

Offers: visits, copy link, keyboard reader and an optional one-time code gate

The offer page lists every visit with device and depth, the public reader has keyboard navigation and print, and a gate can ask the reader for their email and a one-time code.

Unknown readers can request access; you approve from the notification. White-label domains and logos keep working with the gate.

Password reset, resend confirmation, and a closed SSRF

Forgot password and resend confirmation flows exist now; every server-side fetch of a user-supplied URL goes through one guard that blocks private addresses and redirects.

Account emails (confirmation, reset, invitation) are sent by Seegnals from its own mailbox with one light template, instead of the authentication provider’s defaults.

Campaign progress that means planned work done, and coloured statuses

The progress bar now counts a replied prospect as done, a campaign at 100% shows as Done, and Draft, Running, Paused, Done and Archived each have a colour and a word.

Before, two campaigns with the same numbers could show very different bars. The new definition matches how people read it: of everything we planned to send, how much is finished.

Hourly domain health: SPF, DKIM and DMARC per sending domain

Every sending domain is checked once an hour and the result shows on the Mailboxes page, the Deliverability tab and the dashboard.

A failed lookup shows unknown, never missing: a false alarm across forty mailboxes teaches people to ignore red.

Add and enrol in one call, suppressions and subscriptions over the API

POST /prospects accepts company_name and ?campaign= to enrol in one request; new endpoints exclude addresses or domains and subscribe a URL to one event type.

Enrolment follows the same rules as Add prospects in the app. Subscriptions (REST Hooks) cover new_reply, positive_reply, bounce and unsubscribe.

Clicked webhook event and the Zapier guide

Link clicks are delivered as a webhook event when a tracking domain is verified, and the in-app Zapier guide explains triggers and actions without a Zapier app.

Opened stays out of the webhook on purpose: privacy-protecting mail clients fetch the pixel whether or not anyone read the message.

Public API and signed webhooks

API tokens, POST and PATCH for prospects, and a workspace webhook signed with HMAC-SHA256 for sent, replied, bounced and unsubscribed.

Every workspace can now create API tokens in Settings and receive signed JSON events at one URL. Tokens are shown once and stored hashed; a revoked token gets 401 on the next request, never 500. The 60 requests per minute limit is per token.