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!

Full Sales Cloud in minutes 

Get an Out-Of-The-Box Sales Cloud setup, this is a full configuration working on Opportunity.

This is a great way to prepare demo's to customers, prospects, management, ...



 learn how to get a demo setup in minutes

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

New Paragraph for each newline
TextArea's have enter (carriage return, newlines). Normally, we do an in-paragraph break for a newline in a TextArea but with this setting, we create a new paragraph for every newline in the TextArea.

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. Make sure to provide your PDF Butler username and your OrgId when contacting us!
The class to use in the Actionable: PDFButler_Actionable_RichTextPics

Do you require to handle multiple and/or large Rich Text Images you might hit Salesforce Limits.
PDF Butler Image processors can work around the SFDC Limits, also for RichText Images.
Depending on your contract, there might be an extra cost, check with your Account Manager.

  1. The class to use in the Actionable: PDFB_Act_RichTextPicsByUrl
  2. Make sure the Actionable "When" is: After DataSources (BEFORE_BUT_AFTER_DATASOURCES)
  3. Fields for the KeyValue DataSource:
    • pdfbutler_parentId
    • pdfbutler_url

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

DOCUMENT_V2

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

SINGLE_FOR_FORMULA

Need calculations, summations, averages, ... and you do not want to add Formula fields in Salesforce. Use the SINGLE_FOR_FORMULA

CONTENT_CONTROLLER

Want to replicate a block of information. You can do this with a TABLE but also with a CONTENT_CONTROLLER.

Enable Developer menu item in MS Word: Show Developer tab

ROWS_CONTROLLER

Use this ConfigType if your want to replicate multiple rows in a table.

Combining CONTENT_CONTROLLER & ROWS_CONTROLLER

Use these ConfigTypes in a complex setup with parent-child (Nested) DataSources.

A CONTENT_CONTROLLER can be the child of another CONTENT_CONTROLLER. Here we will make an example how a ROWS_CONTROLLER is the child of a CONTENT_CONTROLLER

This is quite a complex example but gives a very good overview of the power of combining and nesting DataSources and ConfigTypes

SIMPLE COLUMN REPEATER

Repeats columns in a table.

There is also a complex column repeater that can repeat both columns and row in a table. Contact customer success team for more information.

SIMPLE COLUMN REPEATER documentation

INLINE REPEATER for Pictures

Repeats pictures on the same line.

INLINE_REPEATER for Pictures documentation

SINGLE ConfigType Text Formatting

Format your texts with uppercase, lowercase, capitalize first-char, ....

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

KeyValue DataSources can be used to fill data that is generated by logic, eg APEX.

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.

Filtered DataSources

Create new DataSources from existing DataSources so you only have to select the data from Salesforce one time which will be a performance improvement.

Filtered DataSources
Filtered Child DataSources
Report DataSource

Use Report Data in PDF Butler.

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:

Delivery Overwrite Options: Never save (BASE64) or Do not save on preview (VIEW_THEN_SAVE):

Enable Previewer toolbar: makes it easy to zoom and print from the previewer
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

Inline Edit (or Live Edit)

In some cases, you have to make changes to the document or collaborate with your legal, solutioning, ... teams on the document before sending it out.

With this component, you can easily upload your updated DOCX file and continue the process directly from Salesforce. This component will convert the DOCX to a PDF and run your pack. That can be any action like email, digital signature or just storing the PDF in SFDC.

Because you are working with a DOCX file, you have full control over the information in the document you want to change. As you are working in MS Word (or other editors) you have the world's best document editor which makes it much easier for anyone in the team to make changes and on the Word document, you can collaborate with your teams that are not working in Salesforce (eg Legal).

DocConfig Selector - logic by flow

Need your users to select mandatory and optional documents to construct a custom quote. The DocConfig Selector allows to build your own logic to decide which DocConfigs are mandatory and optional.

Variables:

  • input: Apex-Defined -> PDFB_DocConfigByFlowInput, Available for input
  • alternative: Text, Available for output
  • locale: Text, Available for output
  • docConfigs: Text -> Allow multiple values (collection), Available for output
  • optionalDocConfigs: Text -> Allow multiple values (collection), Available for output
  • packs: Text -> Allow multiple values (collection), Available for output

This is an add-on component. Request the latest version via our Customer Success team.

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.

Class to use: cadmus_core.Actionable_AutoEmail

You can also use Lighting Email Templates.

And the Lighting Email Templates support multi-language / multi-locale.

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 EMAIL Quick Action

Edit your emails generated by PDF Butler before sending them out. All from Salesforce and directly from the "Send Email" Quick Action!

Via Lightning Email Template:

Class to use: cadmus_core.Actionable_AutoEmailQuickAction

OR

Via Email DocConfig:

Class to use: cadmus_core.Actionable_EmailDocConfigQuickAction

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

 Download example Test Class for BEFORE Actionable

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

Call PDF Butler from Flow

Do more:

Control your DataSource data via Flow logic
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

APEX API documentation here

LWC code example:
This example shows how to call PDF Butler from a button in an LWC component and download the generated document.

APEX class that calls PDF Butler

LWC example (zip)

PDF Butler APEX API documentation

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

APEX API 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
List View Button

On any Salesforce list view, add a button to create multiple documents in 1 go.

It is not possible to configure Lighting Mass Actions yet so the only solution is an sObject specific VisualForce page. We have these for all standard sObjects like Account, Opportunity, ... . Contact support to get this add-on package or a code snippet to easily create your own: support@pdfbutler.com

Setup List View Button
Call Flow on AFTER Actionable

When you want to take an action after the document is generated, this action can be executed from an Autolaunched Flow.

Create an Actionable in PDF Butler of recordType "Run Lightning Flow", pass on the API name of your Flow and the class: "cadmus_core.Actionable_RunAfterFlow"

Update the record Save to document to another record

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
  • DEV5
  • DEV6
  • DEV7
  • DEV8
  • DEV9
  • DEV10
  • DEV11
  • DEV12
  • DEV13
  • DEV14
  • DEV15
  • DEV16
  • DEV17
  • DEV18
  • DEV19
  • DEV20

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.

Deployment

Learn how PDF Butler can support Agile Project Development and how you can use DEV/TEST/UAT/PROD Orgs in parallel to support your SDLC (Salesforce Development LifeCycle)

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 - Public Read Only
  • Data Source - Public Read Only
  • Doc Config - Public Read Only
  • PDF Butler Pack - Public Read Only
  • Pack DocConfigs - Public Read Only
For SIGN Butler:
  • Sign Request - Public Read/Write
  • Sign request template - Public Read/Write
  • Lightning Email Templates - Public Read Only
2) Make sure to add the System Permission "View All Custom Settings". More info here
3) Make sure the license for PDF Butler is assigned to the community user

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.

PPTX - Powerpoint

Learn how to generate Powerpoint files.

PDF BUTLER TIPS & TRICKS


A useful 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

Handling MultiSelect Picklist values

The values of a MultiSelect Picklist are stored as a ";" separated text in Salesforce. That makes it difficult to handle.

This video will show how to retrieve these values in a List.

Class: PDFButler_Actionable_MultiSelect

Fields for the KEYVALUE DataSource:

  • parentId
  • value

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

Conditional Formatting

Sometimes a color says more then a thousand words. If you want to conditionally give a color to your data, this shows how.

Download document here

DocConfig Document Override

Provide a document to be used against the PDF Butler configuration. The document in the PDF Butler configuration will be ignored and the provided document will be used.

Class to use: PDFB_Actionable_DocConfigOverride

MS Word Sections

How to work with Sections in MS Word to have different headers and footers for different Sections in your Word document.

Make sure to unlink every Section from the previous Section. No "Link to Previous"!

Also look at "CONDITIONAL SECTIONS"

PDF Butler Usage Statistics

Interested in getting more insights in your PDF Butler usage? Just request a extract of your PDF Butler usage.

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

Otherwise, you will see an error like: "Oops, there was an error rendering Canvas application" or "Your Browsing session has ended or is invalid"

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>"

If you open the org via your IDE (eg VSCode), you will get the error: "Your browsing session has ended or is invalid" when opening the configpage.

FAQ: When opening the PDF Butler config-screen, I get redirected to the home-page?

Check you Cookie Settings, it might be set to "Block third-party cookies"!

FAQ: Can we handle Library Files?

Of course you can, even better, we have a component to support you. Check out the video!
Class: PDFButler_LibraryFiles

FAQ: Can we handle Encrypted Fields?

Of course we can! Shield Platform Encryption for encrypting fields on standard, custom and even managed package fields is fully supported.
Overall, you can add the encrypted fields to your PDF Butler DataSource. All security and permissions of the roaming user are checked by Salesforce before returning the data. This means when the user has access to the data, it will show unencrypted in your document .... Just as you would expect.
We fully align with the Salesforce platform, this means it capabilities and limits. See this article for more info: General Trade-Offs

FAQ: Password reset or Forgot Password?

PDF Butler has 2 passwords, an ADMIN password and a USER password. Both are send in the initial mail you receive when registering. The mail has subject: "PDF Butler registration completed"
When you require a new set of passwords, no problem! Just follow the video below.

FAQ: How to add a SOQL Parameter By Actionable?

Want to have custom variables set to use in your DataSources. Not a problem!

FAQ: Why Emails send from Salesforce end up in SPAM folder?

Because you do not allow Salesforce to send emails from your domain name.

An example:
Your domain is "xyz.com" and the SalesRep's email is "igor.stuyver@xyz.com". An automated process in Salesforce sends an email to one of your customers. So, the email is sent by Salesforce but the from-address of the email is "igor.stuyver@xyz.com", this is seen as SPAM as the sender servers are not from the domain "xyz.com". If anybody was able to send emails from your domain ... that would make phishing very easy.

Now, how do you allow Salesforce to send emails from your domain?

The Salesforce Admin must work together with the Domain Admin to set this up in just 10mins. All that is required is:

DKIM (Domain Keys Identified Mail): Article

SPF (Sender Policy Framework): Article

SIGN BUTLER V2


SIGN BUTLER V2, the complete guide.
Install and access to SIGN Butler via: SIGN Butler AppExchange

You will need some signature placeholders. These look like this:

If you need multiple signers on your document, every signers will require their specific placeholders.
Download a full set here: Signature Placeholders

We highly recommend to setup your Salesforce Email settings so that emails do not end up in SPAM folder. See more info here: "FAQ: Why Emails send from Salesforce end up in SPAM folder"

SIGN BUTLER V2 - Setup, Register & config steps (movies will follow fast)

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.

Download documentation here
SIGN BUTLER V2 - Custom emails with extra email fields

You want you own branded emails, more information on the sender/recipient/record/... included? Watch this:

Link your Lighting Email Templates to your SObject to use more mergefield options.

SIGN BUTLER V2 - Upload documents

let your signer upload documents during the signing experience. These documents can be mandatory or optional.

SIGN BUTLER V2 - Receivers

Want your Sales Rep to be notified an any action taken on the SIGN Request?
Setup a Receiver and have the Opportunity Owner or anybody else being notified on any action related to the SIGN Request.


SIGN BUTLER V2 - Form Fields

Need to capture data from your customer while signing the document?
You can add multiple form fields via PDF Butler and have these push data back to Salesforce. Updating the record or records related.

You can set if these fields are required, have validation, lock the fields when they have data, ...

Types of form fields:

  • Single line text
  • Multi line text
  • Checkbox
  • Radiobutton
  • Date field
  • DateTime field
  • Dropdown box

It is also possible to assign Form Fields to specific signers. The following video will explain how:


SIGN BUTLER V2 - Signing URL Expiration

You can decide yourself if you want to have the signing URL, this is the URL in the email button, expiring or not.

SIGN BUTLER V2 - After Signing Actionables

We all know the PDF Butler Actionables and how they can extend functionality.
Now, these Actionables can be used as well after the signing is complete. You want to send an email, call a Flow, custom APEX, ...

SIGN BUTLER V2 - Reassign from the SIGN Request record

Is your signer sick, on holiday, absent, ... . Not a problem, you can reassign to a new signer at any step in the process.

SIGN BUTLER V2 - End Signing URL

Automatically forward to a custom URL after the signer has signed.
For instance, you want to forward to a "Thank you" page, your own website or to a payment gateway.

SIGN BUTLER V2 - Open SIGN Request directly

If you want to see the created SIGN Request directly, you are with multiple Signers and you want to sign immediately, you are launching a SIGN Request from a Community, ... . Here is how you can open the SIGN Request directly.
We call it Non-Silent (NonSilent or Non Silent).

Class to use: cadmus_sign2.Actionable_SignButlerNonSilent

SIGN BUTLER V2 - Signing page translations

Use a translation datasource to translation or change the texts on the signing page.
Add any language or use your own texts. Download an example file with all fields below!


Sign Butler Translation Fields
Sign Butler Full Translation (DE/EN/NL/FR/ES/IT)
Sign Butler Japanese Translation
SIGN BUTLER V2 - Dynamic number of signers

You want multiple people from a related list to sign but you do not know how big your list will be?
You can have up to 10 signers added completely dynamic by combining PDF & SIGN Butler.


SIGN BUTLER V2 - API Overview

Build your own SIGN Butler experience. Here our API overview: Sign Butler V2 API

SIGN BUTLER V2 - Embedded Sign

Build your own SIGN Butler experience from internal SFDC, Communities, Guest User Application forms, ... Sign Butler V2 API

SIGN BUTLER V2 - Manual SIGN Request

What if you have one or multiple documents that need to be signed but where not created by SIGN Butler?
No problem, just send them out manually:

 

Permanent or static form-fields on the PDF

If you want your signer to fill out fields every time you send out a PDF for signing? Just add the form-fields to your PDF 1 time and these will be included every time you send out this PDF for signing

 

Receiver on Manual SIGN Request

Setup a Receiver on Manual SIGN Request. A receiver will receive notification on changes, signatures, ... .
SOQL for DataSource to select the Receiver as the owner of the SIGN Request:

SELECT OwnerId, Id, Owner.FirstName, Owner.LastName, Owner.Email FROM cadmus_sign2__Sign_request__c WHERE Id = :signRequestId

 Receiver on Manual SIGN Request
SIGN BUTLER V2 - Postman documentation

Want to connect your external systems to SIGN Butler. Check out our Postman documentation

 SIGN Butler V2 Postman documentation
SIGN BUTLER V2 - SIGN Request Sharing Rules

Want to control who sees which SIGN Request? Maybe different Sales teams want to hide SIGN Requests from other teams

Maybe different departments do not want to share SIGN Request information and so on ...

With SIGN Butler, you can just create Salesforce Sharing Rules to control the visibility on the records in the SIGN Butler objects.

SIGN BUTLER V2 - Upload Image For Signing

Let your signers upload a signature image

SIGN BUTLER V2 - Bulk Signing - My Pending SIGN Requests

Get an overview of all your Pending SIGN Requests so that it is easy to sign these in 1 go without having to search for them.

This is interesting in use-cases where a manager has to sign or you have to sign after your contact already signed.

SIGN BUTLER V2 - In-Person Signing

When you are sitting in the same room with all the signers, it makes sense to have have everyone sign on a tablet (or mobile).
SIGN Butler will guide you through the In-Person signing process indicating who is the next signer to pass the divice to to sign.

The Actionable should use class: cadmus_sign2.Actionable_SignButlerSignNow
this makes sure the signing process starts immediately and it is not required to open a mail or the SIGN Request page.

SIGN BUTLER V2 - Control the FROM address for SIGN Butler Emails

Emails for SIGN Butler V2 are send through Salesforce.
So it is important that all emails come from a person that your signer knows!

In this video, we explain the options and indicate it is best to use and OWA (Org Wide Address) or the "User Admin" functionality.

SIGN BUTLER V2 - Add Signers and Receivers via Flow

If you need more control, more complex logic on how to select your signers then you can best setup a flow that defines the Signers.
You can write the logic that is required to fetch your signers and order them as required.

Document with information signer/receiver data

SIGN BUTLER V2 - Stand Alone

As SIGN Butler grows in features and user base, we get more & more the question to use it for departments that do not use Salesforce or even at companies without Salesforce.

SIGN Butler Stand Alone article

COLLABORATION BUTLER for SHAREPOINT


Setup and configuration of COLLABORATION BUTLER for SharePoint.

Setup and Config

Contact our Support department for all COLLABORATION Butler setup documentation, we will respond immediately: support@pdfbutler.com

Auto create sub-folders

When creating the folder for the current record. COLLABORATION Butler will create all the required sub-folders in 1 go.

Overview on dynamic site, library & folder config

If you have a Site, a Document Library or Folder per record. COLLABORATION Butler can connect to all dynamically!
Learn in this video how to control the Lightning component to connect to any place in SharePoint.

Overview of other configuration options

The COLLABORATION Butler Lightning component is very extensive and can be configured any way you want.

PDF Butler integration

The COLLABORATION Butler Lightning component is perfectly compatible with all PDF Butler Features
Learn how to generate documents directly from the COLLABORATION Butler Lightning component and store these exactly where you want in SharePoint.

COLLABORATION Butler - Actionable Upload To SharePoint

Use an Actionable to automatically upload your file to SharePoint after generation
Class to use: cadmus_una.Actionable_CollabStoreFile

COLLABORATION Butler - API Overview

Here our API overview: COLLABORATION Butler API

COLLABORATION Butler - Update SharePoint MetaData Columns

Use an Salesforce Lightning Flow to determine which MetaData Columns should be updated after uploading a file to SharePoint

Variables to use:
INPUT VARIABLES
- recordId: SFDC Id of the record you are working on
- docConfigId: If used, SFDC Id of the DocConfig that was used to generate the document


OUTPUT VARIABLES
- ColumnNames: semicolon (;) separated list of column names you want to update
- Variable per column: has the value of the column you want to update

COLLABORATION Butler - Update Document Content Type

Use an Salesforce Lightning Flow to determine which Content Type should be updated after uploading a file to SharePoint

Variables to use:
INPUT VARIABLES
- recordId: SFDC Id of the record you are working on
- docConfigId: If used, SFDC Id of the DocConfig that was used to generate the document


OUTPUT VARIABLES
- ContentTypeId: SharePoint ContentType Identifier

COLLABORATION Butler - Directory Change Control Field

When the path to the directory the record is linking changes, this can be handled automatically. We can move your directories to the new path. For instance, if the AccountName is in the path and this AccountName changes, COLLABORATION Butler notices that and asks if you want to move the folders

COLLABORATION Butler - Show SharePoint MetaData Fields

Configure the COLLABORATION Butler component to show SharePoint MetaData Fields. Specify which fields you want to show and in which order.
Make sure the use the Technical name (API name) of the metadatafields, do not use the labels.

COLLABORATION Butler - Before And After Autolaunched Flows

These flows run Before or After the flows for updating metadata (columns) in SharePoint and setting the ContentType in SharePoint.

These flows run in seperate transactions.

flow input variable (make sure it is available for input!): recordId.

FORM BUTLER


Setup and configuration of FORM BUTLER.

FORM Butler Academy Document
FORM Butler Academy Email
Install & Setup

Contact our Support department for the latest FORM Butler install URL, we will respond immediately: support@pdfbutler.com

Create DataSources for Document
FORM Butler Requests - Related List

Add a lookup to the FORM Butler Request SObject to the SObject you are starting from. In our demo, this will be the Opportunity

FORM Butler Document Setup (From Main Word Document)

Setup the FORM Butler document, start from a MS Word file and add your first TEXT form-field.

FORM Butler TEXT form-field

Add a TEXT form-field.

FORM Butler TEXTAREA form-field

Add a TEXTAREA form-field.

FORM Butler DATE form-field

Add a DATE form-field.

FORM Butler PickList form-field

Add a CheckBoxes for PickLists and MultiSelect PickLists form-field.

FORM Butler NUMERIC form-field

Add a NUMERIC form-field.

FORM Butler CHECKBOX form-field

Add a CHECKBOX form-field.

FORM Butler Related Lists

Update data in Related Lists.

Create Email DocConfig

To send your form via Email, create and Email DocConfig.

End-2-End Setup and Demo

Create a Pack and an Actionable to launch your FORM Butler request.
The class to use in the Actionable: cadmus_form.Actionable_FormButler

FORM Butler - request electronic signature

If you FORM Butler documents need signoff, that is perfectly possible.
Make sure to use the picture placeholder you can download below, this has a marker so we know where to put the signature.
FYI, this is not using SIGN Butler! This signature is not a digital signature but an electronic signature.

FORM Butler Signature Placeholder
Form Butler - Create or Update Records via Flow

Use the FORM data to create records or customize the way that updates are done on the Salesforce data.

Form Butler - Screen Flow Inline Editor

Show the FORM Butler page in a Salesforce Flow so your users can fill in the form immediately in a Screen Flow without getting a popup screen.

FORM Butler - Fine-grained upload of documents

Use this if your form must upload mandatory or optional documents that can be identified by type.

Example JSON from the demo:

[ { "required": true, "documentType": "ID card" }, { "required": false, "documentType": "your own choice" } ]

FORM Butler Document Setup (From Static PDF)

Coming soon -

BULK BUTLER


Setup and configuration of BULK BUTLER.

BULK Butler - Flow Introduced Variables

Use this if you want to run a batch for a set of documents. Eg for Opportunities related to an Account.

 

Using variables in a Screen Flow (Make sure to request the Lightning Convert Component from our Customer Success team)

Screen Flow introduced variables

 

List variable via Flow, this allows to pass on a list of, for instance, Ids to be processed by BULK Butler

List variables
BULK Butler - Launch batch from APEX