EmailConnect is inbound only: it receives email and delivers it to your webhook as JSON. It does not send email on your behalf, and that is a deliberate choice rather than a missing feature. Sending well is its own job (IP reputation, bounces, complaints), and a dedicated sender does it better.
To reply to the emails you receive, pair EmailConnect with a transactional email provider. We recommend Scaleway Transactional Email (TEM): a French, EU-hosted sender. Any sender that lets you set custom headers works the same way.
Full walkthrough: Reply to inbound email with Scaleway Transactional Email — domain layout, DNS records, code for sending and matching replies.
What you need from EmailConnect
Every webhook payload carries the fields a threaded reply needs, on every plan, even when "Include envelope" is off:
envelope.messageId— the Message-ID of the email you received. Put it in theIn-Reply-Toheader of your reply.envelope.references— the conversation so far. Send it, plus themessageId, as theReferencesheader.envelope.inReplyTo— set when the customer replies to you, so you can match the reply to your conversation.
Store the Message-IDs of each conversation in your own app, including the ones of the replies you send: EmailConnect keeps an email only for your retention window.
Tag your reply address
Set a Reply-To with a plus tag naming the conversation, for example support+c_4821@in.yourdomain.com. When the customer replies, the tag arrives as message.recipient.tag, so you know the thread without parsing headers. Tags are free-form, so check that the conversation exists and belongs to the sender. See plus addressing.
Don't lose replies to a blackhole MX
Scaleway's TEM setup recommends an MX record on your sending domain and, if you have no mail server, suggests its blackhole MX (blackhole.tem.scaleway.com). Mail sent there is lost. Your sending domain already has an MX — your mailbox provider, or EmailConnect if you send from your in. subdomain — so keep it as it is.
Common questions
Can EmailConnect send the reply for me? No. Your app sends replies through your own sender account, from your own domain.
Which sender should I use? Any sender that lets you set In-Reply-To, References and Reply-To on what you send. Already sending your app's transactional mail somewhere? Use the same sender for replies if it supports these. Senders whose APIs accept them:
- Scaleway Transactional Email (France): any header as a key-value pair in
additional_headers,Reply-Toincluded. Our guide uses it. - Lettermint (Netherlands): custom headers through
headers, areply_tofield, and an option to keep a Message-ID you set yourself. - AhaSend (Netherlands): a conversational-message endpoint meant for reply-style mail, with custom headers through
headersand areply_tofield. It always generates the Message-ID itself and returns it in the response, so store that one.
Check before you choose: some APIs accept only non-standard (X-) headers, Brevo's for example, which rules out In-Reply-To and References there. Sending over SMTP instead of an API usually avoids this, because you build the whole message yourself.
Will replies show up in the same thread? Yes, when In-Reply-To, References and a Re: subject are set. Send a test reply to a Gmail or Outlook address and check the original message before going live.
Related
- Reply to inbound email with Scaleway Transactional Email — the full guide
- Using subdomains for email processing — receive on
in.yourdomain.com - What's in your webhook payload — every field, including the threading fields
- Webhook signing — verify a delivery before your app replies to it