Back to Quote Generation & Follow-up

Process Runbook / SOP

How the automation works day-to-day: what is automatic, what needs a human, how exceptions are handled, and who to contact.

4 pagesPDF · Operations
FS-DOC-03Operations

Process Runbook / SOP

Quote Generation & Follow-up

[YourCompany.com] · Sales Department · Prepared by FullSpec · [Today's Date]

This runbook covers everything your sales team and sales manager need to know to operate the automated Quote Generation & Follow-up process day to day. It explains what the automation handles on its own, where your team steps in, how to respond when something goes wrong, and who to call if you need help. FullSpec built, tested, and monitors the automation end to end. Your team's only active role is the manager approval step, which arrives as a structured Slack message.

01Process overview

When a HubSpot opportunity moves into the 'Quote Requested' stage, the automation takes over immediately. The Quote Builder Agent reads the deal, fetches the correct pricing from Google Sheets, and builds a complete PandaDoc draft without any rep involvement. If the quote carries a discount above the agreed threshold, a Slack message goes to the sales manager for a one-click approval. Once approved, the quote is sent to the prospect through Gmail, HubSpot is updated automatically, and a timed follow-up sequence runs at day 3 and day 7 if the prospect has not responded. When the prospect signs, a draft Xero invoice is created and the HubSpot stage moves to Won. If the quote expires without a response, the stage moves to Lost and the rep is notified. The entire flow, from quote request to delivery, typically completes in under 30 minutes with no manual data entry.

Process name
Quote Generation & Follow-up
Trigger
HubSpot opportunity stage changes to 'Quote Requested'
Final output
Quote delivered to prospect, follow-up sequence running, HubSpot updated, and Xero invoice drafted on acceptance
Agents running
Quote Builder Agent, Approval and Send Agent, Follow-up and Close Agent
Tools involved
HubSpot, Google Sheets, PandaDoc, Slack, Gmail, Xero
Weekly volume
~10 quotes/week (approximately 40/month)
Human checkpoint
Sales manager reviews and approves the quote via a Slack message (required only when discount exceeds the agreed threshold)
Process owner
[Your name] — [Rep email]
Process Runbook / SOPPage 1 of 4
FS-DOC-03Operations

02Step-by-step: what happens and who acts

What you actually need to do: The only step that requires a human action is Step 5, the manager approval. When the Quote Builder Agent marks the PandaDoc draft as ready, the Approval and Send Agent posts a Slack message directly to the sales manager. The message contains the quote value, the discount applied, and a link to the PandaDoc draft. The manager clicks Approve or Reject within Slack. That single click is the only action your team needs to take for any standard quote. Every other step in this process is handled automatically by the agents.
Step
What happens
Who acts
Type
1
The HubSpot opportunity stage changes to 'Quote Requested'. The automation platform detects this change via a webhook and fires the workflow instantly, with no delay and no rep action required.
Automation
Automated
2
The Quote Builder Agent reads the deal data from HubSpot, including the client name, contact details, product lines, and any notes from the discovery call, then fetches the current matching prices from the master Google Sheets pricing table.
Quote Builder Agent
Automated
3
The agent populates the approved PandaDoc template with all client details, line items, pricing, any applicable discount, and the quote expiry date. The completed draft is saved in PandaDoc and flagged as ready for review. Any line items outside standard pricing bands are flagged in the document.
Quote Builder Agent
Automated
4
If the applied discount exceeds the configured threshold (15%), the Approval and Send Agent posts a structured Slack message to the sales manager's channel. The message includes a summary of the quote value, the discount amount, and a direct link to the PandaDoc draft.
Approval and Send Agent
Automated
5
The sales manager opens the Slack message, reviews the quote summary and the PandaDoc link, and clicks either Approve or Reject directly within Slack. If rejected, a brief reason can be added and the workflow pauses for rep review. This is the only step that requires a human action.
Sales Manager
Human
6
Once approval is confirmed (or automatically if no discount threshold is triggered), the Approval and Send Agent sends the finalised PandaDoc quote to the prospect through Gmail. The cover email is personalised using the contact record data held in HubSpot.
Approval and Send Agent
Automated
7
The HubSpot opportunity is automatically updated with the quote sent date, the PandaDoc document ID, and a stage change to 'Quote Sent'. No rep is required to log anything manually.
Approval and Send Agent
Automated
8
The Follow-up and Close Agent begins monitoring PandaDoc for open and signing events. If the prospect has not responded by day 3, a first follow-up email is sent through Gmail. A second follow-up is sent at day 7 if still no response.
Follow-up and Close Agent
Automated
9
When the prospect signs the PandaDoc document, the agent creates a matching draft invoice in Xero using the exact line items and values from the signed quote. The HubSpot opportunity stage is simultaneously moved to 'Won'.
Follow-up and Close Agent
Automated
10
If the quote reaches its expiry date without a signature or response, the HubSpot stage is automatically moved to 'Lost' and the assigned sales rep receives a notification so they can decide whether to re-engage the prospect.
Follow-up and Close Agent
Automated
Process Runbook / SOPPage 2 of 4
FS-DOC-03Operations

03Handling exceptions

Most quotes will complete without any intervention. The table below covers the situations most likely to need attention and explains exactly what the automation does first and what, if anything, you need to do.

Situation
What the system does
What you do
Missing or incomplete deal data in HubSpot (for example, no contact email or product line recorded)
The Quote Builder Agent detects the missing required field before attempting to build the document. It pauses the workflow and sends a Slack notification to the assigned sales rep listing the specific fields that are empty.
Open the HubSpot opportunity, fill in the missing fields, then manually re-trigger the workflow by moving the stage back to 'Quote Requested'. The agent will restart from Step 1.
Pricing not found in Google Sheets (product or SKU not matched in the master table)
The Quote Builder Agent flags the unmatched line item in the PandaDoc draft as '$0.00 — pricing not found' and pauses before sending. A Slack alert is sent to the process owner naming the unmatched product.
Add the missing product and price to the Google Sheets pricing table, then resume the paused workflow from the Slack alert link. Do not send the quote manually while the agent is paused, as this will create a duplicate send.
Duplicate quote detected (a quote document already exists for the same HubSpot opportunity)
The automation checks for an existing PandaDoc document linked to the opportunity before generating a new one. If a duplicate is found, the workflow stops and the assigned rep is notified via Slack with a link to the existing document.
Review the existing document in PandaDoc. If it is outdated or incorrect, archive it in PandaDoc and re-trigger the workflow. If it is valid, no action is needed and the existing quote remains active.
Sales manager does not respond to the Slack approval request within 4 hours
The Approval and Send Agent sends a reminder Slack message to the manager and copies the process owner. If no response is received within a further 2 hours, the workflow pauses and the rep is notified that the quote is on hold pending approval.
Chase the manager directly. Once they approve or reject in Slack, the workflow resumes automatically. If urgent, the manager can approve by replying directly in the Slack thread with the word 'Approve'.
Prospect does not respond and the quote reaches its expiry date without being signed
The Follow-up and Close Agent sends both scheduled follow-up emails (day 3 and day 7). On the expiry date it moves the HubSpot stage to 'Lost' and sends a notification to the assigned rep.
Decide whether to re-engage the prospect. If you want to send a revised or extended quote, move the HubSpot stage back to 'Quote Requested' with an updated expiry date in the notes. The automation will treat this as a new quote.
A connected tool is unavailable (for example, PandaDoc or Xero is experiencing an outage)
The automation platform detects the failed API call and retries the action three times over 15 minutes. If all retries fail, the workflow pauses at that step and an alert is sent to support@gofullspec.com and the process owner via email.
Check the tool's status page to confirm the outage. FullSpec monitors the alert and will resume the affected workflows once the tool is back online. If the quote is urgent, contact FullSpec at support@gofullspec.com and we will advise on a manual fallback for that specific quote.
Process Runbook / SOPPage 3 of 4
FS-DOC-03Operations

04Who to contact and when

Fill in the rows marked with placeholders once your team is confirmed. The FullSpec rows are fixed and do not need to be updated.

Role
Name
How to reach them
Process owner (Sales Manager)
[Your name]
[Email address] / [Phone or Slack handle]
Sales Rep (day-to-day user)
[Rep name]
[Email address] / [Slack handle]
Backup approver (if Sales Manager is unavailable)
[Backup name]
[Email address] / [Slack handle]
Google Sheets / pricing data owner
[Name of person who maintains pricing]
[Email address]
FullSpec builder (workflow issues, configuration changes, agent edits)
FullSpec Team
support@gofullspec.com — include your company name and a brief description of the issue
FullSpec support (general questions, access problems, billing)
FullSpec Support
support@gofullspec.com
Contact FullSpec at support@gofullspec.com for any of the following: a workflow that is stuck and not recovering on its own, a tool connection that has dropped, a quote that was sent incorrectly by the automation, or a request to change approval thresholds, follow-up timing, or any agent behaviour. Do not attempt to edit the automation platform configuration directly — all changes go through FullSpec to keep the workflow stable.

05Ongoing maintenance

The automation runs without daily attention, but a small number of routine checks keep it accurate and reliable over time. The table below sets out when each task is needed and who is responsible.

When
What to do
Who
Whenever pricing changes
Update the Google Sheets master pricing table with the new product names, SKUs, or prices. Ensure rows use the exact same column structure as the original clean table. Notify FullSpec if a new product category is added, as the Quote Builder Agent may need its lookup logic updated.
Pricing data owner (your team)
Whenever the PandaDoc quote template changes
Notify FullSpec before making changes to the PandaDoc template variables or layout. Variable names in the template must stay aligned with the field names the Quote Builder Agent uses. An unannounced template change can cause blank fields in generated quotes.
Process owner + FullSpec
Monthly spot-check
Review three to five recent quotes in PandaDoc to confirm that pricing, client details, and line items are populating correctly. Check that HubSpot stages are updating as expected on send and on close.
Process owner (your team)
Monthly error-log review
FullSpec provides a monthly summary of any workflow errors, retry events, or paused workflows. Review this summary and flag anything that indicates a recurring data or integration issue.
Process owner + FullSpec
When a team member joins or leaves
Update the Slack channel membership for the sales manager approval channel. If the approver changes, contact FullSpec to update the routing in the Approval and Send Agent. Update the contact table in Section 04 of this runbook.
Process owner (your team)
Quarterly volume review
Check whether the number of quotes per month has changed significantly (more than 20% above or below the current baseline of ~40/month). If volume has grown, confirm that API rate limits across HubSpot, PandaDoc, and Gmail are still comfortable. Contact FullSpec if you are approaching plan limits on any tool.
Process owner + FullSpec
The most common maintenance issue for this process is the Google Sheets pricing table going out of date or being reformatted. When a rep adds a new product row with merged cells, inconsistent column names, or a different tab structure, the Quote Builder Agent will fail to match pricing and will pause the workflow. Treat the pricing table as a live system dependency and restrict editing access to the one person responsible for maintaining it. Any structural changes should be reviewed with FullSpec before being saved.
Process Runbook / SOPPage 4 of 4

More documents for this process

Every document generated for Quote Generation & Follow-up.

Launch Plan
Operations · Owner
View
ROI and Business Case
Finance · Owner
View
Developer Handover Pack
Technical · Developer
View
Integration and API Spec
Technical · Developer
View
Test and QA Plan
Quality · Developer
View