Every feature

The long version, in full.

The home page has the short answer. This is everything Savvy DocuGen does, grouped the way you would actually evaluate it: what it connects to, how far into your data it reaches, what a template can do, and what happens after the document exists.

GenerationIncluded in Document Generation and everything above it.

+ CircularoNeeds your Circularo account connected - service 02 or 03.

End to EndNeeds the full loop - service 03, where sending and filing back happen on their own.

63Features on this page
5 levelsOf related records
40 MBLargest document
UnlimitedOrg connections
Show me what I get with

Connections

Connect as many orgs as you actually have.

Most teams do not have one Salesforce org. They have production, a couple of sandboxes, sometimes a second org from an acquisition, and a signing account that has to reach all of them. Every one of those can be connected at once, and each keeps its own setup.

One tenant, every org it needs

Acme ProductionLive
UAT SandboxSandbox
Dev SandboxSandbox
EU ProductionLive
StagingSandbox
+ moreAny number
Generation

Unlimited org connections

Production and sandbox orgs connected side by side, with no cap on how many. Each org keeps its own templates, rules and signing configuration.

Generation

Sandbox behaves like production

The same connection flow and the same features. Nothing is stubbed out, simulated or disabled because it is a sandbox.

+ Circularo

One token connects Circularo

Paste a single Circularo API token. From then on documents go out and signing status comes back without anyone re-authorising anything.

+ Circularo

Several Circularo accounts

Different business units or regions can sign under different Circularo accounts from the same place.

Generation

Nothing leaks between orgs

Templates, automation rules and signing setup belong to the org they were built in. Connecting a second org never disturbs the first.

Generation

Switch orgs without signing out

Move between connected orgs from the same screen. What you are looking at is always labelled, so you never edit the wrong one.

Generation

Connection health, visible

Every connection shows whether its stored credentials are still readable, rather than failing quietly the first time someone needs a document.

Generation

Credentials encrypted at rest

Salesforce, Circularo and storage credentials are all encrypted. If a key ever changes, the affected connection says so and offers a re-enter prompt.

Generation

Sessions refresh themselves

Salesforce tokens are renewed in the background. Nobody gets sent back to a login screen in the middle of generating a document.

Generation

Environment always labelled

Each deployment shows which environment you are configuring, so a change meant for a sandbox never lands on production by accident.

Generation

One owner per org

Where two deployments share a Salesforce org, only one is allowed to act on it. That single rule is what stops the same document being sent twice.

Generation

No managed package

Connection is through a standard authorised login. There is nothing for your security team to review before you can start.

Your data

Reach further than the record you started on.

A contract needs more than the Opportunity it came from. It needs the Account behind it, the owner behind that, and every line item underneath. All of it is fetched in one pass, not stitched together afterwards.

One record in, the whole chain out

Level 1Opportunity Name · Amount · CloseDate
Level 2└─ Account Name · BillingCity · Industry
Level 3   └─ Owner Name · Email · Phone
Level 4      └─ Manager Name · Title
Level 5         └─ Profile Name
Children└─ OpportunityLineItem[] → one table row each
   └─ Product2 → grandchild fields
Generation

Any object, standard or custom

Opportunity, Contract, Quote, Case, or Loan_Application__c and Tenancy__c - whatever your org actually calls things.

Generation

Five levels of lookups

Walk from the record up through parent after parent. The document sees the whole chain, not just the record it started on.

Generation

Child and grandchild records

Line items, and the products behind those line items, pulled through as repeating rows.

Generation

Self-healing queries

If a field is renamed or moved, the query adjusts and retries instead of failing the whole document.

Generation

Only what the template asks for

The query is built from the template itself, so nothing unnecessary is fetched and nothing needed is missed.

Generation

Your permissions still apply

It reads Salesforce as an authorised user. Anything that user cannot see does not reach the document.

Template content

Your document, not our idea of one.

Templates are the Word and PDF files your team already uses and legal already approved. You mark where the values go, and add logic only where the document genuinely needs to change shape.

Your Word file, with logic in it

Renewal Agreement.docx · template
{{! a field from the record !}}
Agreement for {{Account.Name}}, dated {{CloseDate}}.

{{! money, in the record's own currency !}}
Total value: {{#currency Amount}}   → AED 248,000.00

{{! prints only when the condition is true !}}
{{#if Discount__c}}
  A discount of {{Discount__c}}% has been applied.
{{#else}}
  Standard pricing applies.
{{/if}}

{{! one table row per child record !}}
{{#each OpportunityLineItem}}
  {{Product2.Name}} | {{Quantity}} | {{#currency UnitPrice}}
{{/each}}

{{! a logo or stamp from a field !}}
{{#image Account.Logo__c}}
Generation

Tables and repeating rows

One row per child record, expanding down the table. Works whether the loop opens and closes in one row or spans several.

Generation

Conditional content

Whole clauses, paragraphs or table sections that appear only when the record says they should.

Generation

Currency done properly

Amounts formatted in the record's own currency, including multi-currency orgs.

Generation

Images from fields

Logos, stamps and photographs pulled from a field and placed into the document.

Generation

Copy a template and adjust

Duplicate one that works and change what differs. The second document type takes minutes.

Generation

Mistakes caught before sending

Placeholders are checked against the object, with a closest-match suggestion when a field name is slightly wrong.

Bundles

Several documents, sent as one.

An onboarding pack is rarely a single file. Bundles merge a set of templates into one document, in the order you choose, signed in a single pass.

Four templates in, one document out

Cover letter
Master agreement
Fee schedule
1 PDF1 signature run
Generation

Ordered merge

Cover letter, agreement, schedule, annex - combined in the sequence you define.

Generation

Conditional documents

A template is included or skipped based on the record. Corporate customers get the corporate annex; individuals do not.

End to End

One signature run

The recipient signs once across the whole bundle instead of opening four separate requests.

Generation

Filed as one file

The signed bundle returns as a single document on the record, named by your pattern.

Generation

Reuse the same templates

A template can sit in several bundles and on its own. Fix it once, every bundle follows.

Generation

Up to 40 MB

The entire merged bundle, images included.

Output and filing

Where it lands, and what it is called.

Salesforce gives you two places to keep a file and they behave differently. The difference stops being academic the moment a document gets large.

Two places to file a document, and they are not equivalent

What you needFiles (ContentDocument)Notes & Attachments
Documents over 25 MBYes, up to 40 MBNo - Salesforce caps this at 25 MB
Modern Salesforce UINativeClassic related list
Version historyKeptNot kept
Shared across recordsYesOne record only
Existing classic processesMay need updatingWorks as before
Generation

You choose, per template

Set the store on each template. The generated document and its signed copy always land in the same place.

Generation

Dynamic filenames

Build the name from the record - Acme Corp - Renewal - 2026.pdf - so files are findable without opening them.

End to End

Signed copy named after the original

The pair sit together on the record instead of one being called document(3).pdf.

Generation

The 25 MB trap, called out

Choose Notes & Attachments and the product warns you about the Salesforce cap before you discover it the hard way.

Generation

Word or PDF out

Deliver the format the recipient expects, from the same template.

Generation

One copy, where you said

No duplicate landing in the other store to confuse people later.

Triggers

Produced when it should be, not when somebody remembers.

A document can come from a button someone presses, or from nobody doing anything at all. Both are configured per template, so different documents can work differently.

Any of these can start it

Button on the record Stage changes Field is set File appears Filename matches

generated → sent → signed → filed back

Generation

A button on the record

Pasted into your page layout or Flow. The user clicks, the document appears.

Generation

When a stage changes

Move an Opportunity to Closed Won and the agreement generates itself.

Generation

When a field is set

Any field, any value. The rule watches for exactly the change you name.

Generation

When a file appears

Watch a store for a matching file and act on it as soon as it lands.

Generation

Filename matching rules

Rules target documents by name pattern, so several rules run on one object without colliding.

Generation

Retries built in

A failed send retries on a schedule instead of quietly giving up.

Signing and protection

Who signs, in what order, and who may open it.

Everything about the signature run is set once on the template and reused every time it is sent. Nobody retypes an address or wonders who is next.

Signers resolved from the record, in order

1 Priya Raman
Opportunity.Owner.Email
Email OTP
2 Customer contact
Account.Primary_Contact__c
OTPPassword
3 Legal countersign
Legal_Approver__c
Conditional
+ Circularo

Anchor tags that hold

Mark where each signer signs once. The marks travel with the content when the document grows or repaginates.

End to End

Signing order and roles

Sequential or parallel. Signers are resolved from the record, so the right people receive it automatically.

End to End

Email OTP

A one-time code sent to the signer's address before the document will open.

End to End

Per-signer passwords

Typed in, or read from a field on the signer's own record so every recipient gets a different one.

End to End

Automatic reminders

Unsigned recipients are re-notified on a cadence you choose, plus a manual nudge when you want one.

End to End

Conditions per recipient

A signer receives the document only when their own record matches the condition you set.

End to End

Signed PDF written back

Filed on the same record, in the same store, named after the original.

End to End

Fails loudly, not silently

A password that cannot be resolved blocks the send with a clear reason rather than going out unprotected.

+ Circularo

Status on the record

Sent, opened, signed and filed, with timestamps, visible without leaving Salesforce.

After generation

The document does not have to stop with us.

Once a document exists it can be handed onward - to a system that archives it, a process that indexes it, or whatever else you already run.

Where it can go next

Signed document
Salesforce record
Your archive
Anything else
End to End

Hand off to any system

The finished document and its details can be passed to whatever comes next in your process.

Generation

Reporting on the whole flow

Volumes, completion rates and time-to-sign, with export when someone wants the numbers in a spreadsheet.

Generation

Notified when it matters

Signature complete, generation failed, or a reply arrives - in the app and by email, per person.

Generation

Retention you control

Set how long generated documents are kept. Templates, connections and users are never touched by it.

End to End

A record of what happened

Who signed, when, and from where - kept with the document, ready for the day somebody asks.

Generation

Every document, findable later

Every document produced is listed with the record it came from, the template used and what happened next. Nobody has to go hunting.

Sandbox

Prove it before it touches production.

Every feature on this page behaves the same against a sandbox as against production. Nothing is simulated, so what you sign off is what you get.

Same setup, moved when you are ready

SandboxProve it here
ProductionThen here
Generation

Connect a sandbox in minutes

Exactly the same flow as connecting a production org.

Generation

Run your real templates

Against real sandbox records, with real signing, end to end.

Generation

Promote when it works

Point the same configuration at production once you are satisfied.

Generation

As many sandboxes as you use

Dev, UAT and staging can all be connected at the same time.

Generation

Nothing reaches a real customer

Only one connected deployment is ever allowed to act on an org, so testing in a sandbox cannot send a document to somebody's actual inbox.

Generation

Survives a sandbox refresh

When a sandbox is refreshed, reconnect and carry on. Your templates, rules and signing setup are still there.

Bring one template. Watch it work.

Thirty minutes against your own sandbox. Your template, your records, the whole loop - generated, signed, filed back - before the call ends.

No managed package · Works with your existing org · Your own Circularo account