GET STARTED


Install, Setup & Register

30-day free trial!
Install from the AppExchange and configure PDF Butler in 10 minutes. All that needs to be done to get started!

Create your first quote

Create your first quote document in just 15 minutes. Learn the basics of selecting data, replacing mergefields and repeating rows. Use the template document as a starting point!

PDF BUTLER BY CONFIGTYPE


A ConfigType will make the link between data and the action to take on the MergeField in the MS Word Document.

Download demo document here

SINGLE

Use the SINGLE to do 1-on-1 replacements from SFDC Data into the document

TITLE

The TITLE ConfigType manages name of the generated document. Use MergeFields to control the name.

PARAGRAPH

Every Enter is a Paragraph in MS Word, also bullet-point or numbered lists are paragraphs. You can repeat these or add criteria to show or hide paragraphs.

TABLE_ROW

Repeating rows in a table is key, learn how to repeat rows and give an overview of the products. You can repeat these or add criteria to show or hide rows.

TABLE

Just as row, repeat entire tables. You can repeat these tables or add criteria to show or hide the table.

TABLE_BLOCK_NON_EMPTY_LIST

A table is a content container in PDF Butler. Show all contents of a table if a DataSource has records.

TABLE_ROW_NON_EMPTY_LIST

A row is also a content container in PDF Butler. Show all contents of a row if a DataSource has records.

TEXTAREA

Add TextArea fields from and format these as expected. TextArea Fields can have enters and parts on new lines. PDF Butler will format these perfectly

Criteria

Use complex criterias to decide if you want to process records or show/hide Paragraphs, TableRows or Tables.

SINGLE Criteria Rules

SINGLE ConfigTypes are great, but sometimes there is some logic involved and you need more control on which field or static text to show. Great example is if you have mulitple fields for translations of your product names or descriptions, depending on the language you want to use the correct field.

CONDITIONAL SECTIONS

Sections in MS Word documents help to switch between Landscape and Portrait, change headers, footers, ... . With PDF Butler you can decide to show or hide these complete sections.

PICTURE

Dynamically load pictures from Salesforce into your documents. Linked to records, eg products. Multiple linked to a single record, eg case. And the super complex stuff to add APEX to get exactly what you want.

Product pictures (not complex):

Product Picture template

Case pictures (medium complex):

Case Pictures template

Logo pictures (very complex):

picture placeholder

Optimize your pictures for size
PICTURE TO URL

Emails need pictures. This will explain how to feed the URL of the pictures, coming from Salesforce FILES, to PDF Butler so the email clients will know how to show the email correctly .

Mergefield replace actions

Some Mergefields are only for identifying structures in the document, for instance a Table or a Row. When the document is generated, you do not want to see these anymore. So these will not be replaced via a SINGLE ConfigType.
Of course, you do not want to see these in the resulting document.
PDF Butler allows full control over your mergefields. The lesson shows how to control the removal of MergeFields.

Barcode & QR-code generator

Want to print barcodes on your documents. Use your input data to generate barcodes and QR-codes. There are many types available but the most famous ones are CODE 128 and QR.

RICH_TEXT

Handle SFDC rich text fields. These fields are HTML snippets that can be compiled into the document.
This video will show how to add them to a document and how to more specifically define which styles and classes (remember it is HTML) you want to keep.

RICH TEXT PICTURES

SFDC Rich Text fields can have pictures. Overall we a are not a big fan of this but we do support them.
PDF Butler might be the only solution that supports Rich Text Pictures in a robust, rock-solid way.
If you want to use Rich Text Pictures, contact support@pdfbutler.com to get our free add-on
The class to use in the Actionable: PDFButler_Actionable_RichTextPics

TABLE COLUMN REMOVER

Via the TABLE_COLUMN_REMOVER, you can decide to show or hide certain columns in a table.
For instance, if you want to hide the Discount column when there no discounts, this is perfectly possible.
If the option is disabled, contact support to enable it for free: support@pdfbutler.com

PDF BUTLER BY DATASOURCE


A DataSource indicates how to get data from Salesforce but also describes the data.

Download demo document here

picture placeholder

SINGLE DataSource

Select exactly 1 row from SFDC. This is mostly the row related to your record you are working on: Quote, Opportunity, Case, ...!

LIST DataSource

Select multiple records. Mostly records related to the record you are working on. Eg Opportunity Products, Quote Lines, Assets, ...

Picklist translations DataSource

Get translations on your picklists directly from the Translation Workbench

PICTURE DataSource

Use picture, eg logo or thumbnails, from Salesforce DOCUMENTS, FILES or ATTACHMENTS

Nested DataSources

Select your data in your complex data models. This is one of the most powerful features of PDF Butler but hard to understand. Nested DataSources, the mystery revealed ;-)

Rollup summaries

Rollup summaries in Salesforce are cool but sometimes not available or you have none left. We got you covered.

Full SOQL Power

Take control over your DataSource. Write your own SOQL's and use the full power of Salesforce.com. Use GROUP BY, AVG/SUM/MIN/MAX/.., LIMIT, complex WHERE clauses, ...

KEYVALUE

Take control over your DataSource. Write your own SOQL's and use the full power of Salesforce.com. Use GROUP BY, AVG/SUM/MIN/MAX/.., LIMIT, complex WHERE clauses, ...

Download documentation here

Static Values

Sometimes it is easier to re-use certain data instead of having it hardcoded in your document templates. Static values can be used for this purpose. For instance company addresses, names of persons, ... . Keep them in an easy to manage and re-usable Static datasource and use them in multiple templates.

Late Binding Dynamic Pictures

Sometimes it is required to load a large amount of pictures. The special thing here is that the pictures are not loaded in Salesforce but directly in PDF Butler. This enables us to bypass certain Salesforce limits and to faster load these pictures when they come in large amounts (up to 300). PDF Butler will load the pictures in parallel to optimize the generation speed.

PDF BUTLER LIGHTNING COMPONENTS


Our managed package has a some unique and great Lightning components that have been improved the past 2 years to support almost any process.

CONVERTOR

Lightning component handles your DocConfigs, your Packs, upload static files, downloads, viewer, ... all in 1 component.


Enabling with Clickjack protection:
PRE-VIEWER

In some cases, you want to review the document before saving, emailing, signing, ... . The previewer Lightning component shows your document and proposes the actions to take.


Enabling with Clickjack protection:
FILE SELECTOR

Select of FILE related to your eg Opportunity and use that emailing, signing, ... . The Lightning component shows all files and the actions, PDF Butler Packs, that are related.

CLASSIC BUTTON

Still on Classic, that happens but no worries PDF butler can be called from anywhere.

Translating DocConfig names for the Convertor Component

In multi-language environments, it might be required to translate the DocConfig in the language of the user. With a translation DataSource, this is perfectly possible. Via the Locale of the User, the translation will be selected for each DocConfig.

Lightning Quick Action Previewer

Use the Previewer in Lightning Flows, Safari Browsers, Salesforce Mobile, VisualForce, ... .

In this episode learn how easy we made it to define a specific Component that allows to configure a Quick Action.

See the full code example in the Word file you can download below.

Get the component by contacting: support@pdfbutler.com

PDF BUTLER PACKS


Combining DocConfigs so multiple can be generated in 1 go (and can be merged into 1 document). Adding actionables to docconfigs. Re-using the same docConfig and set it up for different actions, eg pack for mailing, pack for digital signatures, other before/after actionables, running custom code, … .

Create PACK with additional DocConfigs

Create a Pack and combine multiple DocConfigs. Learn how to use separately or merge.

Actionable AUTO_EMAIL

Use your Salesforce email templates to sent out an email with your document attached.

Actionable EMAIL_DOCCONFIG

Need a more fancy email then the one Salesforce email templates can produce or need to display data from more sObject in a complex data model? Create your email in MS Word and use all of the PDF Butler goodies to sent out an email with your document attached.

Actionable SIGN Butler

Create your document and sent it out for digital signature via SIGN Butler for perfectly legal signatures.

Actionable DocuSign

Create your document and sent it out for digital signature via DocuSign.

Actionable AdobeSign

Create your document and sent it out for digital signature via AdobeSign.

Actionable run APEX Class

Customize the PDF Butler process directly in Salesforce. Need to retrieve data from backend, do some serious calculations, prepare variables, take custom actions when the document is generated, ... . We got you covered!

Download documentation here

PDF BUTLER SALESFORCE AUTOMATION


Our vision is to start your document generation process in a single click but we can do even better ;-). How does zero-click sound?

Lightning Flow

Lightning Flow is a great tool to build business logic and represent it visually. You can just plug in PDF Butler in your Flow

Download documentation here

Process Builder

Want to handle events, use the most popular ADMIN tool on the Salesforce platform: Process builder.

Download documentation here

Call PDF Butler via a Button

Lightning components or buttons, we give you the option. You can use both and have the same powerful experience for your user.

Download documentation here

Lighting Flow introduced variables

You might have a use-case in which your end user needs to select data or ranges and you want to use that information to select data for PDF Butler to handle. We got you covered and you do not even have to write APEX!

Download documentation here

Call PDF Butler from APEX

Automation sounds great but you are taking it to the next level... APEX!

Download documentation here

Use APEX to Add Datasources

We can cover so much in our Datasources but you might have a use case that is even harder! Complex grouping, calculation, integration with backend systems, tranformation of data, ... . With an APEX Actionable, you can prepare your data in APEX before PDF Butler handles it. No need to store your transformed data, calculated Just-In-Time and passed on to PDF Butler.

Download documentation here

Permission Set Groups

A permission set group streamlines permissions assignment and management. Use a permission set group to bundle permission sets together based on user job functions. Users assigned the permission set group receive the combined permissions of all the permission sets in the group. Permission set groups with PDF Butler (but also BULK, COLLABORATION and SIGN Butler) is the best way to use the permissionsets from the managed package without cloning.
Best to setup 2 types of permission set groups:

  • Admin: all permission an Admin, someone who manages the templates and config, requires
  • User: all permission a User, someone who only needs to create documents, requires

Salesforce documentation

Admin Permission Set Group User Permission Set Group

PDF BUTLER FOR SALESFORCE CPQ


CPQ spells:

  • structuring products,
  • bundles,
  • groups,
  • complex data models.
PDF Butler is designed from the ground up to handle these and to convert your bundles and products into perfectly structured quotes.

Top tip: Make sure to check out our Get Started first: Get Started in 30 mins

Multi-level CPQ products

Transform your view in CPQ "Edit Lines" to your document. Your customers deserve a well-structured quote document that gives a perfect overview.

Download document here

The full video:

Or in smaller chunks:
  • PART 1 - Problem and solution:
  • PART 2 - From scratch to our first PDF:
  • PART 3 - Second level of products:
  • PART 4 - Third level of products:
  • PART 5 - Product logo’s:
  • PART 6 - Wrapping up:
Using CPQ Groups

Using groups in your "Edit Lines" is very powerful. To use these groups to build a better structure and overview in your quote is even more powerful.

Download document here

PDF BUTLER FOR SALESFORCE FIELD SERVICE LIGHTING (FSL)


FSL spells:

  • structuring tasks,
  • service reports,
  • mobile,
  • pictures.
PDF Butler is designed from the ground up to handle these requirements.

Top tip: Make sure to check out our Get Started first: Get Started in 30 mins

In this tutorial, we will guide you step by step to create a Service Report that shows

  • Work Order Data and Work Order related data ,
  • Work Order Pictures,
  • Work Order Line Item Data and Pictures,
  • Child Work Order Line Item Data and Pictures.

Field Service Lightning (FSL) - Service Report

Create the best looking Service Report ever.

Get our thumbnail component via: support@pdfbutler.com. This is a PDF Butler Actionable that can be easily installed as a package. Comes with comments and unit-tests.

Download document here

  • PART 1 - Work Order Data:
  • PART 2 - Work Order Pictures:
  • PART 3 - Work Order Line Items (WOLI) Data & Pictures:
  • PART 4 - Child WOLI Data & Pictures:

PDF BUTLER DEPLOYMENT


PDF Butler will match your environment setup and development lifecycle. You can have different "stages", you can see these as versions in your development & deployment lifecycle. Map these stages to your Salesforce Orgs. By default everybody will have a PROD and a TEST stage.
If you want more, just sent a mail to: support@pdfbutler.com

Following stages are available:

  • PROD,
  • UAT,
  • TEST,
  • TRG,
  • STAGING,
  • INT,
  • QA,
  • DEMO,
  • DEV1,
  • DEV2,
  • DEV3,
  • DEV4

Deployment

Deploying your PDF Butler configuration is done in 2 easy steps. You can use the principle in the example below to go in any direction and deploy between any stage.

Setup new environment (Salesforce.com Org)

When you have registered for PDF Butler, you can reuse the same username and passwords on every environment. PDF Butler will know which configuration you need by the Stage that is set in your Org or Sandbox. Deploying between Stages, and thus Salesforce.com Orgs is done by a few clicks (see Deployment)

  • Stage PROD for your Production Org,
  • Stage TEST for your Test Sandbox,
  • Stage DEV1 for your Development Sandbox,
  • ...

PDF BUTLER BY SALESFORCE PRODUCT


Overview of how PDF Butler can solve common questions on Salesforce products.

Service - Case Articles

Provide common Case data and a list of Case Articles.

Download document here

Community - Partner & Customer Community

You can use PDF Butler directly from your lightning community..

Common questions on using PDF Butler in a community:
1) Make sure to configure the sharing rules on the PDF Butler objects for external users. Add these objects:

  • Actionable
  • Data Source
  • Doc Config
  • PDF Butler Pack
  • Pack DocConfigs
2) Make sure to add the System Permission "View All Custom Settings". More info here

Multi-currency Org

If you have Multi-currency enabled on your ORG, you might want to show the currency on the record and format the amounts by the locale of your customer.

PDF BUTLER BY DOC CONFIG


Overview of how PDF Butler Doc Config types. Following types are available:

  • MAIN WORD / PDF,
  • TEMPLATE WORD,
  • EXCEL,
  • EMAIL ,
  • STATIC PDF,
  • PDF FORM FILLER

MAIN WORD / PDF

Start from MS Word to generate your PDF or MS Word documents.

DocConfig email
TEMPLATE WORD

Reusable MS Word templates, keep documents like product sheets or terms&conditions separately and so much more possibilities.

EXCEL Generator

Create Excel (XSLX) reports with data from Salesforce. Datadumps or complex groupings ... We got you covered.

STATIC PDF

Use Static PDF files like brochures, general conditions, ... and use them in your PDF Butler process!

EMAIL

Automate your process and sent mail with your documents automatically!

Auto email
DocConfig email
PDF FORM FILLER

Re-use PDF documents from your company, affiliate or government. Prefill these PDF Documents with data in your CRM to provide the optimal user experience.

CSV - Character-separated value

Learn how to generate "Character Separated Value" (also called "Comma Separated Value") files.

PDF BUTLER TIPS & TRICKS


A usefull overview of TIPS & TRICKS we have used and learned from our customers.

Checkboxes - how to show checked and unchecked boxes

You can use this trick with any image that is inline with a paragraph (or table).

Download document here

Unchecked checkbox

Checked checkbox

Watermarks, show and hide the watermark in MS Word

Sometimes your templates require a watermark, no need to duplicate your templates. Use Criteria to make your watermark conditional.

Page Repeat - Print the same page for every record

Sometimes you have the requirement to print a section of information for several records on multiple pages. This tutorial shows you how.

Download document here

Dynamically load templates

Need to show templates like product sheets or contract add-ons dynamically based on your data and selection. No problem, this tutorial shows how you can control that.

Product Sheet 1: GenWatt Diesel 10kW

Product Sheet 2: GenWatt Propane 100kW

Auto-numbering

You want to add numbering to your lists. We got you covered, learn how to use MS Word Numbered lists or PDF Butler @Number to provide what you need.
PS: You can use these numbering in different levels. For instance

  • 1 Top Level
  •    1.1 Sub Level

Numbering Demo Doc

Get rid of white-spaces

Generating fully dynamic document in which content must appear or disappear depending on criteria is exactly what you want.
Introducing white-spaces and empty sections along the way is exactly what you do not want!
This video gives some ideas on how to handle this. Working with Criteria on TABLE_ROW/TABLE/PARAGRAPH ConfigTypes can also work to get you that perfect looking document.
We have a solution for every problem, so do not hesitate to contact us: support@pdfbutler.com

Home page component

Want to create a document from the Home page? Sure you can do that!
In some cases you want to generated documents or reports that are not dependent on a single record. For instance a Opportunity overview document generated from the Sales Home page.

PDF/A

PDF/A is an ISO-standardized (ISO 19005-1) version of the Portable Document Format (PDF) specialized for use in the archiving and long-term preservation of electronic/digital documents.
When generating PDF/A compliant documents, we targeted for the full conformance level of PDF/A-1a! So this means that we are completely compliant with PDF/A-1a and PDF/A-1b (as this is a subset of PDF/A-1a).

Approval History component

Get all approval steps and related information. This Actionable will collect all Approval History Information and adds it to a KEYVALUE DataSource.

Class: PDFButler_Act_GetApprovalHistory

Fields for the KEYVALUE DataSource:

  • ProcessInstanceId
  • ProcessNodeId
  • ProcessNodeName: the step name, this will be empty for the step that submitted the request
  • CreatedDate
  • StepStatus
  • OriginalActorId
  • OriginalActorName
  • ActorId
  • ActorName
  • Comments

Contact PDF Butler support for more information: support@pdfbutler.com

Multi-language, multi-locale, multi-currency, multi-template or multi-branding


A lot of companies have to support multiple languages, brands, templates, ... . No need to re-create the full configuration!

Multi-language, multi-template or multi-branding, just add Alternatives!

How to link multiple templates to the same DocConfig? And more importantly, how to use the correct template automatically?
You will learn all of this in this video.
We will start with the quote from the "Get Started" section and translate that one.

Download French document here

Download German document here

Picklist translations DataSource

Get translations on your picklists directly from the Translation Workbench

Formatting by customer or user locale

Every country, language, and combination of both have their way of formatting dates, currencies, numbers,...
The combination of language and country is called locale. For instance, in Belgium, we speak Dutch, French, and German. Our locales are:

  • Dutch Belgium: nl_BE
  • French Belgium: fr_BE
  • German Belgium: de_BE

For most countries, they only speak 1 main language so their locale is easier and they have only 1:
  • USA: en_US
  • UK: en_UK
  • Germany: de_DE
  • Netherlands: nl_NL

So supporting documents over multiple countries or in a country that speaks multiple languages. You will need to format the dates, currencies, numbers specifically for those countries.
PDF Butler knows how to format for every locale and will even translate your date (months and days) in the correct language.

Custom labels

Get translations for labels and texts in your document. Manage these translation in Salesforce. Learn how to use Custom labels in relation with your customer or users locale.

Multi-currency Org

If you have Multi-currency enabled on your ORG, you might want to show the currency on the record and format the amounts by the locale of your customer.

Salesforce CPQ Product Translations/Localizations

CPQ offers powerful tools to translate your products and product information. With our "CPQ Translations" add-on, we can use those translations in your multi-language documents.
It does not matter if it is text, text-area, or rich-text fields. All are by PDF Butler supported!
Use your CPQ Localization config to translate your documents.
Request access to this free package via: support@pdfbutler.com

PDF BUTLER FAQ


A usefull overview of FAQ we have used and learned from our customers.

FAQ: why do I get error: "Argument 1 cannot be null"

This error is annoying, Salesforce tells us the best practice is to use Protected Custom Settings for confidential information, then it goes and invents a new permission and then it does not allow ISV partner to add it to their permissionsets automatically. Sorry, you have to set it yourself.

Check System Permission “View all Custom Settings”
FAQ: How do I assign Licenses?

Salesforce allows for very easy management of licenses.
You can just assign them via Setup => Installed Packages => PDF Butler => Manage Licenses (Button).

FAQ: How do I Grant Login Access?

PDF Butler support is all about helping! So the best way to help is to access your Org. No need to create a user, you can just allow access for a certain time. This allows us to check your question.
You need to grant login to "CloudCrossing Support", this is the name of the company that owns the PDF Butler product.

FAQ: Does PDF Butler work on a Scratch Org?

Sure it does!
There is a "but" ;-)
Generating documents is always possible but if you want to configure DocConfigs, you will need to create a password for you Scratch Org user and login via the browser
You can generate a password via: sfdx force:user:password:generate --targetusername <username>
You can see the password again by running "sfdx force:user:display -u <username>"

SIGN BUTLER


SIGN Butler, the complete guide.
Ask install and access to SIGN Butler via support@pdfbutler.com

Setup & Register

Learn how to setup SIGN Butler, configure the permission sets and register. To register, make sure to have your PDF Butler username and Admin password.

After this is done make sure to contact support@pdfbutler.com to complete the registration.

Configuration overview - The Sign Request Template

Get a full overview of all config items on a template.

Configuration overview - The Sign Request

Get a full overview of info and actions on a request for a signature, Sign Request, directly from Salesforce.com.

SIGN Butler By example - Single Signer

Basic setup for a quote that required only 1 signer.

Download document here

SIGN Butler By example - Add a receiver

Receivers keep up to date with the Sign Request. They will get notified of every action that is taken on the Sign Request.

SIGN Butler By example - Two Signers

Basic setup for a quote that required only 2 signers. We will configure 2 contacts that have to sign in sequence (1 by 1).

Download document here

SIGN Butler By example - 1 mandatory and 1 optional signer

Some cases you have a process that the number of signers is dynamic. For instance, depending on the amount of the opportunity, a flow, trigger or process builder will add a 2nd signer.

Important to know is that the signature placeholder numbering must start with 1 and cannot skip numbers. So use the PDF Butler magic to set the correct numbers if required. "#SIG0[[!YOUR_NUMBER!]]_200_200".

Download document here

SIGN Butler By example - Static signer

What if your CEO has to sign every contract? You do not want to link his user to every record. No worries, in SIGN Butler you can specify multiple DataSources to get your Signers.

SIGN Butler By example - Silent vs Non-silent process launch

Want to wait for the confirmation the Sign Request is created or just fire and forget? The last one is the best for user experience, super fast and all processing happens in the background.

Launching the Sign Request via a Process Builder requires a Silent launch.

Silent: Use Actionable class "cadmus_sign.Actionable_SignButlerSilent".

Non-Silent: Use Actionable class "cadmus_sign.Actionable_SignButler".

SIGN Butler By example - Sign now

When you sit next to your customer, you just want to launch the signing screen so your customer can immediately sign.

Use Actionable class "cadmus_sign.Actionable_SignButler".

SIGN Butler By example - Process Builder to handle Sign Request status updates

Want to handle the updates on your Sign Request automatically to fully automate your process. Just use a trigger or Process Builder.

In this example, we will update our Opportunity to Closed Won when the document is signed.

Email Extra Merge Fields Data Source

Want to use extra fields in the mails for SIGN Butler?

In this example, we will show how you can add a DataSource to select extra data that can be used in your SIGN Butler emails.