📄

Proposal blocks always follow a human gate. Best practice in RenderDraw workflows is to place a human review gate immediately before the first proposal block. The gate ensures that AI-drafted content, AI-extracted quantities, and ERP pricing have been reviewed and approved by a human before anything is delivered to the customer or submitted to a CPQ system.

Complete Proposal Delivery Pipeline

AI Draft Generation

Proposal sections drafted with context

AI
👤

Human Review Gate

Estimator reviews and approves

Gate
📄

PDF Generation

Render proposal from template

Proposal
🌐

Conga CPQ Submit

Push to CPQ for pricing finalization

CPQ
📧

Email Delivery

Deliver to customer with PDF attached

Delivery

Salesforce Update

Update opportunity stage and attach PDF

CRM
Block Type

PDF Generation Block

The PDF generation block renders a proposal PDF from a configured template, with all variable fields filled from workflow data. The template defines layout, branding, static content (company boilerplate), and placeholder fields (customer name, pricing tables, project scope, AI-drafted narrative sections).

Template System

Templates are HTML/CSS documents with Handlebars-style field injection — {{field_name}} for simple values, {{#each items}} ... {{/each}} for repeating sections like line item tables. Templates are version-controlled — updating a template does not affect in-flight workflow runs using the previous version.

Configuration

  • Template selection: Choose from account-level PDF templates
  • Field mapping: Map workflow data fields to template placeholders — with support for nested objects and arrays
  • Conditional sections: Show or hide template sections based on workflow field values (e.g., include bonding section only if bonding_required is true)
  • Dynamic tables: Render line item tables from workflow arrays — unlimited rows
  • 3D embed: Include an interactive 3D viewer link or QR code linked to a GLB viewer URL
  • Page numbering: Automatic page numbers with configurable position and format
  • Watermark: Optional DRAFT or CONFIDENTIAL watermark text
  • Header / footer: Per-page header and footer with field injection

Template Snippet Example

<!-- Proposal header -->
<h1>{{project_name}}</h1>
<p>Prepared for: {{customer_name}}</p>
<p>Date: {{today_date}}</p>

<!-- Conditional bonding section -->
{{#if bonding_required}}
<section class="bonding">
  <h2>Bonding Capacity</h2>
  <p>{{company_bonding_statement}}</p>
</section>
{{/if}}

<!-- Line items table -->
<table>
  {{#each line_items}}
  <tr>
    <td>{{description}}</td>
    <td>{{quantity}} {{unit}}</td>
    <td>{{unit_price}}</td>
    <td>{{total_price}}</td>
  </tr>
  {{/each}}
</table>

Output

  • pdf_url: Signed download URL for the generated PDF (expires after configurable duration)
  • pdf_storage_path: Permanent storage path in the account's configured storage bucket
  • page_count: Number of pages in the generated PDF
  • file_size_bytes: Size of the PDF
Block Type

Conga CPQ Submit Block

The Conga CPQ submit block pushes workflow-assembled quote data into Conga CPQ (Apttus CPQ) for pricing finalization, approval workflow, and CPQ-side document generation. It bridges RenderDraw's AI-powered extraction and drafting pipeline with the existing Conga CPQ workflow your sales team uses.

This block is designed for organizations that have Conga CPQ as their system of record for quotes but want to automate the upstream work of extracting scope, looking up pricing, and drafting proposal content before the quote enters Conga.

Configuration

  • Salesforce OAuth connection: Conga CPQ lives in Salesforce — uses your configured Salesforce provider connection
  • Opportunity ID source: The Salesforce Opportunity ID to attach the CPQ quote to — typically from a CRM query block earlier in the workflow
  • Quote header fields: Map workflow data to Conga quote header fields (name, valid until date, payment terms, etc.)
  • Line items array: Map the workflow line items array to Conga quote lines — with quantity, unit price, product code, and custom field mapping
  • Price waterfall: Optionally trigger Conga's price waterfall (discounting, approval thresholds) after line creation
  • Output document: Optionally trigger a Conga Composer document generation run and attach the result to the Salesforce opportunity

Outputs

  • quote_id: Conga CPQ quote record ID
  • quote_status: Status after submission (Draft, Pending Approval, Approved, etc.)
  • total_price: CPQ-calculated total after price waterfall
  • document_url: URL of Conga-generated proposal document (if configured)

Conga approval workflow preserved. Submitting via the Conga CPQ block does not bypass Conga's internal approval workflow. If the quote total exceeds your configured Conga approval threshold, it will enter the Conga approval queue as normal. RenderDraw's human gate handles pre-submission review; Conga handles post-submission internal approval.

Conga Composer integration. The Conga CPQ submit block can optionally invoke a Conga Composer template after quote creation — generating a Conga-formatted proposal document and attaching it to the Salesforce opportunity as a ContentDocument. This replaces the manual "Generate Document" button click in Salesforce.

Block Type

DocuSign Envelope Block

The DocuSign envelope block creates a DocuSign envelope from a generated PDF or from a DocuSign template, configures signer routing, and sends the envelope for signature. It handles the full envelope lifecycle — creation, sending, and status monitoring via a companion status poll block.

Configuration

  • DocuSign OAuth connection: Configured in Settings > Providers
  • Document source: PDF from the PDF generation block (pdf_url), a static template from DocuSign template library, or a workflow file URL
  • Signers: Define signer roles — name, email, and signing order. Email addresses can be static or injected from workflow data (e.g., from the CRM query block)
  • Signature placement: Use DocuSign template with pre-placed tabs, or configure anchor text-based tab placement
  • Subject and message: Envelope email subject and body with workflow data injection
  • Expiration: Envelope expiration days (default 30)
  • Routing order: Sequential (signer 1 must sign before signer 2 is notified) or parallel (all signers notified simultaneously)

Outputs

  • envelope_id: DocuSign envelope ID for status tracking
  • signing_url: Embedded signing URL for the first signer (for in-app signing experiences)
  • status: Initial envelope status (sent, delivered, etc.)

DocuSign Completed Webhook

Pair the DocuSign envelope block with a DocuSign Connect webhook trigger to create a follow-on workflow that fires when all signers have completed. This "completion workflow" can:

  • Download the signed PDF from DocuSign
  • Archive to SharePoint / S3 / project folder
  • Update the Salesforce opportunity to Closed Won
  • Notify the project team that the contract is executed
  • Trigger the project initiation workflow

For contracts requiring DocuSign. The DocuSign envelope block replaces the manual step of exporting the PDF, uploading to DocuSign, and configuring signers — saving 10–15 minutes per contract and eliminating the risk of attaching the wrong document or incorrect signer email.

Block Type

Email Delivery Block

The email delivery block sends a transactional email with the proposal PDF attached, a 3D viewer link embedded, or a DocuSign signing link included. It supports rich HTML email templates with workflow data injection, multiple recipients, CC/BCC, and delivery tracking.

Configuration

  • Provider: MailerSend, Mailgun, Microsoft 365 SMTP relay, or Google Workspace SMTP
  • From: Sender name and email address — static or workflow-injected (e.g., send from the account manager's email address pulled from the CRM query)
  • To / CC / BCC: Static addresses or workflow field values — multiple recipients supported
  • Subject: Template with workflow data injection
  • Body: HTML email template with field injection — separate template per workflow
  • Attachments: Attach the generated PDF (from pdf_url), additional files from storage, or any workflow file URL
  • Delivery tracking: Enable open tracking and link click tracking (MailerSend / Mailgun)

Use Cases

  • Deliver completed proposal PDF to owner/customer contact from the account manager's email
  • Send DocuSign signing link with a personalized cover message
  • Notify the internal project team when a proposal has been submitted
  • Send a courtesy "RFP received" confirmation at the start of the workflow (before gate approval)

Email Template Example

Subject: Proposal — {{project_name}}

Dear {{customer_contact_name}},

Thank you for the opportunity to bid on {{project_name}}. Please find our proposal attached.

Our proposed approach includes:

  • {{proposal_summary_bullet_1}}
  • {{proposal_summary_bullet_2}}

Total proposed value: {{total_price_formatted}}

Please review the attached PDF and contact me with any questions.

Best regards,
{{account_manager_name}}

Block Type

Salesforce Update Block

The Salesforce update block closes the loop — writing workflow results back into Salesforce after proposal delivery. Update the Opportunity stage, attach the generated PDF as a ContentDocument, log the workflow run ID as a custom field, and create an Activity record documenting the proposal submission.

Configuration

  • Operation: Update existing record, create new record, or upsert (create if not exists)
  • Object type: Opportunity, Quote, Account, Activity, or any custom object
  • Record ID source: Static Salesforce ID, or from an earlier CRM query block output
  • Field mappings: Map workflow data fields to Salesforce object fields
  • File attachment: Attach a file (PDF URL) as a Salesforce ContentDocument linked to the record
  • Activity log: Optionally create a Task or Event record documenting the workflow action

Common Field Updates

  • StageName → "Proposal Submitted" (or your custom stage name)
  • Proposal_Submitted_Date__c → workflow run timestamp
  • Proposal_Value__c → total price from pricing block
  • RD_Workflow_Run_ID__c → workflow run ID for audit trail cross-reference
  • Proposal_PDF_URL__c → download URL for the generated PDF

Full-circle CRM hygiene. The combination of Salesforce Event Trigger (to start the workflow when an Opportunity reaches the bid stage) + Salesforce Update block (to update the Opportunity when the proposal is delivered) means your Salesforce pipeline stays accurate automatically — no manual stage updates, no forgotten attachments.

What Gets Written Back

  • Opportunity stage → "Proposal Submitted"
  • Proposal value field → total from ERP pricing
  • Proposal PDF → attached as ContentDocument
  • Submission date → today's date
  • Workflow run ID → for audit cross-reference
  • Account manager → confirmed from CRM query
Configuration

Mapping Workflow Data to Proposal Templates

Field Mapping Principles

Every proposal block uses field mapping to connect workflow data to the target system — PDF template fields, Conga quote line fields, DocuSign signer email addresses, Salesforce record fields. Field mapping is configured visually in the block settings panel — no code required.

The mapping editor shows all available workflow data fields on the left (accumulated from all upstream blocks) and all available target fields on the right. Connect them by drawing lines between fields, or use the auto-map feature to automatically connect fields with matching names.

Transform Expressions in Mappings

Where a simple field copy isn't enough — for example, you need to format a number as currency, concatenate first and last name, or compute a sum — the mapping editor supports inline transform expressions:

  • format_currency(total_price, "USD") → "$ 124,500.00"
  • concat(first_name, " ", last_name) → "Jane Smith"
  • sum(line_items, "total_price") → grand total number
  • format_date(due_date, "MMMM D, YYYY") → "September 18, 2025"

Conditional Sections in Proposals

PDF templates and Conga templates both support conditional sections — blocks of content that appear only when a workflow condition is true. Configure conditions in the template using Handlebars conditionals ({{#if bonding_required}}) or in Conga using conditional line logic.

Common conditional sections:

  • Bonding capacity section — appears only if bonding is required by the RFP
  • Prevailing wage compliance section — appears only if the project is a public works bid
  • 3D viewer section — appears only if a GLB conversion URL is present in the workflow data
  • Rush premium addendum — appears if the customer's deadline is within 5 business days
  • Subcontractor list exhibit — appears if the project type requires disclosure of subs

Proposals That Go Out On Time, Every Time

From RFP receipt to signed proposal delivered — automated, reviewed, and recorded. Start with your most common proposal type.

Related