Skip to integration content

How to integrate Unify with Vercel

To integrate Unify with Vercel, send a Play webhook to an HTTP endpoint backed by a Vercel Function. Your function authenticates the request, validates the prospect fields, and performs the action you implement. This is a custom application handoff with code your team owns.[1][3]

By UnifyDocumentation reviewed
Connection
Custom webhook
Developer platforms
Tool
Vercel
Vercel Function
Data flow
Unify → Vercel Function
JSON payload

At a glance

  1. Own the receiving code and its input contract
  2. Define whether acceptance means saved or completed
  3. Test the destination and repeated requests

When this workflow makes sense

Start with the decision your team needs to make, then choose the connection that supports it.

Use this pattern when the next action belongs in your own application. A sales team might need a prospect to enter an internal review process with rules that a generic automation cannot express clearly. Define the decision first: which records are accepted, what changes in the application, and who investigates failures. The function is the boundary where that contract becomes enforceable.

A good fit when

Teams with an existing Vercel application, a developer owner, and a specific action that needs custom validation or routing.

Reconsider the plan when

A simple destination action already available in an automation tool may not justify maintaining custom code. Also reconsider any design whose only success signal is a log line saying that JSON arrived.

Design the handoff

Use this framework to agree on the input, the next action, and who owns the result.

Suggested workflow design, based on the documented capabilities below.

StageDecision to make
InputAgree which prospect fields the application needs and reject incomplete requests before side effects.
ActionChoose a single owned application operation for the first version.
AcceptanceDefine whether the response confirms a completed action or a durably saved job.
OwnershipRecord who traces a failed handoff and where its final result is visible.

Explore the scenarios

Choose the situation that fits your team and work through the proposed plan.

Open a scenario to explore its plan. Checklists track your selections in this page only.

Create an internal prospect task

A selected prospect should appear in an application the operations team already uses.

The decision that matters

Define the task and its owner before connecting the request. Saving a payload is useful only if someone can act on it.

  1. Choose the application action and its required fields
  2. Implement the receiver and send the fictional prospect
  3. Inspect the task with its owner and trace the request to that result
Your validation checklist
0 of 3 checks marked by you
Separate acceptance from slower work

The intended action includes a dependency that may take longer than the sender can wait.

The decision that matters

Acknowledge only work that is completed or durably saved. Keep the later outcome visible outside the HTTP response.

  1. Choose a durable queue or workflow for the longer action
  2. Save the job before returning an acknowledgement
  3. Simulate a later failure and inspect the recorded final state
Your validation checklist
0 of 3 checks marked by you

Illustrative workflow, not a preconfigured automation. Complete these checks in your own account.

Connect your tools to Unify

Set up your integration or walk through it with our team

Define success before launch

Inspect the data and the intended outcome separately. Connection status is only the first check.

Expected, not tested

The function accepts an authenticated fictional prospect and the application creates or updates the intended task.

Match the request to its application result. A successful HTTP response proves only what your handler waits for before returning; inspect any later job separately.

Documentation-based reference. This workflow has not been tested end to end. Use a record or event you control before enabling live activity.

Questions answered

Common decisions when connecting Unify and Vercel.

Can Unify send a webhook to a Vercel Function?

Yes. Use a Unify Webhook action with the HTTPS URL of a function you deploy. The receiver must implement the prospect processing you want.[1]

Do I need a native Unify connector on Vercel?

This design uses an HTTP function endpoint and custom code. It does not depend on a native connector or a marketplace installation.[3]

Can I use a Vercel deployment webhook as the prospect receiver?

Use your application’s function route for this design. That route owns JSON parsing, validation, and the action on the prospect; choose its path explicitly.[3]

Can I wait for a long-running action before responding?

The receiving function may have a longer execution allowance, but Unify times out after 8 seconds. Design the acknowledgement around that shorter deadline.[2]

Does the response return enriched data to the Play?

No. Unify does not pass webhook response content into later Play steps. A return-data workflow needs a separate supported path.[2]

Limits & decisions

Check these boundaries before designing a live workflow around the connection.

  • Requires custom development and ownership of failures
  • No ready-made queue, deduplication, or destination action is supplied by this article
  • Authenticate machine requests separately from browser access to a preview
  • Proposed architecture only; no live endpoint or workflow has been executed

What the connection supports

Understand the connection, the data involved, and the behavior that matters for a Unify + Vercel workflow.

Connection flowCustom webhook
Custom application handoff

POST / JSON to a handler you build

Documented behavior at a glance
DecisionWhat to know
HTTP receiverA Vercel Function runs the handler code for incoming requests[3]
ConfigurationServer-side environment variables hold your receiver configuration[4]
Sender deadlineUnify waits up to 8 seconds for a response[2]
Runtime boundaryFunction duration and other limits depend on runtime and project configuration[5]
ObservabilityRuntime Logs expose function invocation details and application logs[6]

Technical setup reference

References and requirements for the Vercel connection.

Connection requirements and setup checklist

Before connecting

  • A Unify Play with a Webhook action
  • A Vercel project and a developer who owns the receiving code
  • An HTTPS route reachable by Unify and a server-side webhook secret
  • A defined destination action and a place to record its result
  1. Build the receiving route

    Create an HTTP handler in the framework you deploy to Vercel. For a Next.js App Router project, a POST handler at app/api/unify-webhook/route.ts exposes /api/unify-webhook. This is an example route you create, not a URL generated by Unify.[3]

  2. Validate before acting

    Implement the custom header check before any side effect. Reject missing credentials, invalid JSON, and records without the fields your action requires. Store the expected secret in the correct Vercel environment and deploy the receiving code with that configuration.[4]

  3. Configure the Play handoff

    Set the Unify Webhook action to POST with JSON and the deployed endpoint. Configure API Key (Header) to match your handler. Inspect Expand preview and send the fictional prospect before mapping real records.[1][2]

  4. Give acceptance a precise meaning

    Choose whether success means the action completed or a durable job was saved. Return within Unify’s 8-second timeout. For longer work, persist it in a queue or workflow you implement before acknowledging it; starting an untracked promise is not a completion check.[2][5]

  5. Trace the destination result

    Inspect the function invocation in Runtime Logs and the application record it affected. Use a correlation identifier without logging credentials. Send the same sample again and verify your intended repeat behavior.[6]

Request configuration

Method
POST
URL pattern
https://YOUR_APP.vercel.app/api/unify-webhook
Headers
Content-Type: application/json
X-Unify-Webhook-Key: YOUR_WEBHOOK_SECRET
Authentication
Suggested custom authentication: implement a check for X-Unify-Webhook-Key in your receiver and store the expected value as a server-side secret. In Unify, choose API Key (Header), use that header name, and enter the matching value. The header name is chosen for this example; the platform does not validate it automatically.

Choose JSON as the body format. Unify sets Content-Type automatically. The receiver must respond within Unify’s 8-second timeout; request responses are not passed to later Play steps.[2]

Replace URL placeholders with the actual receiver URL from your account or deployed application. These example URLs are not working endpoints.

Example handoff payload

Start with a fictional prospect. Validate the resolved values before using a real record.

Inspect the sample payload and field mapping
Example request body
{
  "event": "prospect_handoff",
  "prospect_name": "Alex Morgan",
  "prospect_email": "alex@example.com",
  "company_name": "Example Company",
  "company_domain": "example.com"
}

Fictional data. Replace sample values before using a real Play.

The keys are an example handoff format, not required Unify field names. Use the field mapping to distinguish record data from fixed settings. Select available fields in your Play and inspect Expand preview; do not replace configuration values with prospect data.[2]

Payload fieldValue to send
eventA fixed label you choose for this workflow
prospect_nameUse {{ person.first_name }} and {{ person.last_name }} for the prospect name
prospect_emailUse {{ person.email }}; decide how to handle missing values
company_nameUse {{ company.name }}
company_domainUse {{ company.domain }}

Treat prospect_name, prospect_email, company_name, and company_domain as an input contract for your own handler. Map only validated values into the destination action. The event field is a static label, not a unique delivery ID.

Troubleshooting

Start with the stage where the expected data or action stops appearing.

The endpoint returns a page or sign-in screen

Check that the URL reaches the deployed function route and that project access controls allow the machine request. A Vercel preview login is not your application webhook authentication.[3][7]

The custom secret is rejected

Check the header spelling, the expected secret, and the environment used by that deployment. Vercel environment changes apply to new deployments.[4]

Unify times out while the function is still running

Unify’s request deadline is separate from the Vercel execution limit. Reduce synchronous work or acknowledge a durably recorded job promptly, then inspect its final state.[2][5]

Sources & review

Official documentation reviewed on September 15, 2026.

Technical claims link to primary documentation from Unify and the destination tool. Scenarios, field choices, and recovery plans are editorial implementation examples. Documentation review is separate from execution testing.

Documentation reviewed; end-to-end execution not tested. No named technical reviewer has signed off on these articles yet.

Content updated: . Report a correction to Unify with the tool name, source URL, and behavior you observed.

  1. [1] Unify: Webhook action
  2. [2] Unify: Webhooks in Plays
  3. [3] Vercel: Functions
  4. [4] Vercel: Environment variables
  5. [5] Vercel: Function limits
  6. [6] Vercel: Function logs
  7. [7] Vercel: Deployment Protection

Get started with Unify

Create your account or book a demo with our team