Tools & SaaS
Automating onboarding with Linear and Resend
When a new client signs, three things must happen right away. Here is the webhook that keeps me from forgetting.
Omar EljadiPublished on
For every new client I do three things right away: create a Linear project, send a welcome email with the next steps, and book a kick-off slot. I used to do it by hand. Now it is a webhook.
The idea
When a contract is signed, my CRM POSTs to a Cloudflare Worker endpoint. The worker fires all three actions in parallel.
// app/api/onboarding/route.ts
import { Resend } from "resend";
export async function POST(req: Request) {
const { clientName, clientEmail } = await req.json();
await Promise.all([
createLinearProject(clientName),
sendWelcomeEmail(clientEmail, clientName),
bookKickoffSlot(clientName),
]);
return Response.json({ ok: true });
}Why it is worth it
- No client waits: everything fires in under 5 seconds
- Nothing gets forgotten: failed steps send me a notification
- Reproducible: every client gets the same entry experience
Automation does not replace humans — it frees up time for the work that actually needs judgment.
If you want the implementation details of the three helpers (createLinearProject, sendWelcomeEmail, bookKickoffSlot), ask me: it can become a dedicated post.