Before you start
API keys, webhooks and Zapier are on the Team plan. They belong to the workspace, and only owners and admins can manage them.
Go to Settings → Integrations and open the API & webhooks card in the AI & automation group. On another plan the card explains this and links to See plans.
Create an API key
- 1In the API & webhooks card, type a name under New key, such as the tool that will use it, and choose Create key.
- 2Copy the key straight away. It starts with veew_live_ and is shown only once. Veew keeps only a hash, so it can't show the key again.
- 3Store it in the tool that will call Veew. The card lists each key with when it was created and last used.
Revoke a key
Choose Revoke next to a key. Anything using it stops working at once, including a Zap connected with it. A key acts as the admin who made it, with their permissions, so it also stops working if that person leaves the workspace or the workspace leaves the Team plan.
Call the REST API
The base URL is https://veew.ai/api/v1. Send the key in an Authorization header: Authorization: Bearer veew_live_ followed by the rest of your key. For example:
curl -H "Authorization: Bearer veew_live_..." "https://veew.ai/api/v1/documents?status=accepted&limit=5"
Each key can make 60 requests a minute. A list returns at most 50 items. Errors come back as JSON with an error sentence and a code, such as unauthorized (401), plan_required (403), not_found (404) or rate_limited (429).
- GET /me
- What it does
- The key's member and workspace. Handy for checking a key works
- GET /deals
- What it does
- List deals, most recent activity first. Takes query and limit
- GET /deals/:id
- What it does
- One deal with its details, brief, meetings and documents
- POST /deals
- What it does
- Create a deal from company_name and optional company, contact, deal and notes. Returns the existing deal for a company you already have
- GET /documents
- What it does
- List documents. Filter by deal_id, status (draft, live, accepted, expired, archived) or query
- GET /documents/:id
- What it does
- One document. Add blocks=1 for its full content
- POST /documents
- What it does
- Create a document from a template under a deal. Set draft to true to have Veew write the copy, which takes up to a minute
- POST /documents/:id/draft
- What it does
- Have Veew draft or revise a document, with optional instructions. Allow 90 seconds
- GET /documents/:id/insights
- What it does
- Opens, visitors, sections read, countries, devices and recent activity
- GET /templates
- What it does
- List templates. The template value is what POST /documents takes
- GET /templates/:ref
- What it does
- One template's fields and sections
- POST /meetings
- What it does
- Add meeting notes to a deal from deal_id and notes, with an optional title and occurred_at
Add a webhook endpoint
A webhook sends events to your own server as they happen. Veew POSTs JSON to your URL.
- 1In the API & webhooks card, under Webhook endpoints, enter an Endpoint URL. It must be an https:// URL on a public host. A Name is optional.
- 2Tick the Events you want. document.accepted is ticked to start with.
- 3Choose Add endpoint, then copy the Signing secret. It is shown only once, and your receiver needs it to verify deliveries.
- 4Choose Send a test event on the endpoint. Veew sends a ping event at once and tells you the response it got.
Events
- document.published
- When it is sent
- Document published (link went live)
- document.sent
- When it is sent
- Document sent to recipients by email
- document.opened
- When it is sent
- Document opened by a buyer (first open per reader per hour)
- document.accepted
- When it is sent
- Document accepted
- document.commented
- When it is sent
- Buyer asked a question or replied on a document
- document.expiring
- When it is sent
- Link about to expire
- document.quiet
- When it is sent
- Document gone quiet, or never opened
- space.opened
- When it is sent
- Deal Space opened by a buyer
- deal.created
- When it is sent
- Deal created
What a delivery looks like
Each delivery is a POST with a JSON body containing id, type (the event), created_at, workspace_id and data. Document events include the document's title, status, company, deal and its edit, insights and live links.
Every delivery also carries three headers: Veew-Event (the event name), Veew-Delivery-Id, and Veew-Signature, which looks like t=1759425691,v1= followed by a hex signature.
Verify the signature
- 1Read the raw request body exactly as received. Don't parse and re-serialize it first, because any change breaks the signature.
- 2Split the Veew-Signature header into t (a Unix timestamp in seconds) and v1.
- 3Compute HMAC-SHA256 of the timestamp, a period, and the raw body, using the endpoint's signing secret, as a hex string.
- 4Accept the delivery only if your result matches v1 in a constant-time comparison and t is within a few minutes of now.
Retries, the delivery log and switching off
Any 2xx response counts as delivered. Veew waits 10 seconds for a reply and doesn't follow redirects. If a delivery fails, Veew retries it for about a day, waiting longer between each try, then gives up.
If an endpoint fails 20 times in a row, Veew switches it off and emails the person who added it. Events aren't queued while it is off. Once your receiver is back, choose Switch on to start it again and reset the count. You can also choose Switch off or Remove yourself. Removing an endpoint deletes its delivery log too.
Recent deliveries in the card lists the latest 25, each with its event, endpoint, response and status: Pending, Retrying, Delivered or Gave up. Choose Re-send to try a delivery again now.
Connect Zapier
Zapier uses an API key, so it is on the Team plan and an owner or admin creates the key.
- 1Create an API key in the API & webhooks card, named something like Zapier.
- 2In Zapier, make a Zap and search for Veew as the trigger or action app.
- 3Paste the key when Zapier asks you to connect Veew.
What Zapier can do
Your Zaps' triggers show in the API & webhooks card as subscribed Zapier triggers. Zapier manages them, so turn the Zap off to remove one. Documents a Zap creates are drafts: someone reviews and publishes them in Veew, and nothing is sent to a buyer without them.
- New Accepted Document (trigger)
- What it does
- A buyer accepts a proposal, deck or one-pager. Includes the buyer, their note and the package chosen
- New Document Open (trigger)
- What it does
- A buyer opens a live document, once per reader per hour
- New Buyer Comment (trigger)
- What it does
- A buyer asks a question or replies on a document
- New Deal (trigger)
- What it does
- A deal is created in Veew, by hand, from a CRM or by an AI app
- Create Deal (action)
- What it does
- Creates a deal for a company, or returns the existing one. Notes become its first meeting
- Create Document (action)
- What it does
- Creates a draft from a template under a deal. Can have Veew write the copy now
- Add Meeting Notes (action)
- What it does
- Adds notes, such as a call summary or email thread, to a deal
- Find Deal (search)
- What it does
- Finds a deal by company, deal or contact name
Last updated 2026-10-15.