AI website builder

Uebfaqe gives every website its own inboxwith OpenEmail.

Uebfaqe builds websites for businesses in Albania with AI. Each site gets a working email address: mail arrives in the owner's dashboard, replies stay in the thread, and newsletters go out from the site itself.

Visit uebfaqe.ai
services/siteInbox/replySiteInboxThread.ts
const sent = await getSiteMailClient().emails.send(  {    from: senderName ? { email: address, name: senderName } : address,    to: recipient,    subject,    html,    threadId: providerThreadId,    signature: false,    tracking: { opens: false, clicks: false },    tags: { site: websiteId, email: rowId, kind: 'transactional', source: 'reply' },  },  { idempotencyKey: `site:${websiteId}:${rowId}`, signal: AbortSignal.timeout(20_000) },)

A reply written in the dashboard is sent with the original thread id, so it lands in the same conversation on both sides.

20

SDK methods in use, across email, threads, files and domains

16

webhook events it acts on

Sep 2026

The month it started on OpenEmail

What runs through it

What Uebfaqe runs
on OpenEmail.

  • An address for every siteEach site gets an address on Uebfaqe's mail domain, picked from its subdomain or name. A renamed address keeps working as an alias.
  • An inbox in the dashboardIncoming mail arrives on a signed webhook, and Uebfaqe reads the thread from OpenEmail to show it to the site owner.
  • Threaded repliesReplies go out from the address the mail was sent to, inside the same thread.
  • Newsletters from the siteMarketing email goes out in batches, one message per recipient, each with its own unsubscribe link.
  • Branded domainsPremium sites connect their own domain. Uebfaqe adds it to OpenEmail, writes the DNS records when it manages the domain, and verifies it.
  • Files as linksAttachments are uploaded to OpenEmail and sent as a download link on the site's mail domain.

How it was built

How Uebfaqe
put it together.

  1. 01

    One mail domain for every site

    Uebfaqe pointed a single mail domain at OpenEmail with a catch-all, so a new site needs no setup at OpenEmail at all. Its address is just a row in Uebfaqe's database.

  2. 02

    Listen for every event

    A signed webhook delivers each event. Uebfaqe stores it, answers at once and processes it in the background, retrying with backoff if a step fails.

  3. 03

    Read the thread, keep the metadata

    For a new message Uebfaqe fetches the thread with threads.get and stores the metadata and a short snippet. Bodies and attachments load from OpenEmail when the owner opens them.

  4. 04

    Reply in the same thread

    Replies use emails.send with the thread id and an idempotency key, so a double click never sends twice.

Features in use

The OpenEmail features
Uebfaqe relies on.

Catch-all addresses

Every address on the domain receives, including ones that have never been created. One switch closes it.

hello@yourdomain.comdelivered
billing@yourdomain.comdelivered
careers@yourdomain.comdelivered
anything-at-all@yourdomain.comdelivered
oct-2026-signup@yourdomain.comdelivered
Webhooks

Tell your endpoint when mail arrives, instead of making you poll.

/threads?query=invoice
{ "threads": 12 }
Same mailbox, whether a person or a program is holding it.
Multiple domains

Point several domains at one inbox, subdomains included.

acme.comacme.devteam.acme.comhey.acme.io
See when mail you sent was opened

Whether a message you sent has been opened, when, how many times and which of its links were followed. Off until you turn it on, and plain about the readings it cannot get.

Files

Every attachment this mailbox holds, in one place you can search, download and clear out.

Typed SDKs

TypeScript, Python and Ruby clients, one method for every operation.

/threads?query=invoice
{ "threads": 12 }
Same mailbox, whether a person or a program is holding it.

Questions

Questions about
Uebfaqe and OpenEmail.

Mint a key.
Send something.

Full API, MCP and SDK access on every plan, the free one included.