Notion contract signing integration
Notion holds playbooks, deal notes, and lightweight CRMs. It does not natively e-sign PDFs. Atlas adds signing through API create plus links back to Notion database properties.
> Share: "Notion button triggers middleware. Atlas review_url lives on the deal row."
Integration pattern
Notion button or status change (via automation tool) → Middleware reads Notion page properties → POST /api/envelope with document_url → PATCH Notion page with review_url + envelope_id → Human Send on Atlas review → Webhook updates Notion Signed checkbox + file link
Notion API cannot host signing iframes for external PDFs cleanly. Treat Atlas sign links as the ceremony surface.
Notion properties to add
| Property | Type | Purpose |
|---|---|---|
| Signer email | Party input | |
| Document URL | URL | PDF or DOCX location |
| Atlas review URL | URL | Human send gate |
| Atlas envelope ID | Text | Webhook correlation |
| Signed | Checkbox | Completion flag |
Keep contract PDFs in Notion file properties or linked Drive URLs. Pass a fetchable HTTPS URL to Atlas document_url.
Middleware example
Many teams use a Vercel function or n8n workflow triggered by Notion automation (via Make/Zapier/n8n Notion modules):
curl -X POST https://atlaswork.ai/api/envelope \
-H "Authorization: Bearer $ATLAS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"document_url": "https://cdn.example.com/msa.pdf",
"webhook_url": "https://your-app.com/hooks/atlas-notion",
"metadata": {
"client_reference_id": "notion-page-abc123",
"external_id": "abc123"
},
"parties": [
{ "email": "buyer@example.com", "name": "Buyer", "role": "Customer" }
]
}'
Update Notion via API:
curl -X PATCH "https://api.notion.com/v1/pages/{page_id}" \
-H "Authorization: Bearer $NOTION_TOKEN" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{
"properties": {
"Atlas review URL": { "url": "https://atlaswork.ai/review/..." },
"Atlas envelope ID": { "rich_text": [{ "text": { "content": "uuid" } }] }
}
}'
Webhook back to Notion
On envelope.signed:
- Verify Atlas HMAC signature
- Download signed PDF URL from Atlas API
- Upload to Notion (optional) or store link in URL property
- Set Signed checkbox true
- Add comment on page for audit trail
Notion file upload API accepts external URLs in some flows. Many teams store signed PDF in S3 and link the URL in Notion instead.
Notion-only limitations
Pure Notion automation without middleware cannot hold secrets for Atlas API keys. You always need a small server or automation platform for Bearer auth.
Notion buttons that open URLs can deep-link directly to review_url after middleware fills the property.
Templates for repeat contracts
Standard NDAs or SOWs should become Atlas templates. Notion button passes template_id to middleware which calls POST /api/templates/{id}/send with prefill from Notion properties (company name, effective date).
Security
- Notion integration token scoped to one database
- Atlas API key on server only
- Do not paste API keys into Notion pages
Rollout checklist
- Create Notion database with properties above
- Deploy middleware with Notion + Atlas secrets
- Send test envelope with PDF hosted on durable CDN
- Confirm review URL property updates
- Complete sign on phone
- Verify Signed checkbox and webhook latency under one minute
- Train ops on Send button responsibility for new doc types
Partner vs customer ceremonies
Notion databases often track both vendor agreements and customer MSAs. Branch middleware on a Select property (Agreement type) to pick template id and party role labels. One database can feed multiple Atlas templates without duplicating automation code.
Wiki and docs sync
Some teams embed Notion pages as contract playbooks while signing happens in Atlas. Keep playbook version id in envelope metadata so signed artifacts reference which policy version governed the deal.
FAQ
Can signers sign inside Notion? They sign on Atlas pages via email link or embedded redirect.
DOCX from Notion export? Export to PDF or upload DOCX to a URL Atlas can fetch.
Multiple signers? Pass ordered parties array. Track signed_count in a Notion formula via webhook updates.
MCP alternative? Founders can send from Claude with MCP and paste review URL into Notion manually for early stage.
Credits? Send consumes one credit. Draft create from Notion automation is free until someone clicks Send.
Related
- Airtable e-sign trigger (similar no-code database pattern)
- Vercel e-sign integration
- E-signature API
Extended FAQ
Notion AI for signing? Notion AI does not replace Atlas ceremony. Use API middleware.
Guest users in Notion? External collaborators see properties you expose. Hide API ids from guest views.
Version history? Notion page history is separate from signed PDF artifact. Store PDF URL after sign.
Mobile Notion app? Review URL opens Atlas in mobile browser for Send click.
Database sync lag? Webhook handler should PATCH Notion within seconds. Poll backup if automation fails.
API reference
Full route list and request schemas live at /dev. Start with E-signature API for the mental model, then use this guide for copy-paste examples.