"use node"; import { internalAction } from "./_generated/server"; import { v } from "convex/values"; import { internal } from "./_generated/api"; import { AgentMailClient } from "agentmail"; // Send contact form email via AgentMail SDK // Internal action that sends email to configured recipient // Uses official AgentMail SDK: https://docs.agentmail.to/quickstart export const sendContactEmail = internalAction({ args: { messageId: v.id("contactMessages"), name: v.string(), email: v.string(), message: v.string(), source: v.string(), }, returns: v.null(), handler: async (ctx, args) => { const apiKey = process.env.AGENTMAIL_API_KEY; const inbox = process.env.AGENTMAIL_INBOX; // Contact form sends to AGENTMAIL_CONTACT_EMAIL or falls back to inbox const recipientEmail = process.env.AGENTMAIL_CONTACT_EMAIL || inbox; // Silently fail if environment variables not configured if (!apiKey || !inbox || !recipientEmail) { return null; } // Build email HTML const html = `
| From: | ${escapeHtml(args.name)} |
| Email: | ${escapeHtml(args.email)} |
| Source: | ${escapeHtml(args.source)} |