Uniq owns the proposal step.
Your stack owns the rest.

Research (Clay, Apollo, your agent) → artifact (Uniq) → delivery (Instantly, Smartlead, CRM) → signal (webhook → follow-up).

Claude Code / Claude / Cursor — via MCP

One link, no install. Add the server, then talk to it. Example prompts that work verbatim:

# add the server (Claude Code)
claude mcp add --transport http uniq https://uniq.team/api/mcp \
  --header "Authorization: Bearer $UNIQ_API_KEY"

# then, in conversation:
"Create a proposal: seller uniq.team, prospect acme.com,
 focus on their agency clients. Give me the email + page link."

"Shorten that email to 80 words and make the CTA softer."   # → edit_artifact

"Any views on that proposal yet?"                            # → get_engagement

Clay — HTTP API enrichment column

Add an HTTP API column to your table (or describe it to Clay's AI setup and it auto-maps). Store the key as a saved header account — not inline. One proposal per row:

POST https://uniq.team/api/proposal
Authorization: Bearer <saved header account>          # never paste keys inline
Content-Type: application/json

{
  "sellerUrl": "yoursaas.com",
  "prospectUrl": "{{Company Domain}}",
  "webhookUrl": "{{your follow-up webhook}}"
}

# map back to columns:
#   proposalUrl        → "Proposal page"
#   email.subject      → "Email subject"
#   email.body         → "Email body"

n8n / Make — HTTP Request node

No custom node needed. Two copy-paste workflows ship in the repo's examples/: new CRM deal → closing kit → Slack, and positive reply (Instantly/Smartlead) → proposal → send on reply.

# the node, minimally:
Method   POST
URL      https://uniq.team/api/proposal
Auth     Header — Authorization: Bearer {{$env.UNIQ_API_KEY}}
Body     { "sellerUrl": "yoursaas.com", "prospectUrl": "{{$json.domain}}" }

# downstream nodes get: proposalUrl, email.subject, email.body, pitchHtml

The follow-up trigger — proposal.viewed

Pass webhookUrl when creating; the first open of the hosted page POSTs back. Point it at n8n, Make, Zapier, or your agent:

{
  "event": "proposal.viewed",
  "proposal_id": "x7k2m9q4p",
  "prospect_domain": "acme.com",
  "at": "2026-07-14T18:22:41Z"
}
# the highest-intent moment in outbound — follow up NOW

Apollo — list export → proposal batch

Any Apollo export with a domain column becomes a batch of branded kits (dedicated guide):

cat apollo-export.json | jq -r '.[].domain' | while read d; do
  npx @getuniq/cli propose --seller yoursaas.com --prospect "$d"
done

Instantly / Smartlead — reply-triggered proposals

The positive reply is the moment (guide). Point the reply webhook at your automation → call Uniq → answer on-thread with the page link. The first cold touch stays link-free.

HubSpot / Attio / any CRM — workflow webhook

A workflow webhook action calls /api/proposal with the company domain; writeproposalUrl back to the deal, route proposal.viewed into stage changes (HubSpot guide). Make and Zapier work the same way — one HTTP module.

CLI — any pipeline, any language

npx @getuniq/cli propose --seller yoursaas.com --prospect acme.com
# JSON to stdout → jq, files, queues, whatever your stack speaks