Skip to main content

Get Started in 5 Minutes

This guide will walk you through creating your first inbox, sending an email, receiving emails via webhooks, and optional custom domain setup.
1

Sign Up & Get API Key

  1. Go to sendook.com and create an account
  2. Navigate to your dashboard and generate an API key
  3. Copy your API key - you’ll need it for authentication
Keep your API key secure! Never commit it to version control or expose it in client-side code.
2

Install the SDK (Optional)

You can use Sendook via direct API calls or the TypeScript SDK:
npm install @sendook/node
3

Create Your First Inbox

Create an inbox to send and receive emails. You can use a @sendook.com address (no verification needed) or your own custom domain.
import Sendook from "@sendook/node";

// Initialize client with your API key
const client = new Sendook("your_api_key");

// Create an inbox with a @sendook.com address
const inbox = await client.inbox.create({
  name: "support",
  email: "[email protected]"
});

console.log(`Inbox created: ${inbox.email}`);
console.log(`Inbox ID: ${inbox.id}`);
Domain Verification:
  • @sendook.com emails work immediately
  • Custom domains require MX records (receiving) and DKIM/SPF/DMARC records (sending)
4

Send Your First Email

Now let’s send an email from your inbox:
// Send an email
const message = await client.inbox.message.send({
  inboxId: inbox.id,
  to: ["[email protected]"],
  subject: "Welcome to Sendook!",
  text: "Thanks for trying Sendook.",
  html: "<p>Thanks for trying <strong>Sendook</strong>.</p>"
});

console.log(`Message sent: ${message.id}`);
Rate Limits: Each inbox can send up to 100 messages per hour. Need higher limits? Contact support.
5

Receive Emails with Webhooks

Set up a webhook to receive incoming emails in real-time:
// Create a webhook to receive emails
const webhook = await client.webhook.create({
  url: "https://your-app.com/webhooks/email",
  events: ["message.received"]
});

console.log(`Webhook created: ${webhook.id}`);
Available webhook events:
  • message.received - Incoming email received
  • message.sent - Email sent successfully
  • message.delivered - Email delivered to recipient
  • message.bounced - Email bounced
  • message.rejected - Email rejected
  • inbox.created - New inbox created
  • inbox.deleted - Inbox deleted
Test your webhook using the test endpoint:
await client.webhook.test(webhook.id);
6

View Messages & Threads

Retrieve and search through your messages:
// Get all messages in an inbox
const messages = await client.inbox.message.list(inbox.id);

console.log(`Total messages: ${messages.length}`);

What’s Next?

API Reference

Explore all available endpoints and methods

Webhooks Guide

Learn about webhook events and best practices

Custom Domains

Set up and verify your custom email domain

SDK Documentation

Deep dive into the TypeScript SDK

Common Use Cases

Create a [email protected] inbox and use webhooks to automatically route incoming support emails to your ticketing system.
const inbox = await client.inbox.create({
  name: "support",
  email: "[email protected]"
});

const webhook = await client.webhook.create({
  url: "https://your-app.com/create-ticket",
  events: ["message.received"]
});
Send order confirmations, password resets, and notifications from your application.
await client.inbox.message.send({
  inboxId: inbox.id,
  to: [user.email],
  subject: "Order Confirmation #12345",
  html: orderConfirmationTemplate,
  labels: ["transactional", "order"]
});
Use Sendook with AI to automatically handle incoming emails, like at Rupt.
app.post("/webhooks/email", async (req, res) => {
  const { payload } = req.body;
  
  // Process with AI
  const response = await ai.processEmail(payload.text);
  
  // Send automated reply
  await client.inbox.message.reply({
    inboxId: payload.inboxId,
    messageId: payload.id,
    text: response,
    html: `<p>${response}</p>`
  });
  
  res.sendStatus(200);
});

Need Help?

Join our Community

Get help, share ideas, and connect with other Sendook users

Build docs developers (and LLMs) love