n8n, Zapier and Make

No extra integration to install: automations use the same /v1 API and signed webhooks as any server. A key (olv_live_…) goes in the tool's header credential as Authorization: Bearer …; give it only the scopes the flow needs.

n8n workflows

Download one, then in n8n: Workflows → Import from File. Fill in the credentials (an HTTP Header Auth credential named for the Outlevo key, Slack, HubSpot, Google Sheets) and activate it.

WorkflowWhat it does
Interested reply → Slack and HubSpotOn lead.classified with class interested: verifies the signature, posts "Jane Doe at Acme is interested" to a Slack channel, reads the address (GET /v1/contacts/{id}) and creates or updates the contact in HubSpot.
New Google Sheet row → company in AccountsPolls a sheet; each new row is added with POST /v1/companies (Website, Company and an optional ID column as external_id). A company already in Accounts answers 409 COMPANY_EXISTS with its id, so nothing is added twice.

For the reply workflow: copy the Outlevo webhook node's production URL and subscribe it to lead.classified (the key needs webhooks:manage); keep the secret the answer returns as OUTLEVO_WEBHOOK_SECRET in n8n's environment. The Code node checks the Outlevo-Signature header over the raw body and refuses anything older than 5 minutes; on self-hosted n8n allow it the crypto module (NODE_FUNCTION_ALLOW_BUILTIN=crypto). The key needs contacts:read to read the address.

curl -s -X POST https://api.outlevo.com/v1/webhooks -H "authorization: Bearer $OUTLEVO_KEY" -H "idempotency-key: $(uuidgen)" \
  -H "content-type: application/json" -d '{ "url": "https://n8n.example.com/webhook/outlevo-lead-classified", "events": ["lead.classified"] }'

The sheet workflow's key needs companies:write. Domains are normalized the way Outlevo does everywhere (https://www.Acme.com/pricing and app.acme.com are acme.com), and a domain Outlevo knows belongs to another account lands on that account.

Zapier

Make

Events worth automating

lead.classified, lead.replied, meeting.booked, company.qualified, contact.discovered, handoff.created, job.completed. Every event and its fields: webhooks.

Spreadsheets, Excel and Notion

Accounts, Contacts and a campaign's leads export as CSV or Excel with the same filters as the lists:

curl -s "https://api.outlevo.com/v1/companies/export.xlsx?status=qualified" -H "authorization: Bearer $OUTLEVO_KEY" -o accounts.xlsx
curl -s "https://api.outlevo.com/v1/contacts/export.csv?company_status=qualified" -H "authorization: Bearer $OUTLEVO_KEY" -o contacts.csv
curl -s "https://api.outlevo.com/v1/campaigns/$CAMPAIGN_ID/leads/export.csv" -H "authorization: Bearer $OUTLEVO_KEY" -o leads.csv

Up to 5,000 rows come at once; for more, POST /v1/companies/exports (or /v1/contacts/exports, /v1/campaigns/{id}/leads/exports) with { "format": "csv", "filters": { … } } starts a job, and GET …/exports/{id} answers with a download link valid for 10 minutes once it is built (files are kept 7 days). Starting an export needs only the read scope (companies:read, contacts:read; leads need both campaigns:read and contacts:read). Cells that would run as spreadsheet formulas are prefixed with '. People who opted out are exported with that status and can_email no.

Notion has no Outlevo connection: export CSV and use Notion's Import → CSV (or drag the file into a page) to get a database.