Record-Initiated vs. Form-Initiated Document Generation

Two document generation platforms can produce the identical finished PDF and still be built on opposite assumptions. The difference is not the merge engine, the template format, or the conditional logic. It is a question asked before any of that: where does the data come from, and who put it there?

Answer that and most of the architecture follows on its own. It decides who needs a license, what happens when a field is empty, which system holds the truth, and what your integration has to do when the person supplying the information is not an employee.

Record-initiated: a record already exists → a merge pulls its fields → documents.
Form-initiated: a person answers questions → the answers select documents → the record is written.

The record-initiated pattern

In the record-initiated model, generation begins with a row that is already in the system of record. Someone opens an Opportunity, a Case, or a custom object, and clicks a button. The engine reads that record, queries related records, and merges the result into a template.

Conga Composer is the clearest example of this pattern at enterprise scale, and it is worth understanding on its own terms rather than as a straw man. A Composer configuration is anchored to a master object, and its behavior is driven through URL parameters keyed to a record — the mechanics are laid out in Conga’s own Composer parameter guide. Because generation is bound to the Salesforce object model, the platform’s reach is bound to it too: Conga documents that Composer runs on a specific Salesforce API version and cannot merge data from objects requiring a newer one.

That is not a flaw. It is the tradeoff of living inside the platform, and for a sales team generating quotes from Opportunities it is exactly the right tradeoff. The record is already there. The data is already clean. The user already has a seat.

DocuSign Gen sits in the same family, as does anything that begins with “select a record, then generate.”

The form-initiated pattern

Now change one fact: the information does not exist yet, and the person who has it does not work at the company.

A prospective client describing a dispute. An applicant declaring dependents. A tenant disclosing pets. A contractor identifying which state a project sits in. None of these people can open a record, and none of the fields the documents need are populated until they answer.

In the form-initiated model, an intake form is the origin. Its questions branch — the answer to question four determines whether questions nine through twelve appear at all — and the completed set of answers is what selects the documents. The record in the CRM is a result of the intake, not a prerequisite for it. That full circle is covered in from intake form to Salesforce record to completed documents.

The consequences are concrete. The person doing the data entry needs no license. The branching lives in the form, where the person answering can see it, rather than in a query they will never look at. And the document set is determined at the moment the last question is answered, not by a button someone remembers to press afterward.

What the two patterns actually share

It would be easy — and wrong — to claim that conditional multi-document selection is unique to one side of this line. It is not. Composer selects among templates conditionally. So does Formstack Documents. So do several others. Any vendor telling you they invented this is hoping you have not read the competition’s documentation.

What differs is not whether a platform can pick multiple documents from one set of inputs. It is where those inputs originate, who is trusted to supply them, and what the system does when they are incomplete. Those are architectural questions, and they have different answers depending on which end of the pipe you started building from. The discipline itself is worth understanding on its own: see why conditional multi-document selection is its own discipline.

Which pattern fits which problem

Reach for record-initiated when the data already lives in the CRM, the people generating documents are licensed users, the document set is stable, and volume is high. Quotes from Opportunities. Renewal notices from Contracts. Invoices from Orders. The record is the natural unit of work, and a platform built around it will serve you well.

Reach for form-initiated when an outside party holds the facts, the questions themselves branch, and the wrong document is worse than no document. Legal intake. Benefit applications. Tenancy. Enrollment. Anywhere the phrase “it depends on what they tell us” appears in the process description.

Most real organizations need both, which is why the interesting engineering is at the seam. A form-initiated intake can write its result into Salesforce and hand the finished packet back to the record through the DocupletionForms Salesforce API integration. A record-initiated event can travel out through Zapier into a form, be enriched by answers the record never held, and come back as a completed set — the pattern mapped in the Salesforce, Zapier, and DocupletionForms data-options overview.

Why the distinction matters for what you build

A record-initiated tool asked to handle external intake will grow a portal. A form-initiated tool asked to handle high-volume internal generation will grow a batch runner. Both work. But the shape of the thing you inherit — the licensing, the permissions model, the failure behavior — is set by the first decision, and reversing it late is expensive.

DocupletionForms is form-initiated by design and does not pretend otherwise. One intake, branching on rules the practice owns, selecting and populating the documents the answers call for, then returning them to the system of record. The selection is rule-based rather than AI-driven — identical answers produce identical documents, every time, which is the property that makes the output auditable. The packet mechanics are in multi-document data-merge from Salesforce records, and the branching logic in conditional logic from Salesforce data.

If you are an integrator scoping a build, the first question is not which vendor. It is which end of the pipe the data enters from. Answer that and the shortlist writes itself.

Related reading: DocupletionForms as the document packet engine for integrators, the last-mile problem after Salesforce automation, and Salesforce custom objects to completed PDF packets.