What PandaDoc adds to Halo
PandaDoc is an ingest-only integration:| Mode | What it does |
|---|---|
| Ingest | Contracts sync into Halo, signer details are matched to companies by email/domain, and contract content is indexed as searchable knowledge. |
- Renewal tracking — Halo can pull renewal dates and contract terms from PandaDoc directly
- Contract awareness — the AI knows what’s been signed, by whom, and when, so it can answer questions like “When does our contract expire?” or “Did we sign the data processing addendum?”
Setup
Connecting
PandaDoc uses API key auth with an optional webhook shared key:- In PandaDoc, generate an API key.
- In Halo, click Connect PandaDoc.
- Paste the key (and optionally a webhook shared key for verification).
- Submit.
Webhook
Webhook URL:{appUrl}/api/integrations/pandadoc/webhook?team={orgId}
PandaDoc appends &signature=... to the URL when sending. Verification uses HMAC-SHA256 hex of the body with your webhook shared key.
Events processed:
document_state_changeddocument_completeddocument_sentdocument_vieweddocument_creation_completedrecipient_completed
Ingest mode
When ingest is on:| Data | Where it lands |
|---|---|
| Contracts | contracts table with provider: pandadoc |
| Signer details | Linked to end_users and companies by email match |
| Contract content | Indexed in knowledge under pandadoc: |
Status mapping
PandaDoc has many internal status codes; Halo normalizes them to a simpler set:| PandaDoc status | Halo normalized |
|---|---|
document.uploaded | Created |
document.draft | Draft |
document.sent | Sent |
document.viewed | Viewed |
document.completed | Signed |
document.expired | Expired |
document.declined | Declined |
| … | … |
Renewals from PandaDoc
When you sign a renewal contract in PandaDoc, Halo can pull:- Renewal date from the contract’s effective period
- Contract term from the contract length
on_contractflag
Notifications
PandaDoc doesn’t have its own notifications mode. When Slack is connected and thecontract_event notification type is enabled, Halo posts to Slack on every relevant PandaDoc webhook event:
- Contract signed
- Contract sent
- Contract viewed
- Contract expired
- Recipient completed
Stats
The integration page shows:- Total contracts synced
- Recent activity
- Webhook configuration status
Where to go next
Renewals
PandaDoc as a renewal data source.
Slack
Set up contract event notifications.