Skip to main content
The Vercel plugin handles incoming webhooks. Point your Vercel project’s webhook URL at your Corsair HTTP handler (see Overview for setup context).
New to Corsair? See webhooks and hooks.

Webhook map

  • deployment
    • created (deploymentCreated)
    • succeeded (deploymentSucceeded)
    • error (deploymentError)
  • project
    • created (projectCreated)

HTTP handler setup

app/api/webhook/route.ts
import { processWebhook } from "corsair";
import { corsair } from "@/server/corsair";

export async function POST(request: Request) {
    const headers = Object.fromEntries(request.headers);
    const body = await request.json();
    const result = await processWebhook(corsair, headers, body);
    return result.response;
}

Events

Deployment

Created

deployment.created Triggered when a deployment is created. Payload
NameTypeRequiredDescription
typestringYesdeployment.created
createdAtnumberYes
teamIdstringNo
payloadobjectYes
{
  deployment: {
    id: string,
    name: string,
    url: string,
    target?: string,
    meta?: Record<string, string>
  }
}
webhookHooks example
vercel({
    webhookHooks: {
        deploymentCreated: {
            before(ctx, args) {
                return { ctx, args };
            },
            after(ctx, response) {
            },
        },
    },
})

Succeeded

deployment.succeeded Triggered when a deployment succeeds. Payload
NameTypeRequiredDescription
typestringYesdeployment.succeeded
createdAtnumberYes
teamIdstringNo
payloadobjectYes
{
  deployment: {
    id: string,
    name: string,
    url: string,
    target?: string,
    meta?: Record<string, string>
  }
}
webhookHooks example
vercel({
    webhookHooks: {
        deploymentSucceeded: {
            before(ctx, args) {
                return { ctx, args };
            },
            after(ctx, response) {
            },
        },
    },
})

Error

deployment.error Triggered when a deployment fails. Payload
NameTypeRequiredDescription
typestringYesdeployment.error
createdAtnumberYes
teamIdstringNo
payloadobjectYes
{
  deployment: {
    id: string,
    name: string,
    url: string,
    target?: string,
    meta?: Record<string, string>
  }
}
webhookHooks example
vercel({
    webhookHooks: {
        deploymentError: {
            before(ctx, args) {
                return { ctx, args };
            },
            after(ctx, response) {
            },
        },
    },
})

Project

Created

project.created Triggered when a new project is created. Payload
NameTypeRequiredDescription
typestringYesproject.created
createdAtnumberYes
teamIdstringNo
payloadobjectYes
{
  project: {
    id: string,
    name: string
  }
}
webhookHooks example
vercel({
    webhookHooks: {
        projectCreated: {
            before(ctx, args) {
                return { ctx, args };
            },
            after(ctx, response) {
            },
        },
    },
})