
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]
- Connection
- Custom webhook
- Developer platforms
- Tool
- Vercel
- Vercel Function
- Data flow
- Unify → Vercel Function
- JSON payload
At a glance
- Own the receiving code and its input contract
- Define whether acceptance means saved or completed
- 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.
| Stage | Decision to make |
|---|---|
| Input | Agree which prospect fields the application needs and reject incomplete requests before side effects. |
| Action | Choose a single owned application operation for the first version. |
| Acceptance | Define whether the response confirms a completed action or a durably saved job. |
| Ownership | Record 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.
Define the task and its owner before connecting the request. Saving a payload is useful only if someone can act on it.
- Choose the application action and its required fields
- Implement the receiver and send the fictional prospect
- Inspect the task with its owner and trace the request to that result
Separate acceptance from slower work
The intended action includes a dependency that may take longer than the sender can wait.
Acknowledge only work that is completed or durably saved. Keep the later outcome visible outside the HTTP response.
- Choose a durable queue or workflow for the longer action
- Save the job before returning an acknowledgement
- Simulate a later failure and inspect the recorded final state
Illustrative workflow, not a preconfigured automation. Complete these checks in your own account.
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.
POST / JSON to a handler you build
| Decision | What to know |
|---|---|
| HTTP receiver | A Vercel Function runs the handler code for incoming requests[3] |
| Configuration | Server-side environment variables hold your receiver configuration[4] |
| Sender deadline | Unify waits up to 8 seconds for a response[2] |
| Runtime boundary | Function duration and other limits depend on runtime and project configuration[5] |
| Observability | Runtime 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
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]
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]
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]
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/jsonX-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
{
"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 field | Value to send |
|---|---|
event | A fixed label you choose for this workflow |
prospect_name | Use {{ person.first_name }} and {{ person.last_name }} for the prospect name |
prospect_email | Use {{ person.email }}; decide how to handle missing values |
company_name | Use {{ company.name }} |
company_domain | Use {{ 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]
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.