import { NextResponse } from 'next/server' import { getCurrentAccount, toErrorResponse } from '@/lib/auth/account' import { runAutomationsForTrigger } from '@/lib/automations/engine' import type { AutomationTriggerType } from '@/types' /** * Manual trigger for testing or for external integrations that want * to fire automations. Auth is required — we resolve the caller's * account_id and dispatch over the account's automations. */ export async function POST(request: Request) { let accountId: string try { const ctx = await getCurrentAccount() accountId = ctx.accountId } catch (err) { return toErrorResponse(err) } const body = await request.json().catch(() => null) if (!body?.trigger_type) { return NextResponse.json({ error: 'trigger_type required' }, { status: 400 }) } await runAutomationsForTrigger({ accountId, triggerType: body.trigger_type as AutomationTriggerType, contactId: body.contact_id ?? null, context: body.context ?? {}, }) return NextResponse.json({ ok: true }) }