Build a multi-step approval workflow with PandaDoc API
When your deals get larger and your contracts become more complex, it means more approvals that are unavoidable. This goes for legal, finance, sales, and other departments.
If the process is happening over email chains or message threads, you can bet there will be more delays, version confusion, and risk over compliance.
PandaDoc supports approval workflows in the UI, but a lot of teams want or need more control. For example, you might want:
Conditional routing that’s based on deal size
CRM-triggered approval logic
Automated enforcement before a document is sent
Real-time syncing of approval status back into internal systems
That’s why we have the PandaDoc API, which allows you to manage where docs are created, who they’re assigned to, and when they can move forward. What’s even better, you can do all this while using PandaDoc’s native approval capabilities to take care of the actual approval steps.
What this means for your business:
High-value deals automatically trigger the right approval chain
Your sales reps can’t send documents before the required approvals are complete
Approval routing can adapt based on your CRM data
Legal and finance teams will get more visibility without having to chase down documents
Approval status will sync back to your CRM in real time
Is a multi-step approval workflow right for you?
You’re a strong fit if:
You manage high-value contracts that require legal or finance to review
Discount thresholds trigger different approval levels
You generate docs from a CRM like Salesforce, HubSpot, etc.
You need approval policies to be enforced consistently across teams
You want sending to be controlled by the system instead of a rep
Consider alternatives if:
Your contracts hardly need internal review
Approvals are informal and low-risk
Each deal is heavily negotiated before any document is generated
You don’t need integration with any external systems
Common questions before you build
Does the PandaDoc API create custom approval steps?
No, approval steps are configured in PandaDoc templates, depending on your plan. Having an API won’t replace PandaDoc’s approval engine. Instead, it orchestrates it. That means you can use it to create documents, assign roles dynamically, control sending, and monitor approval status.
Can approvals be conditional?
Yes, but the conditional logic will exist within your system, whether that’s the backend or or your CRM.
For example:
If deal value is over $50K, assign Finance to approval role
If custom terms are selected, require Legal to approve role
Essentially, the API allows you to assign roles based on that logic before actually sending the document. That means all necessary approvals won’t be missed.
Can we prevent sending until approvals are complete?
Yes! Your system will control the “send document” API call, which means you can wait for approval-complete webhook events before triggering the send. This also assists in making sure all documents go out with the required approvals.
How to build a multi-step approval workflow: Step-by-step
Now let’s dive into a common step-by-step process for implementing an API-driven approval workflow.
1. Design your approval logic outside PandaDoc
First, you need to define the following:
What triggers approval?
Is routing sequential or conditional?
What data determines approvers?
What happens on rejection?
This logic typically lives in:
Your backend application
A middleware layer
Your CRM automation
Keep in mind that the API allows you to enforce the rules, while your system defines the rules.
2. Configure approval roles in your PandaDoc template
Inside PandaDoc, you need to:
Define approval roles, like Finance, Legal, VP Sales, etc.
Configure the required approval behavior
Set up any internal approval requirements
This is a key step that will help make sure the document structure supports approvals natively.
3. Create the document via API
Using the PandaDoc API, do the following:
Generate the document from a template
Populate variables with your CRM data
Assign approval roles based on your logic
You can then keep the document in a draft state until it’s ready. The document exists but cannot be sent until all approvals are all completed.
4. Trigger or wait for approval completion
Once the document is created, PandaDoc will manage approval steps internally. Your system will also “listen” for webhook events, like approval completed, document updated, rejected, etc.
Webhooks allow your backend to:
Track approval progress
Log timestamps for compliance purposes
Notify your internal teams
Escalate if needed
5. Enforce sequential progression programmatically
If your workflow requires strict sequencing, here’s what to do:
Do not send the document immediately
Wait for a confirmation that all the required approvals are completed
If rejected, notify Sales and restart process after making edits
The PandaDoc API will make sure that no document is sent prematurely. Plus, it will make sure any progression is controlled by system logic rather than manually.
This is the main difference between having manual approvals and an API-driven approval workflow.
6. Send the document after approvals are complete
When your approvals are finalized, you’re ready for the final steps:
Call the “send document” endpoint via the API
Notify the external recipient
Continue tracking signing events via webhooks
Once you get to this point, PandaDoc will handle the eSignature process as usual!
Implementation timeline and requirements
Typical scope: Expect 1–3 weeks for a production-ready integration, but this time frame will depend on how complex your CRM is and and your conditional logic.
Team requirements:
One backend engineer (API integration, webhook handling, routing logic)
RevOps or Legal Ops to define approval policy
Sales Ops to standardize templates and roles
Optional: CRM admin if triggering directly from Salesforce or HubSpot
Ongoing maintenance:
Once the API is implemented, your maintenance is pretty minimal. Most teams will need to update things like approval thresholds, templates, new contract types, etc. However, the core logic will remain stable.
Results
When you implement an API-driven multi-step approval workflow, you can expect to see:
Fewer documents sent without proper review
Shorter approval turnaround times
Clear visibility into bottlenecks
Reduced compliance risk
Consistent enforcement of pricing policies
The best part of using the PandaDoc API for your workflow is that your approvals will become structured and measurable. That means no more approvals slowing down your deals.
Next Steps
Ready to build a scalable approval workflow? Explore the PandaDoc API documentation or request a free demo today!


