Inbox + Agenda — one Kontacts per project

One inbox. One calendar. Per project.

Kontacts gives every project a real email address and a booking page. Incoming mail opens GitHub issues. Appointments land without the back-and-forth.

Free while in beta · no credit card
Connect GitHubInstall the GitHub App and choose which repositories it can see.
Add a projectLink one of those repos. Your project gets its own inbox address.
Point your domainTwo MX records, two TXT. We verify and show you exactly what's off.
Turn on issue creationOff by default. Flip "GitHub issues from inbound mail" under Settings → Routing — then every email opens an issue.
Share your booking linkcoming in betaOne link for the whole project team — no per-person subscription, and it survives someone leaving.
Pillar 1 — Inbox

Everything a project inbox needs. Nothing a SaaS wants.

Receiving is unmetered.
Unlimited aliasesEvery address at your domain lands in the project inbox. Which ones open issues is a list you control.
hello@bugs@support@anything@
DNS that explains itselfSPF and DKIM verified for you. We show exactly which record is wrong.
MX inbound-smtpTXT dkim._domainkeyTXT v=spf1
Mail in, issue outPoint a domain at a repo and flip the routing switch. Every email then opens an issue, and your reply from Kontacts posts back as a comment.
plannedSend from code — plannedA send API on your own domain is on the roadmap. Today, replies go out from your dashboard via your verified domain address.
$ curl -X POST kontacts.dev/v1/send \
  -d from="hello@acme.dev" \
  -d to="dana@northwind.io" \
  -d subject="Fixed in 3.2.2"
→ 202 queued · dkim signed
Pillar 2 — Agendacoming in beta

A booking page that belongs to the project, not to a person.

No Calendly subscription per person.
One booking link per projectShare one link and let anyone schedule time with the project team — not with you personally.
kontacts.dev/your-project
Team-owned, not person-ownedSomeone leaving the team doesn't break the booking link. Availability is shared across whoever is on the project.
danaon call Mon–Wedpriyaon call Thu–Frimarcoleft the team
Book, confirm, doneA visitor picks a slot the project is actually free for. The confirmation goes back to them, and the appointment lands on the project's agenda. No back-and-forth.
plannedMeetings in context — plannedA booking lands in the project inbox alongside the email thread it came from. One conversation, one place.
acme-api · one threadDana Whitfield — Webhook retries firing twice↳ issue #418 opened↳ 30 min booked · Thursday 09:30

Free while we're in beta.

No card, no checkout, no plan to pick. There is no billing in the product, so nothing here can charge you.
beta
$0for everything below
Start free
What you get today
  • Unlimited domains and repo bridges
  • Unmetered receiving — with issue routing on, every mail to a verified domain opens an issue
  • 10 outbound sends per account, per UTC day
  • Replies from your inbox post back as issue comments

We will charge for Kontacts eventually — we have not decided what for, or how much, and we will say so here before anything changes. A beta account is never converted into a paid one by silence.

Questions, answered short.

Do I need my own domain?Yes, for now. Receiving means pointing a domain — or a subdomain like mail.yourproject.dev — at Kontacts. A free address on kontacts.dev is planned, not built.
What is the Agenda pillar?A booking page that belongs to your project, not to a person. Share one link, and anyone can schedule time with whoever's available on the project team. No per-person subscription, and someone leaving doesn't break the link. It is being built now — the booking page is not open to visitors yet.
Does the bridge work on private repos?Yes. The GitHub App only ever sees the repositories you pick when you install it, and you can change that selection any time.
What stops spam becoming issues?Sender authentication. Once you turn issue routing on, mail to a verified domain still has to prove who sent it before it becomes an issue: we read the SPF, DKIM and DMARC results on the message and hold anything that fails, or that carries nothing to check at all — and if those results can't be read, we hold it rather than publish it. Held mail isn't dropped: it arrives in your Kontacts inbox marked Quarantined, tells you which check failed, and you can release it to open the issue if it turns out to be genuine. What this isn't is a content filter — a sender who really is who they say they are still opens an issue, however unwelcome the mail.
Can I leave?There's no self-serve export yet — it's planned. Until it ships, a data request to the address in our privacy policy gets you everything we hold.
Is it a full mail client or a full calendar?Neither. The inbox is built around the GitHub bridge — there's no IMAP today, so you can't point a desktop client at it. The calendar is built around the project booking page, not around your own day. It's project communication infrastructure, not a replacement for Fastmail or Google Calendar.

Your next project needs an address — and a booking page.

Claim your project