Frequently Asked Questions

How does it work?

When you create an account, you're assigned a special email address, like Once this special email address has been created, you can set a webhook URL that will be loaded every time your magic mailbox receives an email.

Magic Mailbox emails are ugly-looking, can you make it easier to remember?

We recommend that you use mailing lists or email aliasing to make the email address easier to remember. Some example instructions for settings up in Google's G Suite can be found here.

What is a webhook URL?

A webhook URL is a URL that we use to tell you when your magic mailbox received an email. We send the email data to this URL in the form of a JSON object that your web service can parse and use.

Do you store our emails?

When we receive an email, we try to send it via webhook to the recipient. If the webhook succeeds, we delete the email from our servers. Otherwise, we store it temporarily so that we can try again up to 3 more times. All emails are deleted automatically, as soon as possible.

What's the difference between Slack mode and custom mode?

In Slack mode, we send the email information in a format optimized for Slack message display. We leave out certain information like the email headers, which would not normally show up in a standard email client. In custom mode, we send all available email data to the webhook URL. Custom mode is not compatible with Slack incoming webhooks.

What data is sent to the webhook URL?

In custom mode, we send a JSON object with the following structure:

  • "mailbox": (String) The magic mailbox email.
  • "sender": (String) The sender of the email.
  • "from": (String) The "from" field of the email.
  • "to": (Array of string) The email addresses in the "to" field
  • "cc": (Array of string) The email addresses in the "cc" field
  • "subject": (String) The subject of the email.
  • "body": (String) The body of the email, as text.
  • "body_html": (String) The message body of the email, as html, if exists.
  • "attachments": (Array of Objects) Attachments to this email. These are images, files, etc.
    • "content_type"(String) The content type of the attachment.
    • "data": (String) The base64-encoded attachment.
    • "filename": (String) The filename of the attachemnt, if available.
  • "headers": (Array of Objects) All of the email headers for this email. Note, a header can appear multiple times with different values.
    • "name"(String) Name of the header.
    • "value": (String) Value of the header.
  • "timestamp": (String) When the email was received.

What happens if my webhook fails?

If your webhook returns a non-200 response code, we delay the email for future delivery. The webhook does not return a 200 response code in 3 attempts, the mail is returned to sender.

Is there a message size limit?

We reject messages with total size greater than 10 MB.

Do I need an invite code to sign up?

Currently, this service is in closed beta. If you'd like to be considered for the beta, please add your email address here and we will contact you in the future.

Will this service cost money?

Short answer, yes. Long answer, in the future, we expect to charge a small amount per successful webhook delivery, with a certain number of free webhooks per month. We might also have special discounts for students.

My question isn't listed here!

That's not a question!

What do I do if my question isn't listed here?

Please don't hesitate to reach out to Thanks for helping us expand this list!