# CloudFiles Help Docs — full content
> The complete Markdown text of every CloudFiles help doc (Salesforce, HubSpot, and the API), grouped into the same sections as `/llms.txt` and concatenated for machine/agent consumption. See `/llms.txt` for a short linked index instead.
---
## Getting Started
---
# Quick Starts (Quick Start · Salesforce)
https://help.cloudfiles.io/salesforce/quick-starts
# Quick Starts
Looking to get started with the CloudFiles app? This document offers a comprehensive collection of articles, including an installation guide and three quick start guides, to help users seamlessly integrate CloudFiles with their Salesforce org.
> Kind: Quick start · Updated: Jul 4, 2026
This category consists of articles that can help you get started with the CloudFiles app very easily. Simply install the app using the installation guide linked below, and then use the 3 quick starts to become an expert with the integration.
- Installation guide - In this article we cover the 3 steps required to setup the CloudFiles - Salesforce integration. We also provide a list of 3 quick start guides at the end that can be used by an admin or architect to setup basic file and folder functions in their Salesforce objects quickly.
- Connect external folder to a record - In this article, we will cover about connecting external folder to a record using CloudFiles widget. Once inserted, the user can go to the respective object & link the widget to a folder sitting in any external storage. Once linked, users can see the contents of the folder and perform various operations.
- Access, share and track a file - In this article, we show you how to connect your files, configure a link and see analytics on that link all within Salesforce.
- Share files in experience cloud (community)- In this article, we have covered a common file sharing use-case for businesses using the Salesforce experience cloud.
- Document Generation with CloudFiles - In this quick start guide, you will learn how to integrate Salesforce data into your document workflow using the CloudFiles Word add-in and CloudFiles Doc Gen LWC. You will discover how to install the CloudFiles Word add-in, create and publish personalized templates, and manually generate documents in your desired format. Additionally, this guide covers automating the document generation process based on specific triggers and attaching the generated documents to Salesforce records.
---
# Installation guide
https://help.cloudfiles.io/salesforce/installation-guide-for-cloudfiles-salesforce-integration
# Installation guide
Learn how to seamlessly integrate CloudFiles with Salesforce in just three simple steps. Install CloudFiles from the Salesforce AppExchange, set up permission sets for various user roles, and connect your CloudFiles account.
> Kind: Quick start · Updated: Jul 1, 2026
In this article we cover the three steps required to setup the CloudFiles - Salesforce integration. We also provide a list of three quick start guides at the end that can be used by an admin or architect to setup basic file and folder functions in their Salesforce objects quickly.
## Step 1 - Install from AppExchange
Follow the steps below to install CloudFiles in your Salesforce account. The same steps are applicable for both production and sandbox -
1. **Log into Salesforce as a Salesforce Admin** —
2. **Go to the CloudFiles listing on the Salesforce App Exchange, and click on Get It Now** —
3. **Follow the prompts to install either in production or in a sandbox** —
4. **At separate points during the installation, the installer prompts you to** — Choose who to install CloudFiles for - Select "Install for Admins Only". Don't worry, all your users will be able to access CloudFiles. We select this option to better control the permissions for all usersApprove Third-Party Access - Accept third party access request. You can read about this in our FAQ on Why are various third party accesses asked during installation.Click Next or Continue in other screens to complete the installation.

## Step 2 - Setup CloudFiles Account
You can setup the CloudFiles app from within Salesforce by first going to the CloudFiles App Launcher. Click on the 9 dots icon(App Launcher) on top left of salesforce and search 'CloudFiles'. Then select the CloudFiles app.

This will open the CloudFiles App Launcher. Click on the Setup Tab on top and then click on Setup CloudFiles button. Follow the on-screen instructions as shown below.

That's all the setup we need to get started. You can now start setting up flows and widgets to streamline your file management and sharing in Salesforce. Check the next section to know how to get started quickly.
## Step 3 - Connect Automation User
Automation user (or system user, service user) is a user credential (e.g. a google drive user or a sharepoint user) that you connect on the library settings page. This is used as the backend user for any automation operations such as creating a folder in an external storage.
To connect this user, in the “Document Management” tab configure the libraries you wish to connect with CloudFiles. You can follow these steps for the same:
1. **Go to the “Document Management” tab within CloudFiles** —
2. **From the side bar navigate to "Libraries" Page** —
3. **Click on the “+” icon against the external storages you wish to connect** — Once selected, click “Save”.
4. **Navigate to the respective Library's tab and connect a System User account** — This account will be used for account-level automations. So it’s better to connect an account which has all the permissions and acts as an admin account.
5. **You can leave the “Conflict Behaviour” settings as they are, these can be set later** —
Refer to the below GIF to have a visual understanding of this step -

## Step 4 - Connect Content Library User
This user is a personal account used by individual users to access the respective cloud storage everyday (e.g. employees' google drive account or sharepoint account). This user can be connected either form the CloudFiles widget on records or from the content library tab as shown in the steps below -
1. **Go to the “Content Library” tab within CloudFiles** —
2. **Select the connected library from the dropdown menu** —
3. **Connect a User Account** — This account will be used to access the library within Salesforce and retrieve metadata values for files & folders for flow actions and apex. For implementation purposes, it's recommended to connect to the same account set up as the “System User”.
Refer to the below GIF to have a visual understanding of this step -

> **Note** — Note - If you're on a paid plan, reach out to the CloudFiles support team for further assistance, at - support@cloudfiles.io
## Getting started guides
To get started quickly, we provide 3 quick start guides that talk about incrementally advanced features. Refer to these guides in sequence to become a Salesforce - CloudFiles integration expert.
1. **Connect external folder to a record** — Talks about accessing external storage from Salesforce objects. Also talks about automation capabilities.
2. **Access, share and track a file** — Talks about file and folder sharing by creating a link, configuring it's settings and viewing it's analytics all from the Salesforce objects. Also talks about automation capabilities.
3. **Share files in experience cloud (community)** — Sharing files with community and partner users using experience cloud and receiving files from them to collaborate is a common use-case. This article gives a basic overview and also talks about automation capabilities.
Once you are done with these, check the list of categories and articles in the left sidebar for all features and use cases.
---
# Connect external folder to a record
https://help.cloudfiles.io/salesforce/quick-start-to-connect-external-folder-to-salesforce-object
# Connect external folder to a record
Learn how to set up and use the CloudFiles widget, a lightning web component for Salesforce that links folders from cloud storage platforms to Salesforce records.
> Kind: Quick start · Updated: Jul 4, 2026
CloudFiles widget is a lightning web component that be dragged and dropped onto any Salesforce standard or custom object. Once inserted, the user can go to the respective object and link the widget to a folder sitting in SharePoint / Google Drive / OneDrive / Box / Dropbox or even AWS S3. Once linked, users can see the contents of the folder, search, preview, edit, download, share files and do a lot more. Users can also upload files directly in Salesforce which get stored in the external storage.
CloudFiles also supports linking multiple folders or files to a Salesforce record
Further, CloudFiles provides flow actions that can automate the resource(folder or file) creation and linking process, thus providing an extra layer of automation on top.
This article explains the following -
- Setting up the widget- This section provides steps and screenshots to drag and drop the widget onto any Salesforce standard or custom object.
- Linking the widget to folder - This section shows how to link a folder to an object's widget. This can be done manually or automatically using flow actions.
- Working with linked folders- This section shows the usability of the linked folder such as upload, search, preview, edit, share and other operations right from the Salesforce record.
- Folder linking automation- This section covers the flow component used to automate the folder / file linking operation.
- Unlinking the folder This section shows how to disconnect a linked folder or file from the widget.
Keep scrolling for more info.
## 1 - Setting up the widget
You can drag and drop the folder widget onto any standard or custom Salesforce object. Simply go to the 'Edit Page' from the object page, add a new tab to your object and drag and drop the widget. These steps are shown in the video below.
[Watch video](https://www.youtube.com/watch?v=wqiRTrBNguc)
> "CloudFiles Connected Folder" widget has been replaced by the more generic "CloudFiles" widget.
## 2 - Linking the widget to the folder
Now that your widget is setup, you can start linking files or folders with your Salesforce objects. Just click the "Select folder/file" button in the widget, select the folder from any cloud storage (e.g. SharePoint, Google Drive, Box, Dropbox, AWS S3, OneDrive) and that's it. Follow the simple steps below -
- Go to the Salesforce record where you want to link the folder
- Locate the CloudFiles widget that you had added in the previous step
- Click on the "Select folder/file" button (See note below if you instead see the "Connect CloudFiles" button here)
- A dialog will open where you can select your library / folder / file that you want to link
- Select the folder or file. The contents will immediately start showing up in your widget
> **Note** — If you see the "Connect CloudFiles" button instead of the "Select folder/file" button on the widget, this is because you recently installed the Salesforce app and haven't connected it to the CloudFiles account yet. Simply click the Connect button and follow on-screen instruction. Screenshots for this are shown in Step 2 here.
Here's a video that shows this in action. You can also connect multiple folders and files in this widget.
[Watch video](https://www.youtube.com/watch?v=gL_Jd8oe9Vw)
## 3 - Working with linked folders
The connected folders are pretty easy and intuitive to use. You can upload files and create folders, search inside this folder and sub-folders, do actions such as edit in cloud drive, download, preview etc... on the files & folders. Explore the buttons all around the widget to know more.

## 4 - Folder linking automation
In this section, we cover a small flow template that enables you to automatically link folders from external storage onto Salesforce pages. This flow template is available as part of the managed package and can be cloned and updated as per your business needs.
Before setting up the automations, please connect your automation user by following the article on Automations
For the sake of simplicity, we created a simple flow that creates a folder in SharePoint whenever an contact is created, and then links it to the folder widget of that contact.
- Create a record triggered flow.
- Set trigger conditions of new contact creation
- Use asynchronous path to add CloudFiles actions. You can also clone the Create & Attach Folder Flow template that comes pre-packaged with the app.
- Add CloudFiles folder creation action and configure parameters
- Add CloudFiles folder linking action and configure parameters
- Save and test your flow
The video below shows our final flow along with the parameters we used. You can check the details on how to configure these paramters in our article on Create Folder and Create Attachment .
[Watch video](https://www.youtube.com/watch?v=fy_xZrQwfpg)
You can easily get the various IDs associated to this action using the simple steps below.
- Click on App Launcher on top left. Search for the CloudFiles App.
- In the CloudFiles App, select the Content Library Tab
- Go to your cloud storage. You may need to login if you haven't done so before.
- Go to the target folder where you would like to place the created folders in.
- Click on View Metadata option from the folder list item dropdown as shown below.
- A dialog box opens up which shows all the IDs and other meta data required for automations.
These steps are shown in the GIF below -

## 5 - Unlinking the folder
To unlink the folder or file, either go to widget home or inside the connected folder and click on the Disconnect button as shown in the image below.

## More resources on CloudFiles - Salesforce Integration
There's a plethora of articles and videos that you can refer to for more information on using CloudFiles with Salesforce. The app offers a number of Lightning web components, flow actions and other flow components, custom objects and apex support which makes document automations and sharing easy.
You can not only do auto-folder creation and connection as shown above, but you can also share these files with community as well as external users. You can enable security & collect analytics on the files. With the help of flow components, processed can be completely automated.
This article links to various sections of the knowledge base that cover these components and use-cases in Salesforce.
---
# Access, share and track a file
https://help.cloudfiles.io/salesforce/quick-start-to-access-share-and-track-a-file-in-salesforce
# Access, share and track a file
Learn how to easily connect files, configure links, and track analytics in Salesforce with the CloudFiles app.
> Kind: Quick start · Updated: Jul 4, 2026
In this quick start, we show you how to connect your files, configure a link and see analytics on that link all within Salesforce. If you haven't already, follow this Installation guide to set up the CloudFiles app from the Salesforce AppExchange. Once you have CloudFiles installed in your Salesforce objects, refer to the 5 steps below.
## 1. Access CloudFiles' LWC
You can drag and drop the CloudFiles widget onto any standard or custom Salesforce object. Simply go to the 'Edit Page' from the object page, add a new tab to your object and drag and drop the widget -
[Watch video](https://www.youtube.com/watch?v=wqiRTrBNguc)
## 2. Attach a folder
Now that your widget is setup, you can start linking files or folders with your Salesforce objects. Just click the "Select folder/file" button in the widget, select the folder from any cloud storage (e.g. SharePoint, Google Drive, Box, Dropbox, AWS S3, OneDrive) and that's it. Follow the simple steps below -
- Go to the Salesforce record where you want to link the folder
- Locate the CloudFiles widget that you had added in the previous step
- Click on the "Select folder/file" button (See note below if you instead see the "Connect CloudFiles" button here)
- A dialog will open where you can select your library / folder / file that you want to link
- Select the folder or file. The contents will immediately start showing up in your widget
NOTE: If you see the "Connect CloudFiles" button instead of the "Select folder/file" button on the widget, this is because you recently installed the Salesforce app and haven't connected it to the CloudFiles account yet. Simply click the Connect button and follow on-screen instruction. Screenshots for this are shown in Step 2 here.
Here's a video that shows this in action. You can also connect multiple folders and files in this widget.
[Watch video](https://www.youtube.com/watch?v=gL_Jd8oe9Vw)
If you haven't already done so, check out our article on Connect external folder to a record which talks about this in detail.
## 3. Create Sharing Link
Once the file / folder has been attached, you can use the options dropdown on the right side of the tile in the widget. Click on the attachment dropdown and choose the Share option. This is shown in the graphic below.

## 4. Configure Link
You can set a number of security & analytics settings on this link. You can further change these settings anytime right from the Salesforce object. The security settings open up when you click on the Share button above. You can also update these settings by clicking the 'Edit Link Settings' option from the same dropdown as shown above. This option appears after you have created a sharing link.

## 5. Access the link
To checkout how your file looks in the CloudFiles viewer, copy the link from the dialog above, and paste it in a browser window. This will open the file as a webpage, right there in the browser.
You can also white-label the viewer by using your own custom logo & domain.

## 6. Check the Analytics
You can view your file analytics right there from the Salesforce object. You can analyze a number of details such as opens, time spent, page wise analytics etc... You can also drill down into individual users, devices & sessions in case the link has been accessed multiple times. Analytics can be accessed by using the 'View analytics' button in the same dropdown. This option appears after you have created a sharing link.

## 7. Flows Support
You can also do any of the things above through CloudFiles flow builder triggers or actions provided. These customizations can further streamline your processes. We provide a Create link action that can automatically create a sharing link and an Update Link Settings action that can be used to add security settings on a link.
For more information on the various flow actions availabel in CloudFiles, check our articles on Flow Actions.

---
# Share files in experience cloud (community)
https://help.cloudfiles.io/salesforce/quick-start-to-share-files-in-experience-cloud-community
# Share files in experience cloud (community)
Learn how Salesforce Experience Cloud can enhance file sharing capabilities for businesses using the CloudFiles widget for bi-directional file-syncing between cloud storage, Salesforce objects, and community users.
> Kind: Quick start · Updated: Jul 4, 2026
In this article, we cover a common file sharing use-case for businesses using the Salesforce experience cloud. Such businesses often have internal Salesforce objects managed by internal company users, which are also shared with external experience site users. However, file-related features in such implementations are usually missing.
E.g. while your community users can upload files into the notes & attachments section, your internal users can only share files with community users using a chatter feed. Moreover, these files are not synced with your cloud storage (e.g. Google Drive, SharePoint, Dropbox etc...).
In this article, we illustrate how a simple CloudFiles widget enables bi-directional file-syncing between your cloud storage, your Salesforce objects and your community users. Although there are a lot of customizations possible, we have focused this article on a specific use-case of associating a SharePoint folder with a Lead Object, exposing the folder contents to an experience site, and then selectively providing access to contents of that folder to the experience site user.
This article is divided into the following sections -
- Installation & Setup (Pre-requisites)- Quick steps on getting ready to use the CloudFiles app
- Connect SharePoint Folder to Salesforce Lead- The folder widget will be used by internal users to do all the SharePoint file management from Salesforce Leads
- Add Folder Widget to Experience Site- The folder widget can also be used on the experience site to make files accessible to experience site users
- Adding permissions for community users - In this section, we add the necessary CloudFiles permission set for the external users
- Accessing files as community user- Here we see how a community user can preview, download, update & upload files directly from the experience site to SharePoint folders
- Setting access control for community users - Internal users can easily choose which files the community users can see or upload etc... We talk about these settings in this section.
## 1 - Installation & Setup (Pre-requisites)
If you have not already done so, install the CloudFiles app in your production or sandbox environment and connect it to a CloudFiles account
- Install the CloudFiles app from the Salesforce AppExchange.
- Use the CloudFiles App Launcher to connect a CloudFiles account to your Salesforce org.
- Connect integration user for SharePoint. Since Experience cloud users wouldn't be the users in your company's SharePoint, the access works through the integration user. Access control and permissions are handled by CloudFiles for community users.
You can check detailed instructions along with screenshots in our Installation guide here.
## 2 - Connect SharePoint Folder to Salesforce Lead
In order to share files on a experience site, we first need to associate some files or folders to a Salesforce object that we wish to share. In this step we use the CloudFiles folder widget to link a SharePoint folder with a Salesforce Lead Object.
Moreover, while we are linking the folder manually in this step, it can also be automated using Salesforce Flows. You can check this article on Connect external folder to a record which has detailed screenshots on the setup.
As shown in Steps 1 & 2 of the above article, you can drag and drop the Folder widget onto the lead objects and then use the link folder button to connect a folder from SharePoint to the record.
Once the folder is connected, its live contents start showing on the record instantly as shown in the screenshot below -

Now that our internal folder is setup on the lead object, we can share this with our community users using the Salesforce Experience Site Builder
## 3 - Add Folder Widget to Experience Site
Go to Salesforce Setup and search "Digital Experiences". Click on All Sites option under Digital Experiences and click on the "Builder" button of the site where you want to add the file sharing to. For our example, we will add a folder widget to the lead details page of our experience site.
On the left side panel, select components and scroll down to find the 'CloudFiles' Component. Drag and drop this component. Next you need to set reference to a record in your internal salesforce, as well as the record type, to tell this widget where to pick files from. For this example, we simply picked the files from the associated lead using it's recordId.

### Parameters
- Record Id - Id of the Salesforce object. Use can use the standard variable {!recordId} to show the files/folder related to the displayed record
- Object Name - API name of the object. For example - Lead. For the custom objects, please ensure the API name ends with __c
- Widget Config Id - Optional. Id of the widget configuration to apply to this widget
- Component Height - Optional. Height of the widget. Default value is 328px
- Component Width - Optional. Widget of the widget, in percentage of the total page width. Default value is 100% of the page width
- Default View - Optional. Allowed values are list or grid. Default value is list
- Hide "New Folder" button - This option is deprecated. It's no longer used
The steps are summarized in the video below -
[Watch video](https://vimeo.com/879520067?share=copy)
### Adding CloudFiles community widget outside of a record page
Sometime you might require to show content to your community users outside the context of a record. For example, in a customer community, you might show all files for the customer on Experience site home page. To achieve this, use the CloudFiles component as you would on the record pages, with following modifications in the parameters -
- Record Id - Account id for the logged in user. For example, if the experience cloud user is a contact in your CRM, this would be {!CurrentUser.accountId}. You can find the list of all expressions available on a Experience site page here
- Object Name - API name of the object. In this use case, Account
Make sure to link the customer folder to their account page in Salesforce
### Adding CloudFiles community widget to your Experience site page code
If you want to use CloudFiles community widget in the HTML code of your Experience site page, you can use the following code snippet
Attributes -
- record-id- Id of the Salesforce record which has the content attached
- object-api-name - API name of the Salesforce record which has the content attached. For example - Account
- component-width - Optional. Widget of the widget, in percentage of the total page width. Default value is 100% of the page width
- component-height- Optional. Height of the widget. Default value is 328px
- widget-config-id - Optional. Id of the widget configuration to apply to this widget
That's it, now we are all set to see these files as a experience site user once we set the appropriate permissions for the experience site users.
## 4 - Add Permissions for experience cloud users
Before your experience site users can see the connected folders, you need to enable appropriate permissions for them. This process can also be automated. Follow the simple steps below -
- Go to Setup > Permission Sets. Select the 'CloudFiles External Users'
- Click on Manage Assignments. Then Click Add Assignment.
- Choose the users you want to add the CloudFiles Permission for.
- Follow the prompts to finish the assignment process.
Now we are ready to see the files as a community user would.
## 5 - Accessing files as community user
Now login to your experience site as a user. Go to the appropriate page. You should be able to see the Files from the connected folder. You should also be able to upload, download, preview or search the files from right here. Here are the common file & folder operations supported by the CloudFiles Experience Cloud Widget.
- Upload Files, Preview Files, Download Files, Edit / Replace Files -
- New Folder, Rename Folder
- Search for file / folder
- Other operations such as create external sharing link, view analytics etc.. for community users.
The screenshot below shows this in action -

## 6 - Setting access control for community users
In the previous step, as a community user, you could read and write all the files in the associated SharePoint folder. However, a common requirement is to restrict this access. For example, you may want the community users to be able to see only certain files in that folder. Moreover, you may also want to restrict the upload or download flexibility.
As an internal user who has access to the Lead Object, you can do easily do this right from Salesforce.
---
# Document Generation with CloudFiles
https://help.cloudfiles.io/salesforce/document-generation-with-cloudfiles
# Document Generation with CloudFiles
Learn how to integrate Salesforce data into your document workflow using the CloudFiles Word add-in and CloudFiles Doc Gen LWC, including installing the add-in, creating and publishing templates, generating documents, and automating document generation.
> Kind: Quick start · Updated: Jul 4, 2026
In this quick start guide, you will learn how to integrate Salesforce data into your document workflow using the CloudFiles Word add-in and CloudFiles Doc Gen LWC. You will discover how to install the CloudFiles Word add-in, create and publish personalized templates, and manually generate documents in your desired format. Additionally, this guide covers automating the document generation process based on specific triggers and attaching the generated documents to Salesforce records, streamlining your document management and improving efficiency.
For more detailed information, visit Document Generation
This article is divided into the following sections -
- Insert CloudFiles Document Generation LWC: Learn how to insert and configure the CloudFiles Document Generation Lightning Web Component (LWC) within your Salesforce environment to enable seamless document generation.
- Install CloudFiles Word Add-in: Follow the steps to install the CloudFiles Word add-in, which allows you to create and manage document templates directly within Microsoft Word.
- Create Template: Discover how to create customized Word templates using the CloudFiles word add-in, leveraging Salesforce data to personalize your documents.
- Publish Template: Understand the process of publishing your Word templates within Salesforce, making them available for document generation.
- Generate Documents: Learn how to manually generate documents using your published templates.
- Automate Document Generation: Explore the process of automating the document generation using CloudFiles flow actions & attaching the generated documents to desired salesforce record.
Let's look into each section one by one -
## 1 - Insert CloudFiles Document Generation LWC
The CloudFiles Document Generation Lightning Web Component (LWC) can be seamlessly integrated into any object's record detail page within Salesforce. Once incorporated, this widget will showcase all the published templates relevant to that specific object. Users have the flexibility to generate documents in either DOCX or PDF formats, which will be automatically downloaded upon creation, simplifying the document management process.

To add the CloudFiles Doc Gen widget to a page, navigate to the record detail page of any object and click the “Edit Page” button. This will open the Lightning Builder for the page. Within the builder, you can easily drag and drop the "CloudFiles Doc Gen" widget into your desired location. After positioning the widget, save and exit the builder, then refresh the Salesforce record page. The widget will now display all the published templates associated with that object, making document generation more efficient and accessible.
For visual understanding, refer to the video below -
[Watch video](https://youtu.be/PPvVbst2dwE)
## 2 - Install CloudFiles Word add-in
The CloudFiles Word add-in facilitates the integration of CloudFiles with your Salesforce Org, enabling you to create and design templates that incorporate Salesforce fields. This powerful tool streamlines the process of merging Salesforce data into documents, making it easier to generate consistent and accurate templates directly from Microsoft Word.
To add the CloudFiles Word add-in to your Microsoft Word application, start by launching Microsoft Word on your PC. Navigate to the "Home" tab and click on "Add-ins" to explore available options. In the Add-ins window, select "+ More Add-ins" to open the "Office Add-ins" window, then click on "Microsoft AppSource" to be redirected to appsource.microsoft.com. In the search bar, type "CloudFiles" and browse the results to locate the CloudFiles Add-in. Click "Get it now" to install the add-in. Once the installation is complete, open Word to check the new add-in. In the "New Office Add-in" sidebar, click "Allow and Continue" to launch the CloudFiles Word add-in, ensuring it's ready for use with your Salesforce data.
Refer to the video below to have a visual understanding of these steps -
[Watch video](https://youtu.be/0Kzyf8FzEhI)
## 3 - Create Template
You can create a template for any Salesforce object you want. Using various actions, you can insert object fields, related data, and custom resources. Additionally, you can add pictures, tables, and set conditions for content insertion, as well as specify the title of the generated documents. During the template creation process, you can utilize resources to retrieve data from the connected Salesforce Org and design the template with these resources using actions.
Once the CloudFiles Word Add-in is installed and the Salesforce Org is connected, you can start building a template for a selected object. To get started, you must select your primary resource, i.e., the Master Object for which you wish to build the template. In the CloudFiles Add-in sidebar, select Salesforce as the platform and the Salesforce Object as the Master Resource. After clicking 'Submit,' you will be directed to the next stage of selecting actions and utilizing resources.
Refer to the GIF below to have a visual understanding of this process -

## 4 - Publish Template
After building a template and reviewing it, the final step is to publish the template. Publishing makes the template available in your Salesforce Org for document generation on the specified object. To begin, navigate to the 'Publish' stage by clicking on 'Publish' in the 'Stage Progress Bar'. You will then need to choose your publishing option: either check the 'Publish as a New Template' checkbox to publish it as a new template for the object, or check the 'Select an existing template' checkbox and choose an existing template from the drop-down to update an existing one.
Once you've made your selection, click 'Publish'. A pop-up message confirming 'Successfully Created a Template' will appear, indicating the template has been created. To verify the template, you can check the newly created or updated template from the 'CloudFiles Doc-Gen' widget on the object's page or from the 'Document Generation' tab of the CloudFiles app.
Refer to the GIF to have a visual understanding of the steps above -

## 5 - Generate Documents from CloudFiles Doc Gen LWC
Once the CloudFiles Doc Gen LWC is added to the record page and the template has been published, you can start generating documents in either DOCX or PDF format, which will be automatically downloaded upon generation.
To manually generate a document from CloudFiles Doc Gen LWC, navigate to the 'CloudFiles Doc Gen LWC' on any object page. Click the drop-down menu next to the template you want to use and select either 'Generate DOCX' or 'Generate PDF' for the desired document format. The document generation process takes a moment. Once completed, you can either download the generated document or choose 'Copy to Salesforce Files' to upload it as a Salesforce File, attaching it to the record in the 'Files' section.
Refer to the video below to have a visual understanding of this step -
[Watch video](https://youtu.be/ZWRfyzjwwwA)
## 6 - Automate Document Generation
You can automate document generation using Salesforce Flow Builder and CloudFiles actions based on specific triggers and criteria. Below, we'll create two flows: one to automate document generation using Flow Action and another to ensure the generated documents are properly attached to the corresponding Salesforce records. This is how the automation looks like -

The flows are discussed in brief below -
### Flow 1 - Automate Document Generation Using Flow Action
Create a new flow type that suits your needs, such as a Record-Triggered Flow. Add the 'CloudFiles: Generate Document' action to the flow and configure the action by entering the following parameters:
- Format: Choose a format (DOCX or PDF).
- Template ID: Enter the Template ID (found in the 'Document Generation' tab).
- Record ID: Enter the object's record ID for which the document is to be generated.
- User ID: Enter the CloudFiles System User's ID (the user used to set up CloudFiles in the Salesforce Org).

Save and activate the flow. When the flow's trigger conditions are met, the action will automatically generate a document and create a Content Version in Salesforce.
Refer the video below to have a visual understanding of these steps -
[Watch video](https://youtu.be/EUZjRLpryCs)
A CloudFiles Event of type document-generated is published upon document generation. The generated documents can be handled further through a Platform Event-Triggerred Flow given below -
### Flow 2 - Handle Generated Documents Using Platform Event-Triggered Flow
Create a new platform-triggered flow and choose Platform Event as 'CloudFiles Event'. Configure the flow to handle the generated documents by following these steps:
1 - Add a Decision Element: Add a 'Decision' element to the flow to identify when a document is generated.
- Resource: $Record > Type
- Operator: "Equals"
- Value: document-generated
2 - Get Event Details: Add a 'Get Event Details' action. Set the input value for the 'Event' parameter as {!$Record}.
3 - Check Object Type: Add a 'Decision' element to check the object type on which the document is generated. Set the condition to identify the object type as
- Resource - Outputs from Get_Event_Details > DocumentGenerated > ParentId
- Operator - "Starts With"
- Value - Object ID identifier i.e., record ID's first 3 digits. For Account Record it is 001
4 - Get Content Version: Add a 'Get Records' element to get the 'Content Version' record of the generated document. Identify the record by ID using outputs from Get_Event_Details > DocumentGenerated > ContentVersionId.
5 - Attach the Generated Document to the Record: Add a 'Create Records' element to create 'Content Document Link'. Set the field values as -
- LinkedEntityId: Outputs from Get_Event_Details > DocumentGenerated > ParentId
- ContentDocumentId: Content Version from Get_generated_document_s_Content_Version > ContentDocument ID
Save and activate the flow. This will ensure the generated document is attached to the record as a Salesforce File in the 'Files' section. This is how the final flow looks like -

Refer to the GIF below to have a visual understanding of these steps -
[Watch video](https://youtu.be/MoZUptvPqKo)
To sum up, by following this guide, you can install the CloudFiles Word add-in, create and publish personalized templates, and automate document generation based on specific triggers. Additionally, it covers automating the attachment of generated documents to Salesforce records, streamlining your document management and improving efficiency.
---
# Test Drive
https://help.cloudfiles.io/salesforce/test-drive
# Test Drive
Welcome to the CloudFiles Salesforce Test Drive. This section illustrates the testing options available with the CloudFiles test drive across Document Generation, Document Management & Sharing, and Document AI.
> Kind: Guide · Updated: Jul 9, 2026
Welcome to the CloudFiles - Salesforce Test Drive. In this section we illustrate various testing options that are available with the CloudFiles test drive.
In order to access this, head over to any of our AppExchange listings and click on the 'Try It' button. Fill your info to access the test drive org. Once the test-drive is open, navigate to this article within the Instructions tab of the Test Drive.
## About Each Test Drive
Each of the Test Drive articles cover 4 aspects -
- Introduction - Summary of what is contained in the specific test
- Instructions - Steps to test the feature out and expected results
- Implementation - Flows and other components used for the specific test
- Beyond - Extension of the test drive, explaining capabilities beyond the specific test
## Available Test Drives
Here is a list of available test-drives based on each product -
- Document Generation Test Drive - In this article, we will check how CloudFiles Doc-Gen generates customizable documents from Salesforce Object records and templates created using Microsoft Word.
- Document Management & Sharing Test Drives - In this article, we explain how to use CloudFiles Document Management & Sharing Platform to explore its capabilities for managing and sharing documents.
- Document AI Test Drives - In this article, we explain how CloudFiles Document AI enables you to extract information from files (OCR), classify documents, and intelligently split documents.
## Upcoming Test Drives
We are in the process of adding more test drives. Here is a list of articles that are coming soon -
Document Management -
- Update SharePoint metadata columns (Rename folder)
- Permission Updates
- Copy from SharePoint to Salesforce
- File Uploader using Files Connect
- Creating SharePoint site automatically
- File Counter using Get Folder Contents
- Sharing & collecting files from external users
- Sharing & collecting files from experience cloud users
Document AI -
- Splitting multiple combined POs into child objects
- Handling CSV text Output from AI
- Handling JSON Output from AI
- Mass property extraction from a medical form
- Signature Checking
- Document Approval Workflows
- Data Reconciliation using AI
- Document Checklist
- Calculations using AI
- Rating Paragraphs using AI
- Using CloudFiles AI without Document Context
---
# Document Generation Test Drive
https://help.cloudfiles.io/salesforce/document-generation-test-drive
# Document Generation Test Drive
This article covers the list of available test drives related to CloudFiles Document Generation use-cases.
> Kind: Test drive · Updated: Jul 4, 2026
This article covers the list of available test drives related to AI-based document processing use-cases:
- Automated Doc Gen - This test drive demonstrates how you can automatically generate documents based on templates using Salesforce data using Doc Generation Flow Actions.
- Manual Doc Gen - Generate DOCX, XLSX, PPTX, or PDF documents from Salesforce records using CloudFiles templates and a simple click-based interface.
- Merge Documents - In this test drive, you will explore how CloudFiles Document Generation, integrated with Salesforce Flows, can automatically merge multiple Salesforce files into a single PDF document.
- Merge External Documents - In this test drive, you will explore how CloudFiles Document Generation, integrated with Document Management and Salesforce Flows, can automatically merge multiple documents stored in external storage (e.g., SharePoint, Google Drive) into a single consolidated PDF file.
- Real-Time Document Generation with Runtime Variables - This test drive showcases the next level: generating documents using dynamic runtime variables. Instead of relying solely on Salesforce field values, you’ll populate an invoice through a guided Screen Flow, which accepts custom input directly from the user and generates a document on the fly.
- Secure PDF Generation - This test drive is an addition to the previous one, focusing exclusively on PDF encryption capabilities available at the final stage of the process — offering organizations greater control and security over their generated documents.
---
# Automated Doc Gen
https://help.cloudfiles.io/salesforce/automated-doc-gen
# Automated Doc Gen
This Test Drive demonstrates how to automate document generation using Salesforce Flows and Doc Generation Flow Actions, building on the Manual Doc Gen Test Drive.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In Manual Doc Gen Test Drive, we see how users can generate documents directly from templates using the CloudFiles Doc-Gen component on record pages. This Test Drive demonstrates the next level — how you can automate document generation using Salesforce Flows and Doc Generation Flow Actions.
## Instructions
Follow the same process as described in the Manual Doc Gen Test Drive:
- Go to 'Contracts' tab and create a new Contract.
- Fill in all the required fields in the 'New Contract' form:
- 'Account Name' : Choose an existing account or create a new one.
- 'Price Book' : Select "CloudFiles Price Book" from the options.
- 'Contract Image URL' : Provide a public URL for an image.
- 'Contract Start Date' : Pick a date.
- 'Customer Signed Date' : Pick a date.
- 'Contract Term' : Enter a numerical value.
- 'Customer Signed By' : Select an existing contact or create a new one.
- 'Status' : Leave as default i.e. 'Draft'
- Once the Contract is created, edit the Status field and set it to 'Activated' to trigger the flow automation.
- Within seconds, a Contract PDF and Excel file will be auto-generated and attached to the record in the 'Files' related list— no clicks needed. You may need to refresh the page to see the changes.
The below image displays the 'Contract' Record page after the generation:

> **Store Generated Files in Connected External Storage** — If you want to see how CloudFiles Document Management & Sharing works alongside Document Generation you can also generate files directly into connected external storage platforms (like SharePoint, Google Drive, One Drive etc.) After setting the Status field to 'Activated', open the CloudFiles widget in the Files tab of the Contract record. You’ll find the generated files located in the connected external folder.Note: If you don’t see a connected folder or the files haven’t appeared yet, simply refresh the widget or the page.
Note: If you don’t see a connected folder or the files haven’t appeared yet, simply refresh the widget or the page.
The below image displays a sample 'Contract' pdf file generated:

## Implementation
This demo automation was configured using Salesforce Flows configured with Doc Generation Flow Actions :
- Triggers based on Contract Status field updates
- Generate Document (Sync) Flow Action is executed.
- Store them either as Salesforce Files or push them into external storage
The below image displays the 'Contract' Template configuration:

The below image displays the Flow being triggered behind this demo:

> For more information, please refer to Doc Generation Flow Actions
## Beyond this Test Drive
The Doc Generation Flow Actions can be applied to many real-world automations beyond this simple demo. Below are some extended possibilities:
### Auto-Generate Documents on Key Record Updates
Trigger file creation when records reach specific stages or conditions in Salesforce.
Example: When an Opportunity reaches “Closed Won,” automatically generate a Quote and a Thank-You letter, and attach them to the record.
### Multi-Format Document Generation
Produce multiple formats of the same template in one go.
Example : From a Contract record, generate a PDF for client signature and a Word copy for internal editing.
### Store in Salesforce or External Systems
Decide where to store generated files — natively in Salesforce or in connected storage (SharePoint, Google Drive, OneDrive, AWS S3, etc.).
Example: Generate monthly invoices and save them directly in SharePoint under a customer-specific folder while keeping metadata inside Salesforce.
### Dynamic Runtime Variables
Insert values directly from Salesforce records or flow runtime variables into templates.
Example: Pull billing details from related objects or calculate discounts dynamically in real-time and insert them into an invoice.
### Screen Flow-Driven Document Generation
Capture values from users during a screen flow and inject them into templates as runtime inputs.
Example: A sales rep runs a screen flow that collects deal terms, payment conditions, and special clauses, then instantly generates a Quote PDF with those details filled in.
### Chain with Communication Workflows
Combine with Flows to email, share, or notify users once documents are generated.
Example: After generating a new Service Agreement, automatically email it to the customer with Salesforce email alerts.
### Batch Generation at Scale
Run scheduled or batch flows to mass-generate documents for groups of records.
Example: Every quarter, generate performance reports for all active accounts and save them in a client-facing Experience Cloud site.
### Enforce PDF Security Controls
Protect sensitive documents with configurable PDF restrictions.
Example: Generate policy documents that cannot be printed or edited, with password protection enabled for opening.
With just a few clicks in Flow Builder, Doc Generation Flow Actions empower you to build sophisticated document generation workflows without writing a single line of code.
There are other test drives available that might be of interest to you as well. Head back to the Test Drive article to continue testing.
---
# Manual Doc Gen
https://help.cloudfiles.io/salesforce/manual-doc-gen
# Manual Doc Gen
A test-drive walkthrough of CloudFiles Doc-Gen: creating a Contract, generating DOCX/XLSX/PPTX/PDF documents from a Salesforce record using a Word/Excel/PowerPoint template, and downloading or saving the result to Salesforce Files.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we will explore how CloudFiles Doc-Gen generates customizable documents (DOCX, XLSX, PPTX, and corresponding PDFs) from Salesforce Object records and templates created using Microsoft Word or Power Point or Excel. The entire process takes less than a minute to complete.
Refer to the below video to understand what to expect in this test drive -
[Watch video](https://youtu.be/zDt79gY0yBo)
In order to access this test drive, head over to our Salesforce AppExchange listing & click on the 'Try It' button. Enter your information to open the test drive org. Once the test-drive is open, navigate to this article within the 'Instructions' tab of the Test Drive.
## Instructions
To test out this feature, follow the simple instructions below.
- Go to 'Contracts' tab and create a new Contract.
- Fill in all the required fields in the 'New Contract' form:
- 'Account Name' : Choose an existing account or create a new one.
- 'Price Book' : Select "CloudFiles Price Book" from the options.
- 'Contract Image URL' : Provide a public URL for an image.
- 'Contract Start Date' : Pick a date.
- 'Customer Signed Date' : Pick a date.
- 'Contract Term' : Enter a numerical value.
- 'Customer Signed By' : Select an existing contact or create a new one.
- Once the Contract is created, open it and find the 'CloudFiles' Doc-Gen component on the record.

- The component will display templates configured for the 'Contract' object.

- Click the drop-down next to a template and select either 'Generate PDF' or 'Generate DOCX/PPT/Excel' to create the document.

- The file generation takes a moment of time.

- Once generated you can
- 'Download' the document to your computer
- 'Copy to Salesforce Files' to save it as a Salesforce file on the record.
Refer to the GIF below for visual understanding of the above steps -

## Implementation
This setup uses Document Generation powered by:
- Template Creation in Microsoft Word, Excel, or PowerPoint
- Doc Gen Widget Set-up
The Doc-Gen component reads record data, applies it to the chosen template, and outputs a document in the required format. Generated files can be instantly downloaded, stored as Salesforce Files, or synced into external storage via CloudFiles Document Management.
The below image displays the 'Contract' Template configuration:

For more details please refer to Document Generation.
## Beyond this Test Drive
The possibilities of document generation with CloudFiles Doc-Gen extend beyond this specific scenario. Below are several practical examples and extended capabilities:
### Multi-format Template Creation
CloudFiles Doc-Gen supports Template Creation and customization across multiple file formats.
Example: Create PDFs with form fields, Word documents (.docx), Excel sheets (.xlsx), and PowerPoint presentations (.pptx) to cater to various use cases and requirements.
### Universal Salesforce Object Support
Templates can be designed for any Salesforce standard or custom object.
Example: Generate customized quotes from Opportunities, detailed case reports from Cases, or personalized client communications from Contacts. Each object can have multiple unique templates.
### Advanced Template Configuration
Templates can accommodate complex and highly customized configurations.
Example: Configure templates with conditional content insertion, dynamic tables from related lists, calculated fields, and complex formatting using CloudFiles Template Builder and .
### Flexible Salesforce Integration
CloudFiles Doc-Gen components can be embedded in various Salesforce interfaces.
Example: Place the on Salesforce Lightning record pages, internal apps, or customer-facing Experience Cloud pages, enabling diverse users easy access to document generation functionality.
### Workflow Automation
Automate document generation within Salesforce processes and workflows.
Example: Integrate document generation with Salesforce Flow or CloudFiles to automatically create, store, and distribute documents based on record triggers, approvals, or events, while saving generated files directly to Salesforce Files or external storage systems.
There are other test drives available that might be of interest to you as well. Head back to the Test Drive article to continue testing.
---
# Merge Documents
https://help.cloudfiles.io/salesforce/merge-documents
# Merge Documents
Explore how CloudFiles Document Generation, integrated with Salesforce Flows, can automatically merge multiple Salesforce files into a single PDF document.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, you will explore how CloudFiles Document Generation, integrated with Salesforce Flows, can automatically merge multiple Salesforce files into a single PDF document.
This setup allows users to upload multiple files into a record, select specific files for merging, and generate a single consolidated file. The merged output is automatically saved as a child Result Document record.
> **Note** — Note: The file types supported for merging are PDF, DOCX, Images (PNG and JPEG).
All of this is powered by Salesforce flows and the flow actions from CloudFiles. The test drive takes less than a minute to complete.
## Instructions
Follow the steps below to test the setup:
- Go to the Split or Merge Documents tab and create a new record. No additional input is required — just save it.
- Upload a few files using the standard Files related list on the record.

- Click the 'Merge Files' button. This will launch a screen flow.
- From the screen, select the files you want to merge and click 'Merge'.

- CloudFiles will combine the selected files and generate a new Result Document record.
- You can find the final merged file attached to this new child record.

## Implementation
This test drive is implemented using a Salesforce screen flow, powered by the Merge Documents (Sync) flow action.
The screen flow performs the following steps:
- Collects all ContentDocumentIds from files attached to the parent record.
- Displays a list of those files on a screen where users can select which ones to merge.
- Passes the selected content documents to the Merge Documents (Sync) action.
- Retrieves the final merged file (as a ContentVersion).
- Creates a Result Document child record and attaches the merged PDF to it.

## Beyond This Test Drive
The Merge Documents (Sync) action from CloudFiles isn’t limited to just this test drive—it can be reused across a variety of Salesforce flows and automation scenarios. Whether you're working with screen flows, record-triggered flows, or scheduled flows, this action can help automate document packaging tasks across teams.
Below are few ways this action can be leveraged in broader enterprise use cases:
### Screen Flows for On-Demand Document Packaging
Use the merge action in guided screen flows where users interactively select files to merge, rename output, or trigger downstream steps.
Example: A sales rep merges a quote, terms sheet, and case study into a single proposal PDF to send to a prospect—right from an Opportunity screen flow.
### Auto-Merge on Record Save (Record-Triggered Flows)
Trigger the document merge automatically when certain conditions are met—like when a record reaches a specific stage or status.
Example: When an HR record reaches "Ready to Offer," the system automatically merges the offer letter, NDA, and job description into a single hiring packet.
### Scheduled Flows for Batch Document Compilation
Run scheduled flows that periodically merge documents (daily, weekly, monthly) for operational tasks.
Example: A scheduled flow merges all invoices generated during the week into a single summary PDF for monthly archiving or email delivery.
### Post-Signature Document Bundling
After a contract is signed via eSignature, use the merge action to combine the signed contract, terms, and client documents into a single client archive package.
Example: In a service onboarding flow, once DocuSign completes a contract, merge the signed file with the onboarding checklist and welcome doc.
### Merge External Files Before Upload or Storage
Combine files from external sources (e.g., SharePoint, Google Drive) into a single document before uploading to Salesforce or an external archive.
Example: A legal team merges uploaded draft contracts from SharePoint into one file before pushing to Salesforce for final review.
### Dynamic File Assembly Based on Related Records
Use flow logic to dynamically gather and merge files based on related objects or metadata conditions.
Example: For a project record, gather all linked project phase reports, then merge and attach them as a consolidated report for clients.
With its synchronous execution and tight Salesforce integration, the CloudFiles Merge Documents (Sync) provides a fast, reliable way to automate multi-file operations—reducing manual effort while improving document accessibility and consistency.
---
# Merge External Documents
https://help.cloudfiles.io/salesforce/merge-external-documents
# Merge External Documents
This test drive shows how CloudFiles Document Generation, integrated with Document Management & Sharing and Salesforce Flows, can automatically merge multiple documents stored in external storage into a single consolidated PDF file.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, you will explore how CloudFiles Document Generation, integrated with Document Management & Sharing and Salesforce Flows, can automatically merge multiple documents stored in external storage (e.g., SharePoint, Google Drive) into a single consolidated PDF file.
This setup allows users to upload multiple documents to a connected folder, select desired files to merge and then trigger a flow that generates a new combined PDF.
> **Note** — Note: The file types supported for merging are PDF, DOCX, Images (PNG and JPEG).
All of this is powered by Salesforce flows and the flow actions from CloudFiles. The test drive takes less than a minute to complete.
## Instructions
Follow the steps below to test the setup:
- Go to the Split or Merge Documents tab and create a new record. No additional input is required — just save it.
- Navigate to the External Files tab on the record and and upload multiple files using the CloudFiles widget. This uploads the documents into the connected external folder (i.e. a SharePoint folder). Refresh the widget if the folder doesn't appear.
- In the file list, select the files you wish to combine. Then, click on the list button dropdown and choose "Merge".
- Wait a few seconds for the automation to complete. Refresh the page to view updates.
- CloudFiles will combine the selected files and generate a new document named "Merged.pdf" into the folder.
- A corresponding Result Document record is created and the final merged file can be found attached to record, in the CloudFiles widget under the External Files tab.





## Implementation
This test drive is implemented using a Salesforce auto-launched flow, powered by the Merge Documents (Sync) flow action.
The screen flow performs the following steps:
- Collects ResourceIds of files selected
- Passes the selected ResourceIds to the Merge Documents (Sync) action.
- Creates the final merged file into connected folder.
- Creates a Result Document child record and attaches the merged PDF to it.

Additionally, this setup leverages the ability to add custom buttons to the file dropdown or list view in the CloudFiles component. These buttons can be configured to launch either screen flows or auto-launched flows, providing seamless integration and user-triggered automation directly from the file interface.

## Beyond This Test Drive
The Merge Documents (Sync) action from CloudFiles isn't limited to just this test drive—it can be reused across a variety of Salesforce flows and automation scenarios. Whether you're working with screen flows, record-triggered flows, or scheduled flows, this action can help automate document packaging tasks across teams.
Below are few ways this action can be leveraged in broader enterprise use cases:
### Screen Flows for On-Demand Document Packaging
Use the merge action in guided screen flows where users interactively select files from CloudFiles widget to merge external storage files, rename output, or trigger downstream steps.
Example: A sales rep merges a quote, terms sheet, and case study into a single proposal PDF to send to a prospect—right from an Opportunity screen flow.
### Auto-Merge on Metadata Updates (CloudFiles- Event Triggered Flows)
Trigger the document merge automatically when certain conditions are met—like when an external resource's metadata meet certain conditions.
Example: When a SharePoint folder's custom 'Status' column is updated as final,then system automatically merges all it's files into a single file.
### Scheduled Flows for Batch Document Compilation
Run scheduled flows that periodically merge documents (daily, weekly, monthly) for operational tasks.
Example: A scheduled flow merges all invoices generated during the week into a single summary PDF for monthly archiving or email delivery.
### Post-Signature Document Bundling
After a contract is signed via eSignature, use the merge action to combine the signed contract, terms, and client documents into a single client archive package.
Example: In a service onboarding flow, once DocuSign completes a contract, merge the signed file with the onboarding checklist and welcome doc.
### Dynamic File Assembly Based on Related Records
Use flow logic to dynamically gather and merge files based on related objects or metadata conditions.
Example: For a project record, gather all linked project phase reports, then merge and attach them as a consolidated report for clients.
With Document Generation + Document Management & Sharing, CloudFiles allows you to automate generation and organizing documents in external storage directly from Salesforce—boosting operational efficiency and enhancing user interactions.
---
# Real-Time Document Generation with Runtime Variables
https://help.cloudfiles.io/salesforce/real-time-document-generation-with-runtime-variables
# Real-Time Document Generation with Runtime Variables
This test drive showcases generating documents using dynamic runtime variables, populating an invoice through a guided Screen Flow that accepts custom input directly from the user.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In the test drives Manual Doc Gen and Automated Doc Gen, we demonstrated how CloudFiles Doc-Gen enables users to generate customizable documents (DOCX, XLSX, PPTX, or PDFs) using templates and Salesforce record data.
This test drive showcases the next level: generating documents using dynamic runtime variables. Instead of relying solely on Salesforce field values, you’ll populate an invoice through a guided Screen Flow, which accepts custom input directly from the user and generates a document on the fly.
In order to access this test drive, head over to our Salesforce AppExchange listing & click on the Try It button. Enter your information to open the test drive org. Once the test-drive is open, navigate to this article within the Instructions tab of the Test Drive.
## Instructions
To test out this feature, follow the simple instructions below:
- Go to Opportunities tab and create a new Opportunity with basic details.
- Once the record is saved, open it and click the Generate Invoice button.

- This launches the CloudFiles: Opportunity Dynamic Invoice DocGen Screen flow. You’ll now see a guided screen where you can enter your own runtime details.

- In the Invoice Details section, fill out information such as the invoice number, who prepared it, the document name, and date/time.

- Choose whether you want to generate a PDF or DOCX file.

- In the Contact Details, enter the customer's information, including Email (make sure it's valid — the document will be emailed here).

- Under Products, toggle ON the Products you wish to be included as Line Items in the Invoice and specify quantity and unit price.

- In the Subscription Period, set the start and end dates for the billing cycle.

- Lastly, add any custom notes for the customer using the Rich Text Editor in Note to Customer section.

- When you're ready, click Generate. Within seconds, the invoice will be created and attached to the Files related list of the opportunity.

- You’ll also receive an email with the generated file as an attachment.
## Implementation
This demo is powered by Salesforce Flow Builder combined with Generate Document (Sync) Flow Action. The key components of the flow include:
- Screen elements to collect runtime input from the user.
- Assignment elements to map these inputs to variables.
- A Generate Document (Sync) action that invokes the Doc-Gen process using:
- Template ID
- File type
- Runtime variables
- Destination
- Record context
The runtime values are not pulled from fields — instead, they’re entered by the user at runtime and passed as Runtime Variables.
The below image displays the Flow being triggered behind this demo:

The below image displays the 'Invoice' Template configuration in MS Word:

CloudFiles supports a variety of variable types, including:
- Runtime Variables (entered via flows)
- Record Single Variables (individual records)
- Record Collection Variables (lists of records)
Each variable can be configured with a specific data type such as String, Boolean, Integer, Date, Time, DateTime, Double, and Rich Text.

## Beyond this Test Drive
The ability to generate documents synchronously with runtime variables unlocks powerful use cases across industries. Here are some practical scenarios:
### Interactive Quote Generation
Use runtime variables in guided screen flows where sales reps input discounts, special terms, or custom product bundles, and instantly generate a customer-ready quote.
Example: A sales rep enters runtime values during a call with a prospect and immediately produces a tailored Quote PDF with discounts and custom terms that can be emailed on the spot.
### On-Demand Contracts & Agreements
Legal or HR teams can enter runtime values such as role, compensation, and start date into a flow, dynamically adjusting contract clauses.
Example: An HR manager inputs details for a new hire and instantly generates a ready-to-sign Employment Contract PDF with clauses based on runtime conditions.
### Custom Invoices with Dynamic Line Items
Finance teams add runtime details such as tax rates, subscription dates, or additional charges into flows to generate invoices in real-time.
Example: An accounts executive generates a monthly Subscription Invoice PDF where runtime values define billing dates and dynamic line items are calculated immediately.
### Personalized Customer Communications
Service reps use runtime variables to insert details like SLA commitments, complaint descriptions, or resolution notes into pre-defined templates.
Example: A support agent generates a Case Resolution Letter PDF with runtime-entered troubleshooting steps and commitments, emailed directly to the customer.
### Secure Document Delivery with Flow-Controlled Encryption
Sensitive documents can be generated with PDF encryption settings defined at runtime, such as viewer passwords or restricted printing.
Example: A compliance officer generates a Compliance Report PDF where the viewer password is dynamically set using runtime variables before the document is shared externally.
### Event-Specific or Time-Sensitive Documents
Marketing teams capture runtime details such as attendee names, event sessions, or offers and generate personalized documents instantly.
Example: A marketing coordinator uses runtime inputs to generate Event Participation Certificates PDF for attendees with dynamic QR codes included.
Synchronous Document Generation - Unlike other tools that use delayed async methods, CloudFiles supports real-time (sync) document generation. This means:
- No delays or polling
- Instant file availability for email, attachments, or external storage
- Seamless experience for users and automation flows
With CloudFiles’ runtime variables + synchronous generation, Salesforce users can build workflows where documents are customized in real-time and immediately usable — whether for approvals, emails, secure sharing, or client communication.
---
# Secure PDF Generation
https://help.cloudfiles.io/salesforce/secure-pdf-generation
# Secure PDF Generation
This test drive shows how to enable PDF encryption — view passwords and PDF locking — at the final stage of CloudFiles Doc-Gen's Salesforce Flow document generation.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In the previous test drive Real-Time Document Generation with Runtime Variables, we demonstrated how CloudFiles Doc-Gen can generate documents using user input collected at runtime through a Salesforce Flow.
This short test drive builds on that by focusing exclusively on PDF encryption capabilities available at the final stage of that process — offering organizations more control and security over their generated documents.
In order to access this test drive, head over to our Salesforce AppExchange listing & click on the Try It button. Enter your information to open the test drive org. Once the test-drive is open, navigate to this article within the Instructions tab of the Test Drive.
## Instructions
Follow all steps from the Real-Time Document Generation with Runtime Variables est drive up until the final screen of the flow. Just before clicking Generate, you’ll see a section labeled Encrypt Document (ONLY PDF).
Here's how to use it:
- Enable Encryption by checking the box: “Want to Encrypt the Generated File?”
- Set Password Controls
- Toggle Set View Password to restrict who can open the file.
- Toggle Lock PDF to disable editing, copying, or printing.
- Enter the corresponding passwords in the input fields.

- Click Generate as usual. The output PDF will be encrypted with the applied restrictions and emailed to the address you provided during the flow.

## Implementation
This demo is powered by Salesforce Flow Builder combined with Generate Document (Sync) Flow Action.
The below image displays the Flow being triggered behind this demo:

## Beyond this Test Drive
PDF encryption is just one piece of CloudFiles’ broader security framework. By combining encryption with Flow-driven logic, you can tailor document protection to meet business and compliance needs. Here are a few real-world scenarios:
### Confidential Proposal Delivery
Restrict opening and printing of sensitive proposals generated for high-value deals.
Example: A sales team generates a proposal PDF with runtime data, secured with a view password before sharing with the client.
### Compliance-Driven Reports
Apply strict retention and editing rules on regulatory documents.
Example: A compliance officer generates quarterly audit reports with PDF locking enabled, preventing unauthorized edits or copies.
### HR & Legal Documents
Secure employment contracts or NDAs with dynamic encryption before distribution.
Example: An HR manager generates a contract PDF with an owner password to prevent editing and ensures only the candidate (via a view password) can open it.
### Customer Data Protection
Enforce GDPR or HIPAA requirements on customer-facing documents.
Example: A healthcare provider generates patient summaries with PDF form-filling disabled, ensuring data integrity and compliance.
### Controlled Distribution in Flows
Automate when and how encryption is applied — per record, per stage, or per user role.
Example: Contracts generated at the “Legal Review” stage automatically apply password-protected access before being sent to external parties.
With CloudFiles, security isn’t an afterthought — it’s built into the generation process itself, delivering encrypted documents instantly with no waiting, no polling, and no third-party tools required.
---
# Document Management & Sharing Test Drives
https://help.cloudfiles.io/salesforce/document-management-and-sharing-test-drives
# Document Management & Sharing Test Drives
This article contains the list of available test drives related to document management use-cases.
> Kind: Test drive · Updated: Jul 4, 2026
This article contains the list of available test drives related to document management use-cases -
- Automatic Folder Structures Test Drive - In this article, we will check how CloudFiles creates automatic and customizable folder structures using Salesforce flows and shows them right there on the record.
- CloudFiles Widget Configurations Test Drive - In this article, we will demonstrate how CloudFiles allows you to edit SharePoint columns values and also enforce mandatory SharePoint columns within the file upload widget.
- Copy Email Attachments to Case Folders Test Drive - In this article, we will check how CloudFiles can copy Case email attachments to external storage like SharePoint using a simple Salesforce flow along with some CloudFiles elements.
- Custom Object Creation on File Upload Test Drive - In this article, we will check how CloudFiles generates custom object records upon file uploads into external storage. These records aid in global file searches and storing file metadata in Salesforce for reporting.
- External File Sharing & Collection via CloudFiles Datarooms - In this article, we'll see how CloudFiles enables secure external sharing and file collection through auto-generated datarooms and Cloudfiles links.
- Move External Storage Files to SFDC Files Test Drive - In this test drive, you will explore how CloudFiles Document Mnagement , integrated with Salesforce Flows, can seamlessly copy files stored in external storage (e.g., SharePoint, Google Drive, OneDrive) back into Salesforce as native Salesforce Files.
- Move Lead folder to Account folder on conversion - In this article, we will check how CloudFiles can relocate folders linked to records in external storage when record updates occur. For example, moving Lead folder into it's Account folder upon conversion.
- Move SFDC Files to External Storage Test Drive - In this article, we will check how CloudFiles can copy or move SFDC files of any type or size to external folders based on custom logic.
- Nested Folders based on Object Relationships Test Drive - In this article, we will check how CloudFiles can create nested folder hierarchy based on object relationships (e.g. Opportunity folder inside Account Folder).
- Template Folder Cloning Test Drive - In this test drive, we’ll demonstrate how CloudFiles can automatically create folders based on a template with the specified subfolders or files using Salesforce flows and show them right there on the record.
- Update SharePoint Folder Name Test Drive - In this article, we'll explore how CloudFiles can automatically rename a record's folder when the record name is updated.
---
# Automatic Folder Structures Test Drive
https://help.cloudfiles.io/salesforce/automatic-folder-structures-test-drive
# Automatic Folder Structures Test Drive
A test drive walkthrough showing how CloudFiles automatically creates customizable folder structures in SharePoint via Salesforce flows when a new Account record is created.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we will check how CloudFiles creates automatic and customizable folder structures using Salesforce flows and shows them right there on the record. The test drive would take less than a minute to complete.
Watch the video below for a quick overview of what you can expect in this test drive.
[Watch video](https://youtu.be/66e3vxKZW78)
Follow the instructions in the next section to test. The subsequent sections explain the setup for this test drive as well as what else is possible as an extension of this Test drive.
## Instructions
To test out this feature, follow the simple instructions below.
- Start the CloudFiles Test Drive from our AppExchange listing.
- Go to 'Accounts' tab and create a new account
- In the 'Account Type' property dropdown, select any value. Each value creates a different folder structure.
- Once the account is created, go to the 'Files' tab on the record.
- You will see a ready-to-go folder structure on the record that was automatically created in SharePoint
> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see anything in the Files Tab, try refreshing the CloudFiles widget a couple times.
The GIF below gives a visual representation of these steps.

## Implementation
The following video shows the flow that made this possible. If you'd like detailed steps on this implementation, check out our tutorial on this use-case at Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects.
[Watch video](https://youtu.be/yZAey69W42o)
## Beyond this Test Drive
We have addressed a very specific use-case of custom folder structure creation on Salesforce Account records. However, there are many variations of this possible such that it can fit your custom use-case. Check the pointers below -
- The folder structures being created are configured using Flows. You can configure it to create any type of folder / sub-folder structure with any naming convention and hierarchy.
- Beside a static sub-folder structure, you can also create nested folder structures based on SFDC object relationships. E.g. a parent account folder with specific opportunity folders inside. We have covered this in another Test Drive article.
- We have used SharePoint as the external storage however the same can be configured with any other external storage including Google Drive, Amazon AWS S3, OneDrive, Azure, Dropbox etc..
- We have shown this demo only on the Account, however CloudFiles LWC and automations are supported for all standard and custom objects.
There are other test drives available that might be of interest to you as well. Head back to the Test Drive article to continue testing.
---
# CloudFiles Widget Configurations Test Drive
https://help.cloudfiles.io/salesforce/cloudfiles-widget-configurations-test-drive
# CloudFiles Widget Configurations Test Drive
This test drive demonstrates how CloudFiles allows you to edit SharePoint columns values and also enforce mandatory SharePoint columns within the file upload widget.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we will demonstrate how CloudFiles allows you to edit SharePoint columns values and also enforce mandatory SharePoint columns within the file upload widget. This feature ensures that users fill in all required fields before uploading files into SharePoint through the CloudFiles widget. This setup helps in maintaining data integrity by ensuring that crucial metadata is captured during the upload process. The entire test drive will take less than a minute to complete.
Watch the video below for a quick overview of what you can expect in this test drive.
[Watch video](https://youtu.be/7fXkMtwyzsM)
Follow the instructions in the next section to try it out. The subsequent sections explain the setup for this test drive as well as additional possibilities that can be explored with this feature.
## Instructions
To test out this feature, follow the simple instructions below :
- Navigate to the 'Opportunities' tab and create a new Opportunity. This action will automatically create a corresponding SharePoint folder, which can be viewed in the 'Files' tab.
- Click the "Upload Files" button or drag and drop files into the folder to begin uploading.
- In the 'Upload Files' pop-up window, select a value for the "Document Type" column for each file being uploaded, then click "Next." Notice that the "Next" button will not activate until a column value is selected for each file.
- Once the files are uploaded, click "Done."
- You can now view the uploaded files in the widget, along with their associated SharePoint columns.
- To update the SharePoint column values, click the "Edit" or pencil icon next to any column cell.
- This will make the column value editable. Update the value as needed. You can modify multiple column values in a single edit interface.
- After making the necessary updates, click "Save" to apply the changes.
The GIF below gives a visual representation of these steps.

> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see anything in the Files Tab, try refreshing the CloudFiles widget or Page a couple times.
## Implementation
The following video shows the implementation that made this possible.
[Watch video](https://youtu.be/hWZYy9fNOVA)
## Beyond this Test Drive
In this test drive, we demonstrated how to display and enforce mandatory column values for files uploaded through the widget. This functionality can be easily adapted to fit various custom use cases. Here are a few additional possibilities:
- While our demo focused on the Opportunity Page Widget, CloudFiles LWC and its configurations work seamlessly with all standard and custom Salesforce objects.
- You can set up multiple widget configurations. For example, you can have one configuration for the Opportunity Page, another for the Account Page, and yet another for the Opportunity widget on an Experience Cloud site.
- This test drive used only one mandatory column, but you can require as many columns as needed to capture relevant information before file uploads.
- You can even selectively permit users to update column values.
- While we showcased only "Choice" and "Date" column types, you can configure a wide range of column types such as Text, Checkbox, and more, depending on your requirements.
To know more about the different configuration options possible, please refer to the Internal Record Widget Guide.
There are other test drives available that might be of interest to you as well. Head back to the Test Drive article to continue testing.
---
# Copy Email Attachments to Case Folders Test Drive
https://help.cloudfiles.io/salesforce/copy-email-attachments-to-case-folders-test-drive
# Copy Email Attachments to Case Folders Test Drive
A test drive demonstrating how CloudFiles copies Case email attachments to external storage like SharePoint using a Salesforce flow.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we'll see how CloudFiles copies Case email attachments to external storage like SharePoint using a simple Salesforce flow along with some CloudFiles elements.
Watch the video below for a quick overview of what you can expect in this test drive.
[Watch video](https://youtu.be/kYZzqOSK5cQ)
Follow the instructions in the next section to test. The subsequent sections explain the setup for this test drive as well as what else is possible as an extension of this test drive.
## Instructions
To test out this feature, follow the simple instructions below :
- To create a case, send an Email to support@1teyd0ucjs0vxujym2hjrpcstatzrhvl43ohv3bubtgzca5gh9.ao-1tbgxea0.usa848.case.salesforce.com with any subject.
- Attach a few files to this email. These can be any type or size of files.
- Go to 'Cases' tab and open the created case. It may take upto a minute for the case to get created.
- Within the 'Files' tab, find all email attachments copied into the Case Folder which is located in SharePoint.
> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see anything in the Files Tab, try refreshing the CloudFiles widget a couple times.
The GIF below gives a visual representation of these steps

## Implementation
The following video shows the flow that made this possible.
[Watch video](https://www.youtube.com/embed/WK3n2--mA1M)
For a more detailed step by step instruction guide, you can refer to our tutorial -Copy Email Attachments to Case Folders in external storage if Email-to-Case is activated
## Beyond this Test Drive
In this test drive, we've seen how CloudFiles copies Case email attachments to the Case folder. However, there are many variations of this possible such that it can fit your custom use-case. Consider these possibilities among many:
- Selectively copy attachments. For instance, you could copy only '.jpg' attachments.
- The test drive supports any type or size of file.
- Organise copied attachments into folders by type or name pattern. For example, place attachments with 'screenshot' in their name into a separate subfolder.
- Once copied, you can delete the original file from Salesforce if needed.
- You can transfer attachments between different objects. For example, you can move all email attachments to the customer's account folder who sent the email.
- You can even delete the copied files from Salesforce storage so as to keep your file storage cost low.
You may find other test drives equally engaging. Do visit the Test Drive article to explore other test drives.
---
# Custom Object Creation on File Upload Test Drive
https://help.cloudfiles.io/salesforce/custom-object-creation-on-file-upload-test-drive
# Custom Object Creation on File Upload Test Drive
A test drive walkthrough showing how CloudFiles automatically creates custom object records (Work Order Documents) in Salesforce when files are uploaded into record-linked SharePoint folders.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we will check how CloudFiles can create custom object records when files are uploaded into record linked folders in external storage. These custom objects are useful for searching files in global search or for storing file metadata in salesforce for reporting purposes.
Watch the video below for a quick overview of what you can expect in this test drive.
[Watch video](https://youtu.be/FADF5gEvPFs)
Follow the instructions in the next section to test. The subsequent sections explain the setup for this test drive as well as what else is possible as an extension of this test drive.
## Instructions
To test out this feature, follow the simple instructions below :
- Go to 'Work Orders' tab and create a new Work Order. This should create a SharePoint folder visible in the 'Files' tab of the record.
- Upload a few files into the Work Order Folder from the widget. These files can be of any type or size.
- Refresh the page. In the 'Work Order Documents' related list, you will find newly created records for each file uploaded into the Work Order Folder.
- The Names and SharePoint URLs of the uploaded files are populated into the relevant fields of the corresponding Work Order Document records.
- You can try searching for the file name in the global search and would come across the correct result.
> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see anything in the Files Tab, try refreshing the CloudFiles widget a couple times.
The GIF below gives a visual representation of these steps

## Implementation
The following video shows the flow that made this possible.
[Watch video](https://www.youtube.com/embed/1sTDYn9N2u8)
## Beyond this Test Drive
In this test drive, we've seen how CloudFiles can create custom object records when files are uploaded into Work Order folders in SharePoint. However, there are many variations of this possible such that it can fit your custom use-case. Check the pointers below:
- The same can be configured with any other external storage including Google Drive, Amazon AWS S3, OneDrive, Azure, Dropbox etc.
- Here we have configured custom object record creation with file uploads into Work Order folders. However, you can extend this to uploads into folders connected to any Object.
- You can populate the custom object's fields with other properties as well such as the resource's path in external storage, file size, etc.
- The same functionality can also be extended to file uploads on Experience Cloud Sites too.
- The created custom objects can be used in global search to search for a file using it's name or metadata.
- These custom objects can also be used for reporting purposes.
You may find other test drives equally engaging. Do visit the Test Drive article to explore other test drives.
---
# External File Sharing & Collection via CloudFiles Datarooms
https://help.cloudfiles.io/salesforce/external-file-sharing-and-collection-via-cloudfiles-datarooms
# External File Sharing & Collection via CloudFiles Datarooms
Explore how CloudFiles can automatically create externally shareable links for sharing files and collecting uploads using Datarooms.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we will explore how CloudFiles can automatically create externally shareable links for sharing files and collecting uploads using Datarooms. This enables you to:
- Share multiple folders and files from external storage
- Receive uploaded files from users who don’t have access to your Salesforce org or connected storage
This entire setup is powered by Salesforce Flows and CloudFiles Flow Actions — and the process takes less than a minute to complete.
Refer to the below video to understand what to expect in this test drive -
[Watch video](https://youtu.be/st3pDcI-7NU)
## Instructions
To test out this feature, follow the simple instructions below :
- Go to 'Leads' tab and create a new Lead.
- This creates a SharePoint folder, with a specific folder structure visible in the 'Files' tab.

- A cloudfiles link shall also be updated into the 'Dataroom Link' Field on the Lead.

The Dataroom Link field on the Lead record will be auto-populated with a CloudFiles URL.
This link is externally shareable and enables two key things:
- Viewing resources in selected folders (e.g., “Shared Files” and “Documentation”)
- Uploading files directly into “Documentation” via a file request section

> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see anything in the Files Tab, try refreshing the CloudFiles widget a couple times.
## Implementation
Here’s how this is set up behind the scenes:
- A Record-Triggered Flow launches when a Lead is created.
- It performs the following actions:
- Create Lead Folder in SharePoint and attaches it the record.
- Create Subfolders including 'Documentation' & 'Shared Files'
- Create a CloudFiles Dataroom for the Lead
- Add folders 'Documentation' & 'Shared Files' to Dataroom as shared resources
- Create a File Request pointing to the Documentation subfolder
- Generate a CloudFiles Link for the Dataroom and update it on the Lead
These are powered by CloudFiles Flow Actions Create Dataroom , Add to Dataroom and Create Link .

## Beyond this Test Drive
This demo addresses a common use-case: enabling resource sharing and file collection via Datarooms for Leads. However, you can tailor this setup for your business needs:
- Works with Google Drive, OneDrive, Dropbox, AWS S3, Azure, and more — not just SharePoint
- Add any number of files/folders as resources and configure multiple File Request sections
- Whitelabel Datarooms to match your brand (logo, theme, subdomain)
- Add security controls to shared links: email validation, expiration dates, passwords
- If you don't need a full Dataroom, you can share individual files or folders via CloudFiles links
There are other test drives available that might be of interest to you as well. Head back to the Test Drive article to continue testing
---
# Move External Storage Files to SFDC Files Test Drive
https://help.cloudfiles.io/salesforce/move-external-storage-files-to-sfdc-files-test-drive
# Move External Storage Files to SFDC Files Test Drive
Explore how CloudFiles Document Management & Sharing, integrated with Salesforce Flows, can seamlessly copy files stored in external storage back into Salesforce as native Salesforce Files.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, you will explore how CloudFiles Document Management & Sharing, integrated with Salesforce Flows, can seamlessly copy files stored in external storage (e.g., SharePoint, Google Drive, OneDrive) back into Salesforce as native Salesforce Files.
This setup enables:
- Uploading files into a connected external storage folder directly from Salesforce records.
- Copying selected files back into Salesforce as Content Documents.
- Automatically attaching these files to the originating Salesforce record.
All of this is powered by CloudFiles Document Management and Salesforce Flows. The test drive takes under a minute to complete.
## Instructions
To test out this feature, follow the simple instructions below:
- Navigate to the 'Opportunities' tab and create a new Opportunity. This action will automatically create a corresponding SharePoint folder, which can be viewed in the 'Files' tab.
- Click the "Upload Files" button or drag and drop files into the folder to begin uploading.
- In the 'Upload Files' pop-up window, select a value for the "Document Type" column for each file being uploaded, then click "Next." Notice that the "Next" button will not activate until a column value is selected for each file.
- Once the files are uploaded, click "Done."
- The Files are directly uploaded into SharePoint and can be viewed in the widget.
- To copy these files back into Salesforce, select the files from the widget and, from the list view actions, click Copy into Salesforce.

- Wait a few seconds for the automation to complete. Refresh the page.
- You will now find the external files created as Salesforce Files and attached to the record’s Files related list.

## Implementation
This solution uses Salesforce Flows that invoke CloudFiles Flow Actions.
CloudFiles Document Management handles:
- Passing the selected files’ Resource IDs to the flow.
- The flow then executes the Create Salesforce Files (Batch) action, which creates Salesforce Files from external storage files.
- Once the Content Versions are created, a Content Version Created Batch event shall be published, from event details, Content Document Links are created to attach the files to the record.

Additionally, this setup leverages the ability to add custom buttons to the file dropdown or list view in the CloudFiles component. These buttons can be configured to launch either screen flows or auto-launched flows, providing seamless integration and user-triggered automation directly from the file interface.

## Beyond This Test Drive
The Create Salesforce Files (Batch) action is not just about the ability — it unlocks powerful scenarios where external storage files need to interact seamlessly with Salesforce-native processes and users. Here are a few key use cases where this capability shines:
### Enable Access for Salesforce-Only Users
Copy selected external storage files into Salesforce so they can be shared with users who don’t have access to CloudFiles or the external storage system.
Example: A sales rep without SharePoint access can still view proposal files once they are copied into Salesforce Files.
### Compatibility with Third-Party Integrations
Some Salesforce integrations only work with Salesforce Files (Content Documents). Copying ensures compatibility with these apps and workflows.
Example: An e-signature tool that only accepts Salesforce Files can work seamlessly after external contracts are copied in.
### Cross-Storage File Migration
Use Salesforce as a bridge to move files from one external storage to another.
Example: Copy a contract from SharePoint into Salesforce Files, then sync it to AWS S3 as part of an archival process.
### Leverage Native Email & File Features
Bring external files into Salesforce to use them with native Salesforce features like sending files as email attachments.
Example: A proposal stored in OneDrive can be copied in and directly emailed from Salesforce with a single click.
### Approval Processes with Files
Files copied into Salesforce can participate in native approval workflows, allowing document-driven processes to run smoothly.
Example: A contract uploaded to Google Drive is copied into Salesforce and routed through a multi-step approval process.
In essence, this feature extends CloudFiles’ Document Management by ensuring external content can fully participate in Salesforce’s ecosystem — from approvals, sharing, and emailing, to third-party integrations and cross-platform file workflows.
---
# Move Lead folder to Account folder on conversion (Test Drive)
https://help.cloudfiles.io/salesforce/Zr9W-move-lead-folder-to-account-folder-on-conversion
# Move Lead folder to Account folder on conversion
In this test drive, learn how CloudFiles can relocate folders linked to records in external storage when record updates occur, such as moving a Lead folder into its Account folder upon conversion.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we'll see how CloudFiles can relocate folders linked to records in external storage when record updates occur. For example, moving Lead folder into it's Account folder upon conversion.
Watch the video below for a quick overview of what you can expect in this test drive.
[Watch video](https://youtu.be/9njI5kIk8xY)
Follow the instructions in the next section to begin testing. Subsequent sections will detail the setup for this trial and additional possibilities for extending it.
## Instructions
To test out this feature, follow the simple instructions below :
- Go to 'Leads' tab and create a new Lead. This creates a SharePoint folder visible in the 'Files' tab.
- Click 'Convert' on the Lead record.
- In the 'Convert Lead' form, pick 'Create New' or 'Choose Existing' for Account.
- Leave the other defaults as they are and click 'Convert'.
- Open the converted Account and check the Account folder in the 'Files' tab.
You will find the Lead Folder moved into the Account folder.
> Flow execution, folder creation and folder relocation may take some time (a few seconds to a minute). If you don't see any changes in the Files Tab, try refreshing the CloudFiles widget a couple times.
The GIF below gives a visual representation of these steps

## Implementation
The following video shows the flows that made this possible.
[Watch video](https://youtu.be/vfBazXDWvrA)
For a more detailed step by step instruction guide, you can refer to our tutorial - Move Lead folder to Account folder on conversion
## Beyond this Test Drive
In this test drive, we've seen how CloudFiles can move Lead folders into their respective Account folders upon conversion. However, there are many variations of this possible such that it can fit your custom use-case. Check the pointers below:
- The same can be configured with any other external storage including Google Drive, Amazon AWS S3, OneDrive, Azure, Dropbox etc.
- Here we have configured relocation of Lead folder into the Account folder upon conversion. However, you can configure relocation into any sub-folder as well. E.g. your can configure the flow such that a Leads sub-folder is created for every account and the individual lead folder moves inside of it.
- You can extend this to any Object and their updates like field changes, record deletion etc. For example, relocation of record folders upon record deletion.
- You can also modify the properties of the relocated folder. For instance, the name of the Lead Folder, originally the person's name, can be changed to simply 'Lead' after it's moved into the respective account folder.
- Move functionality extends to files as well. Other basic functionality such as rename or delete is also available through flows.
You may find other test drives equally engaging. Do visit the Test Drive article to explore other test drives.
---
# Move SFDC Files to External Storage Test Drive
https://help.cloudfiles.io/salesforce/move-sfdc-files-to-external-storage-test-drive
# Move SFDC Files to External Storage Test Drive
In this test drive, check how CloudFiles can move documents stored in SFDC to an external storage such as SharePoint, copy them into custom folders, and optionally delete the originals from Salesforce.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we will check how CloudFiles can move documents stored in SFDC (e.g. in the Notes & Attachments section of a record) to an external storage such as SharePoint. We will see how you can copy these documents into any external folder based on your custom logic. Additionally we will also see how you can delete the original file from Salesforce if needed.
Watch the video below for a quick overview of what you can expect in this test drive.
[Watch video](https://youtu.be/BbdDAck9zvc)
## Instructions
To test out this feature, follow the simple instructions below :
- Go to 'Accounts' tab and create a new Account. This should create a SharePoint folder visible in the 'Files' tab of the record.
- Within the 'Notes & Attachments' section, upload some files. Try various formats including PDFs, Excels etc...
- Check the 'Files' tab again
- All PDFs would be copied to the 'Presentations' sub-folder
- All other formats would be copied to the root account folder
- All uploaded files would get deleted from Salesforce except for excel files
> Copying and Deleting of Salesforce Files may take some time (a few seconds to a minute). If you don't see a copy of uploaded files, try refreshing the CloudFiles widget a couple times.
The GIF below gives a visual representation of these steps.

## Implementation
The following video shows the flow that made this possible. If you'd like detailed steps on this implementation, check out our tutorial on this use-case at Automatically moving files from Salesforce storage to external storage.
[Watch video](https://youtu.be/gNKtypisQFo)
## Beyond this Test Drive
In this test drive, we've seen how CloudFiles helps copy or move your Salesforce Files and organize them in your external storage based on file types. However, there are many variations of this possible such that it can fit your custom use-case. Consider these possibilities among many:
- The same functionality can be extended to email-to-case. I.e. your email attachments can be moved to case folders which reside in SharePoint or any other external storage.
- Files of any size or type are supported by this. You can try uploading files larger than 12 MB as well.
- The functionality works for manual uploads as well as automatica uploads (e.g. from other apps such as Conga or Docusign).
- In this demonstration, we've illustrated file organization using few specific file types, but the capability extends to virtually any file type. You can even organise the files based on file properties like file name, creation date etc.
- You can also copy / move files across objects. E.g. files uploaded on a lead object can be copied to the account folder.
You may find other test drives equally engaging. Do visit the Test Drive article for further exploration.
---
# Nested Folders based on Object Relationships Test Drive
https://help.cloudfiles.io/salesforce/nested-folders-based-on-object-relationships-test-drive
# Nested Folders based on Object Relationships Test Drive
Explores how CloudFiles can create nested folder structures that mirror object relationships in Salesforce, such as opportunity folders nested inside account folders.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we explore how CloudFiles can create nested folder structures that mirror the object relationship in your Salesforce. For instance, the opportunity folders can be created inside the account folder.
Watch the video below for a quick overview of what you can expect in this test drive.
[Watch video](https://youtu.be/gHAjmo59cCs)
Follow the instructions in the next section to test. The subsequent sections explain the setup for this test drive as well as what else is possible as an extension of this test drive.
## Instructions
To test out this feature, follow the simple instructions below :
- Go to 'Accounts' tab and create a new account. You will see a folder in the 'Files' tab of the account record.
- Go to 'Opportunities' tab and create a new Opportunity. Choose the account as the one we created in the last step.
- Check out the automatically created Opportunity Folder in the 'Files' tab of the opportunity record.
- Head back to the account record. You will notice that the above folder got created inside the 'Opportunities' sub-folder of the account.
> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see anything in the Files Tab, try refreshing the CloudFiles widget a couple times.
The GIF below gives a visual representation of these steps.

## Implementation
The following video shows the flow that made this possible.
[Watch video](https://youtu.be/dhH48A43WSs)
## Beyond this Test Drive
In this test drive, we've explored how CloudFiles creates nested folders based on object relationships. However, there are many variations of this possible such that it can fit your custom use-case. Check the pointers below -
- We have shown a simple two-level hierarchy. However this can be as complex as you need it to be and can even include custom objects. E.g. you can implement a four-level hierarchy between Accounts, Opportunities, Contacts and Projects.
- Beside nested folders, you can also use other methods such as creating static sub-folders or using a template folder which is cloned. These are explained in other test drives.
- It's possible to move folders as well. So for example, a folder can be created for a lead, and then moved inside the account folder later on when the lead is converted.
You might also want to explore other test drives that could catch your interest. Visit the Test Drive article to explore more testing options.
---
# Template Folder Cloning Test Drive
https://help.cloudfiles.io/salesforce/template-folder-cloning-test-drive
# Template Folder Cloning Test Drive
Test drive demonstrating how CloudFiles can automatically create folders based on a template with specified subfolders/files using Salesforce flows.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we’ll demonstrate how CloudFiles can automatically create folders based on a template with the specified subfolders or files using Salesforce flows and show them right there on the record. The test drive would take less than a minute to complete.
Watch the video below for a quick overview of what you can expect in this test drive -
[Watch video](https://youtu.be/TtE6en3mynY)
Follow the instructions in the next section to test. The subsequent sections explain the setup for this test drive as well as what else is possible as an extension of this test drive.
## Instructions
To test out this feature, follow the simple instructions below :
- Go to 'Leads' tab and create a new Lead. This creates a SharePoint folder visible in the 'Files' tab.
- You will see a Folder that was automatically created in SharePoint with a structure that replicates the Template Folder.
The below image depicts the Template Lead Folder structure.

The GIF below gives a visual representation of these steps.

> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see anything in the Files Tab, try refreshing the CloudFiles widget a couple times.
## Implementation
The following video shows the flow that made this possible.
[Watch video](https://youtu.be/uOm6vjR6m2E?feature=shared)
> This implementation is possible only with SharePoint, Dropbox and Box.
## Beyond this Test Drive
We've demonstrated a specific use case of cloning a template folder structure on Salesforce Lead records. However, this approach can be adapted to suit various custom use cases. Consider the following points:
- While our demo focused on Leads, CloudFiles LWC and automations are compatible with all standard and custom objects.
- The template folder can include a sub-folder hierarchy of any depth. Although we demonstrated up to the 3rd level, it can be extended further.
- The folder structures are configured using Flows, allowing you to choose different templates. For instance, you can decide a template based on Record Type or any other field.
There are other test drives available that might be of interest to you as well. Head back to the Test Drive article to continue testing.
---
# Update SharePoint Folder Name Test Drive
https://help.cloudfiles.io/salesforce/update-sharepoint-folder-name-test-drive
# Update SharePoint Folder Name Test Drive
A quick test drive showing how CloudFiles automatically renames a record's SharePoint folder when the record's name (e.g. Account Name) is updated in Salesforce.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we'll explore how CloudFiles can automatically rename a record's folder when the record name is updated. For instance, if an Account Name is changed in Salesforce, the corresponding folder name in SharePoint will also be updated automatically. This test drive takes less than a minute to complete.
Watch the video below for a quick overview of what you can expect in this test drive.
[Watch video](https://youtu.be/NGA_pAy_MmQ)
Follow the instructions in the next section to begin the test. The sections that follow will explain the setup for this test drive and discuss additional possibilities beyond this scenario.
## Instructions
To test this feature, follow these simple steps:
- Navigate to the 'Accounts' tab and create a new account.
- In the 'Account Type' dropdown, select any value. Each selection generates a different folder structure.
- After creating the account, go to the 'Files' tab to view the corresponding Account folder that has been automatically created in SharePoint, named after the Account.
- Now, update the Account Name to something different.
- Refresh the widget or page, and you’ll see that the folder's name has also been automatically updated.
> Flow execution and property updates may take a few seconds to a minute. If you don't notice any changes in the Files Tab, try refreshing the CloudFiles widget or page a few times.
The GIF below gives a visual representation of these steps.

## Implementation
The following video shows the flow that made this possible.
[Watch video](https://youtu.be/YLc0BtYU4h8)
## Beyond this Test Drive
In this demo, we focused on renaming an Account folder when the Account name is updated. However, this can be adapted to fit many different custom use cases. Consider the following points -
- Although this demo used Account records and their corresponding folders, CloudFiles LWC and automations are compatible with all standard and custom objects.
- The same action can be applied to modify or set other metadata columns within the folder.
- You can also use this action to modify or set metadata column values for files within the folder.
- Set up workflows to automatically apply metadata tags or categorize files. For example, based on specific Account fields like industry type, customer tier, or region when uploading files to a folder.
There are other test drives available that might be of interest to you as well. Head back to the Test Drive article to continue testing.
---
# Document AI Test Drives
https://help.cloudfiles.io/salesforce/document-ai-test-drives
# Document AI Test Drives
This article covers the list of available test drives related to AI-based document processing use-cases.
> Kind: Test drive · Updated: Jul 4, 2026
This article covers the list of available test drives related to AI-based document processing use-cases:
- Business Document Fields & Line Items Extractor - In this test drive, you will explore how CloudFiles Document AI integrated with Salesforce Flows can automatically process business documents — such as Purchase Orders, Invoices, Quotes, or any other structured document — and intelligently extract key information.
- Document AI Playground Test Drive - Use our AI Playground to upload your documents and ask questions from them. Perfect your prompts to get proper, formatted answers.
- Document Mapper - In this test drive, you’ll see how CloudFiles’ Document Mapper automates processing of business documents like POs, invoices, and quotes using Salesforce List View Buttons. It detects document type, extracts key data, parses line items when available, and presents an AI-assisted preview for review. Once confirmed, the mapped records are saved directly into Salesforce, streamlining document-based data entry with a no-code, AI-powered experience.
- KYC Upload Checker using AI - Use CloudFiles AI with Salesforce flows to check the file uploads for driving license and passport and if found, extract specific information from these documents and update it in Salesforce fields.
- Smart SharePoint Column Updates Using Document AI - In this test drive, you'll see how CloudFiles Document Management integrates with Document AI to intelligently process external files uploaded via the CloudFiles widget into SharePoint — and automatically update their corresponding SharePoint Columns.
- Split External Files using AI - In this test drive, you will explore how CloudFiles Document AI and Document Management, integrated with Salesforce Flows, can automatically process merged or misorganized PDF documents stored in external storage and intelligently split them into individual files using provided instructions.
- Split Salesforce Files using AI - In this test drive, you will explore how CloudFiles Document AI, integrated with Salesforce Flows, can automatically process merged or misorganized PDF documents and intelligently split them into individual files using provided instructions.
---
# Business Document Fields & Line Items Extractor
https://help.cloudfiles.io/salesforce/business-document-fields-and-line-items-extractor
# Business Document Fields & Line Items Extractor
Explore how CloudFiles Document AI integrated with Salesforce Flows can automatically process business documents and intelligently extract key information.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, you will explore how CloudFiles Document AI integrated with Salesforce Flows can automatically process business documents — such as Purchase Orders, Invoices, Quotes, or any other structured document — and intelligently extract key information.
Refer to the below video to understand what to expect in this test drive -
[Watch video](https://youtu.be/1kvVAvq9bbw)
The setup will:
- Automatically identify the type of document (PO, Invoice, Quote, etc.)
- Extract important fields like Document Number, Document Date, Total Amount, Company Name, and a Document Description
- If the document contains Line Items, it will parse and create child Line Item records linked to the parent Business Document record
The entire flow is automated using CloudFiles Document AI and Salesforce automation. This test drive takes less than a minute to complete.
## Instructions
Follow the steps below to test the setup:
- Go to the Business Documents tab and create a new record. No additional input is required — just save it.
- Upload a document (Purchase Order, Invoice, Quote, or other) into the Files related list in any format (PDF, DOCX, or image).
- Wait a few seconds for automation to trigger. Refresh the page to see the updates.
- Check AI Output
- CloudFiles AI will classify the document and update the Document Type field to one of: Purchase Order, Invoice, Quote, or Other.
- Other fields such as Document Number, Document Date, Total Amount, Company and Document Decsription will also be auto-populated on the Business Document record.
- If the document includes line items (e.g., from a PO or Invoice), you will see related Line Item records created showing Item Name, Quantity, Unit Price, and Line Amount.

> Optional: Process External FilesIf you want to see how CloudFiles Document Management & Sharing works alongside Document AI to process external files, like sharepoint files, upload the documents via the CloudFiles widget in External Files tab of the record. (If don't see a folder connected in the widget, simply refresh the widget or the page)
## Implementation
This demo is powered by Salesforce Flows with the following: Salesforce File Attached, Process Document using AI and Query Document/Dataset. CloudFiles Document AI handles classification, summarization, and extraction, while a Platform Event triggers updates once processing is complete.

> For more information, please refer to Document AI Tutorials, Batching AI Queries and Line Item Extraction.
## Beyond This Test Drive
This demo showcases a single workflow, but the capabilities of CloudFiles Document AI extend far beyond simple classification and extraction. By combining AI-powered document understanding with Salesforce automation, you can build scalable, intelligent workflows across departments.
Here are a few advanced applications:
### Contract Intelligence & Summarization
Summarize contracts and extract key obligations, renewal dates, or termination clauses.
Example: When a new vendor contract is uploaded, Salesforce fields are auto-updated with renewal reminders and risk tags, and routed for approval.
### Complex Table & Form Parsing
Handle semi-structured forms such as insurance claims, compliance reports, or regulatory filings.
Example: Multi-page compliance reports are parsed, and each section is stored as structured data linked to the appropriate Salesforce object.
### Document Type Routing & Workflow Triggers
Use document type and extracted fields to direct files into the correct process.
Example: Invoices are routed to Finance, contracts to Legal, and POs to Procurement — all automatically, based on classification and metadata.
### Validate Document Calculations
Go beyond extraction by checking math and consistency inside uploaded documents.
Example: AI verifies that Invoice Total = Σ(Line Item Amounts + Taxes). If there’s a mismatch, Salesforce can automatically flag the document for review.
### Cross-Check Against Salesforce Data
Compare extracted fields with existing Salesforce records to detect discrepancies.
Example: A vendor’s submitted PO is validated against the Opportunity or Quote in Salesforce — if item prices, totals, or dates don’t align, a discrepancy alert is generated.
### File-to-File Line Item Matching
Identify mismatches between related documents uploaded at different times.
Example: Compare a customer Quote and their later submitted Purchase Order. If quantities or unit prices differ, Salesforce can notify the sales team before fulfilment.
### Fraud & Error Detection
Detect duplicate or inconsistent records across files.
Example: AI flags when the same invoice number appears twice from the same vendor, preventing double payment.
### End-to-End Order Reconciliation
Automate reconciliation between Quotes, POs, Invoices, and Delivery Notes.
Example: Salesforce Flows compare extracted line items across all related documents, ensuring that what was promised in the Quote matches what was ordered, invoiced, and shipped.
For more advanced configurations, tutorials and ideas, visit Document AI Tutorials.
Let CloudFiles Document AI + Salesforce work together to make your document processing workflows intelligent, fast and scalable.
---
# Document AI Playground Test Drive
https://help.cloudfiles.io/salesforce/document-ai-playground-test-drive
# Document AI Playground Test Drive
In this test drive, we will use the AI Playground offered by the CloudFiles Test Drive to see how engineered prompts can give ready to use results and automate data entry for Salesforce.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we will use the AI Playground offered by the CloudFiles Test Drive to see how engineered prompts can give ready to use results and automate data entry for Salesforce. The test drive would take less than a minute to complete.
In order to access this test drive, head over to our Salesforce AppExchange listing & click on the 'Try It' button. Enter your information to open the test drive org. Once the test-drive is open, navigate to this article within the Instructions tab of the Test Drive.
## Instructions
To test out this feature, follow the simple instructions below.
- Go to 'Document AI' tab.
- Click on the 'AI Playground' option in the sidebar. This opens the AI playground.
- Upload a document here. Make sure you delete your documents after you are done.
- Ask a question using the chat panel on the side. E.g. "What is this document about? Give a 10 word summary."
- Format and pin point the answer through better prompts. E.g. "What is the total amount due. Give answer as a number."
Refer to the image below for visual understanding of the above steps -

## Beyond this Test Drive
This test drive only demonstrates the power of Document AI. However the real value is derived by combining AI with automations. E.g. here are some possibilities -
- Extract driving license number of invoice sender address as soon as the file is uploaded in the notes & attachments section.
- Extract comma separated lists and populate checklists fields. E.g. known conditions from the medical checklist.
- Create summary of letters or extract clauses from contracts to fill up Salesforce text fields that are easy to reference.
Check out our Test Drive on automatic data entry using AI-based OCR to experience the true power of AI automations.
---
# Document Mapper (Test Drive)
https://help.cloudfiles.io/salesforce/_XWd-document-mapper
# Document Mapper
Explore how CloudFiles's Document Mapper feature integrated with Salesforce List View Buttons can automatically process business documents and intelligently extract key information and create relevant records.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, you will explore how CloudFiles's Document Mapper feature integrated with Salesforce List View Buttons can automatically process business documents — such as Purchase Orders, Invoices, Quotes, or any other structured document — and intelligently extract key information and create relevant records.
The setup will:
- Automatically identify the type of document (PO, Invoice, Quote, etc.)
- Extract important fields like Document Number, Document Date, Total Amount, Company Name, and Document Description
- If the document contains Line Items, it will parse them and map child Line Item records linked to the parent Business Document record
- Present an AI-assisted preview screen where users can review and edit extracted fields before saving
- Save the mapped data into Salesforce once confirmed by the user
This entire experience is powered by CloudFiles Document Mapper — a no-code, AI-driven engine for Salesforce that brings automation, flexibility, and accuracy to document-based data entry.
## Instructions
Follow the steps below to test the setup:
- Go to the Business Documents tab and click on New with Document Mapper. This opens the Document Mapper interface.

- Upload a document (Purchase Order, Invoice, Quote, or other) in any format (PDF, DOCX, or image).
- Wait a few seconds while CloudFiles AI processes the document and maps the Salesforce Fields.
- Check AI Output in the preview window
- CloudFiles AI will classify the document and update the Document Type field to one of: Purchase Order, Invoice, Quote, or Other.
- Other fields such as Document Number, Document Date, Total Amount, Company and Document Decsription will also be mapped.
- If the document includes line items (e.g., from a PO or Invoice), check the Related Tab to view Line Item records with Item Name, Quantity, Unit Price, and Line Amount mappings.
- Make any additional edits manually (if needed) and click Save Records.
A Business Document record will be created — along with related Line Item records if applicable.

## Implementation
This demo is powered by CloudFiles Document Mapper a configuration-driven, no‑code setup to extract data from uploaded documents and map it to Salesforce.
- AI extracts fields and records based on your Document Mapper configuration
- A preview screen lets users review and edit extracted values
- On save, Salesforce records (parent and related) are created or updated instantly
Simple. Configurable. AI-powered data entry for Salesforce.
> For more information, please refer to Document Mapper.
## Beyond This Test Drive
This demo showcases a straightforward use case — but CloudFiles' Document Mapper can be used across complex business workflows and departments.
Here are a few advanced applications:
### Contract Intelligence & Summarization
Summarize contracts and extract key obligations, renewal dates, or termination clauses.
Example: When a new vendor contract is uploaded, Salesforce fields are auto-updated with renewal reminders and risk tags, and routed for approval.
### Complex Table & Form Parsing
Handle semi-structured forms such as insurance claims, compliance reports, or regulatory filings.
Example: Multi-page compliance reports are parsed, and each section is stored as structured data linked to the appropriate Salesforce object.
### Document Type Routing & Workflow Triggers
Use document type and extracted fields to direct files into the correct process.
Example: Invoices are routed to Finance, contracts to Legal, and POs to Procurement — all automatically, based on classification and metadata.
### Validate Document Calculations
Go beyond extraction by checking math and consistency inside uploaded documents.
Example: AI verifies that Invoice Total = Σ(Line Item Amounts + Taxes). If there’s a mismatch, Salesforce can automatically flag the document fields for review.
### Cross-Check Against Salesforce Data
Compare extracted fields with existing Salesforce records to detect discrepancies.
Example: A vendor’s submitted PO is validated against the Opportunity or Quote in Salesforce — if item prices, totals, or dates don’t align, a discrepancy alert is generated.
For more advanced configurations, tutorials, and ideas, visit the Document AI Tutorials.
Let CloudFiles Document AI + Salesforce work together to make your document processing workflows intelligent, fast, and scalable.
---
# KYC Upload Checker using AI
https://help.cloudfiles.io/salesforce/kyc-upload-checker-using-ai
# KYC Upload Checker using AI
Use CloudFiles AI with Salesforce flows to automatically detect KYC document uploads (Driving Licenses and Passports), extract key information, and populate related Salesforce fields within seconds.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, we will use CloudFiles AI in conjunction with Salesforce flows to create a KYC upload checker. The system will automatically detect uploads of Driving Licenses and Passports, extract important information, and populate related Salesforce fields — all within seconds.
In order to access this test drive, head over to our Salesforce AppExchange listing & click on the 'Try It' button. Enter your information to open the test drive org. Once the test-drive is open, navigate to this article within the Instructions tab of the Test Drive.
## Instructions
To test out this feature, follow the simple instructions below.
- Go to the 'KYC Uploads' tab and create a new record. (No additional input is required — just save the record.)
- Upload KYC Documents (Driving Licenses or Passports) into the native 'Files' section of the record.
- Check the AI Results
- The respective KYC Documents child records will be created.
- Key information like DL/Passport Number, Holder's Name, Expiry and Issue Date will be auto populated in the respective fields.
- The Status will be updated as 'EXPIRED' or 'VALID' based on the document's extracted Expiry Date.
- The respective Document can also be found in the Files section of the KYC Documents child record
Refer to the image below for visual understanding of the above steps -

> **Optional: Process External Files** — Optional: Process External FilesIf you want to see how CloudFiles Document Management & Sharing works alongside Document AI to process external files, like sharepoint files:Upload KYC Documents (Driving License or Passport) via the CloudFiles widget in External Files tab of the record. (If you don't see a folder connected in the widget, simply refresh the widget or the page)Check the AI Results The respective KYC Documents child records will be created.Key information like DL/Passport Number, Holder's Name, Expiry and Issue Date will be auto populated in the respective fields and also into the metadata columns of the External File.The Status will be updated as 'EXPIRED' or 'VALID' based on the document's extracted Expiry Date.The respective Document can also be found in the External Files section of the KYC Documents child record.
## Implementation
This demo is powered by Salesforce Flows with the following: Salesforce File Attached, Process Document using AI and Query Document/Dataset. CloudFiles Document AI handles classification, summarization and extraction, while a Platform Event triggers updates once processing is complete.

> For more information, please refer to Document AI Tutorials.
## Beyond this Test Drive
This KYC upload checker is just one example of how CloudFiles AI + Salesforce Flows can transform document handling. The same framework — upload → extract → validate → update — can be applied across industries to create powerful, automated document-driven workflows.
Here are some possibilities -
- Mass Property Extraction Pull large amounts of information from complex forms such as medical intake forms or patient onboarding documents.
- Mass Line Item Extraction from Tables Process invoices, purchase orders, or financial statements to extract hundreds of line items automatically.
- Text Detection from Scanned Documents Digitize archives by detecting text in scanned PDFs or image-based files (OCR).
- Text Detection in Images Extract information from photographs like business cards, certificates, ID cards, etc.
- Text Detection in Handwritten Documents Process handwritten forms, notes, or historical records using handwriting recognition.
Here are some real-world applications across Industries:
### Banking & Financial Services – Automated KYC & Compliance
Use AI to validate regulatory documents like Passports, IDs, and Proof of Address, and ensure compliance by auto-scheduling renewal reminders.
Example: A wealth management firm automatically flags expired IDs and emails reminders to clients before account freeze deadlines.
### Healthcare – Patient Record Intake
Process medical forms, insurance cards, or prescriptions uploaded by patients to auto-populate EHR fields.
Example: A hospital extracts policy numbers and coverage details from uploaded insurance cards to speed up billing clearance.
### Education – Student Enrolment Validation
Extract details from admission forms, transcripts, or IDs uploaded by applicants to update Salesforce Education Cloud.
Example: A university validates DOB and ID numbers from scanned student IDs and automatically updates enrolment records.
### Human Resources – Employee Onboarding
Validate uploaded tax forms, resumes, and certifications, and ensure documents meet compliance requirements.
Example: An HR team cross-checks professional certifications uploaded by new hires against expiration dates, triggering reminders for renewal.
### Legal & Compliance – Contract Clause Extraction
Split and validate legal documents like NDAs or agreements, extracting clause-level data for Salesforce Legal Objects.
Example: A law firm auto-extracts client signature dates and contract expiry terms from uploaded agreements, ensuring timely renewals.
### Retail & Manufacturing – Vendor Document Verification
Process supplier contracts, compliance certificates, or purchase orders and verify them against Salesforce procurement data.
Example: A retailer compares line items from a vendor's PO with a previously signed quote, instantly flagging mismatches.
With CloudFiles Document AI, every uploaded file becomes more than just an attachment — it becomes actionable data. Whether it's banking compliance, hospital onboarding, HR automation, student enrollment, or vendor management, the ability to extract, validate, and cross-check documents makes Salesforce workflows far more intelligent and reliable.
---
# Smart SharePoint Column Updates Using Document AI
https://help.cloudfiles.io/salesforce/smart-sharepoint-column-updates-using-document-ai
# Smart SharePoint Column Updates Using Document AI
CloudFiles Document Management & Sharing integrates with Document AI to automatically classify uploaded external files (like Driving Licenses or Passports) and update their corresponding SharePoint Columns with extracted metadata.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, you'll see how CloudFiles Document Management & Sharing integrates with Document AI to intelligently process external files uploaded via the CloudFiles widget into SharePoint — and automatically update their corresponding SharePoint Columns.
The system detects uploads (e.g., Driving Licenses or Passports), classifies the document type using AI, extracts key details like holder name, ID number, and expiry date, and populates the associated SharePoint metadata columns — all within seconds.
In order to access this test drive, head over to our Salesforce AppExchange listing & click on the 'Try It' button. Enter your information to open the test drive org. Once the test-drive is open, navigate to this article within the Instructions tab of the Test Drive.
## Instructions
To experience this automation in action:
- Go to the 'KYC Uploads' tab and create a new record. No additional input is required — just save the record.
- Go to the ‘External Files’ tab on the record and Upload KYC Documents (Driving License or Passport) via the CloudFiles widget. This will upload the file directly into the connected SharePoint folder.
- Observe AI-Powered Updates
- Once uploaded, the documents will be processed using CloudFiles Document AI.
- The AI system will classify the file type and update KYC Type column
- Extract fields like Holder’s Name, Document Number and Expiry Date and Auto-update SharePoint columns: KYC Type, KYC Number, KYC Holder, KYC Expiry
Refer to the image below for visual understanding of the above steps -

## Implementation
This demo is powered by Salesforce Flows + Events + Flow Actions. Here's how it works behind the scenes:
- File Upload into SharePoint via the CloudFiles widget triggers a File Uploaded event.
- This event initiates the Process Document using AI flow action.
- Once processing is complete, a Document Processed event is published.
- The flow then uses Query Document/Dataset to extract specific data from the file.
- Finally, using Set Resource Property, the extracted values are written into the corresponding SharePoint columns.
CloudFiles handles both the AI-based document's data extraction and the document management layer, including file uploads to external storage and metadata updates.
The below image shows snippets of the flows implemented for this test drive:

> For more information, please refer to Document AI Tutorials.
## Beyond this Test Drive
This test drive highlights how CloudFiles AI can automatically update SharePoint columns with structured metadata extracted from uploaded files. But the true potential comes when these column updates are treated as live business data that drive visibility, compliance, and automation — directly from SharePoint.
Here are some practical applications across industries:
### Banking & Financial Services – KYC & Compliance
Columns like KYC Type, Document Number, and Expiry Date are auto-updated. Compliance teams simply filter the “Expiry Date” column to track expiring IDs and schedule reminders.
Example: A wealth management firm runs a weekly SharePoint view showing all client IDs expiring in the next 30 days — reducing regulatory breaches.
### Healthcare – Patient & Insurance Processing
Insurance card uploads populate columns such as Policy Number and Coverage Expiry. Staff sort by “Coverage Expiry” to ensure policies remain valid before patient billing.
Example: A hospital avoids claim denials by flagging expired policies directly from SharePoint without manually opening files.
### Education – Enrollment Document Validation
Uploaded student forms auto-fill DOB, Student Name, and Enrollment Number. Admissions staff use columns to quickly check completeness.
Example: A university sorts by “Enrollment Number” to identify which student applications are missing required proof of ID.
### Human Resources – Employee Certifications
Training or certification documents auto-update Certification Expiry and Employee ID columns. HR uses these fields for proactive compliance.
Example: A company monitors “Certification Expiry” to trigger retraining notifications 90 days before licenses lapse.
### Legal & Contract Management – Renewal Tracking
Contracts update columns like Client Name, Signed Date, and Renewal Date. Legal teams rely on these columns for renewal pipelines.
Example: A law firm builds a SharePoint view filtered by “Renewal Date” to ensure contracts are renegotiated before expiration.
### Procurement & Retail – Vendor Document Verification
Invoices and POs populate Vendor Name, PO Reference, and Invoice Amount. Teams can validate consistency directly from columns.
Example: A retailer cross-checks “Invoice Amount” against approved PO values to instantly flag mismatches.
### Column Updates as Triggers
Beyond visibility, column updates themselves can act as triggers for downstream AI actions:
- Expiry Date → Renewal Flows: Updating the “Expiry Date” column automatically triggers renewal workflows or customer reminders.
- Invoice Amount → Discrepancy Checks: A populated “Invoice Amount” column kicks off a validation flow against Salesforce order records.
- Contract Renewal Date → Task Creation: “Renewal Date” column updates auto-generate follow-up tasks for account managers.
With CloudFiles Document AI + SharePoint integration, every uploaded file becomes more than static storage. It becomes structured, actionable data — driving compliance, automation, and intelligent workflows across Salesforce and SharePoint.
---
# Split External Files using AI
https://help.cloudfiles.io/salesforce/split-external-files-using-ai
# Split External Files using AI
Explore how CloudFiles Document AI and Document Management, integrated with Salesforce Flows, can automatically split merged or misorganized PDF documents stored in external storage into individual files.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, you will explore how CloudFiles Document AI and Document Management, integrated with Salesforce Flows, can automatically process merged or misorganized PDF documents stored in external storage and intelligently split them into individual files using provided instructions.
The setup enables:
- Splitting a PDF from external storage (e.g., SharePoint, Google Drive) whether merged or multi-part, based on default or custom instructions
- Auto-naming the resulting files based on their contents
- Creating child Result Document records linked to each individual split file
All of this is fully automated using Document AI and Document Management & Sharing and Salesforce Flows. The test drive takes under a minute to complete.
## Instructions
Follow the steps below to test the setup:
- Go to the Split or Merge Documents tab and create a new record. No additional input is required — just save it.
- Navigate to the External Files tab on the record and upload the merged document using the CloudFiles widget. This will directly upload the file into the connected SharePoint folder.

- Against the uploaded file, in the dropdown menu, click 'Split with AI'. This will launch a screen flow.

- In the flow screen, optionally provide any special instructions for splitting. Example: "Split this file into individual sections based on headers or logical parts."

- Click Finish to confirm the split.

- Wait a few seconds for the automation to complete. Refresh the page to view updates.
7 - Review AI Output:
- The document will be split into multiple child files using AI.
- A corresponding Result Document record will be created for each split file.

- You'll find the split files organised into a new folder titled "Split - {Original File Name}" in external storage.

- Each file is automatically named based on its content and linked in the External Files tab of the record.

## Implementation
This solution is powered by Salesforce Flows that invoke the Split Document using AI flow action.
CloudFiles Document AI handles:
- Detecting content-based split boundaries of the selected external file based on Instructions.
- Splitting the External file accordingly into multiple parts.
- Naming each file intelligently based on content
- Uploading the resulting files into a new folder within the external storage
- Creating Result Document child records for each output file

Additionally, this setup leverages the ability to add custom buttons to the file dropdown or list view in the CloudFiles component. These buttons can be configured to launch either screen flows or auto-launched flows, providing seamless integration and user-triggered automation directly from the file interface.

> For more details, refer to Splitting multiple combined POs into child objects
## Beyond This Test Drive
This test drive shows a basic example—but the Split Document using AI action can be leveraged in various advanced Salesforce automations:
### Screen Flows for Business Users
Let agents or partners upload documents directly into connected external storages and supply optional split instructions on-screen.
Example: A partner uploads a contract bundle into a external folder through cloudfiles widget. AI splits it by section and names each split contract with the client name.
### Record-Triggered Automations
Trigger splitting automatically when an external file is uploaded or when a record meets certain criteria.
Example: A case record receives a complaint file with multiple documents. It is auto-split and stored under the appropriate child records.
### Email-to-Record Processing
Combine with email ingestion to split documents attached in emails automatically.
Example: A vendor emails a combined invoice PDF. Upon ingestion, it is split into separate invoices and linked to the appropriate PO records.
### Community or Partner Portal Uploads
Allow external users to upload large files that are split and processed behind the scenes.
Example: A vendor portal allows bulk upload of certificates. Each is split and stored under relevant compliance records.
### File Sync from External Storage
Trigger splits when files are synced from Google Drive, SharePoint, or Dropbox.
Example: A monthly batch of compliance forms synced from SharePoint is automatically split and linked to employee records.
### AI Metadata Extraction After Split
Post-splitting, chain another Document AI action to extract metadata from each child file.
Example: Split resumes received as a bulk file, then extract candidate name and role applied for from each and map them into Lead records.
Let CloudFiles Document AI + Document Management & Sharing + Salesforce work together to make your document processing workflows intelligent, scalable, and fully automated.
---
# Split Salesforce Files using AI
https://help.cloudfiles.io/salesforce/split-salesforce-files-using-ai
# Split Salesforce Files using AI
Explore how CloudFiles Document AI, integrated with Salesforce Flows, can automatically process merged or misorganized PDF documents and intelligently split them into individual files using provided instructions.
> Kind: Test drive · Updated: Jul 4, 2026
## Introduction
In this test drive, you will explore how CloudFiles Document AI, integrated with Salesforce Flows, can automatically process merged or misorganized PDF documents and intelligently split them into individual files using provided instructions.
The setup enables:
- Splitting a PDF (whether merged or multi-part) based on custom or default instructions.
- Auto-naming the resulting files based on their contents.
- Creating child Result Document records linked to each individual split file.
All of this is fully automated using CloudFiles Document AI and Salesforce Flow. The test drive takes under a minute to complete.
## Instructions
Follow the steps below to test the setup:
- Go to the Split or Merge Documents tab and create a new record. No additional input is required — just save it.
- Click 'Split File using AI' button on the record, this launches a screen flow.

- In the screen flow, upload the PDF file you want to split.
- If desired, input any specific instructions to guide the AI (e.g., "Split by individual Invoices" or "Separate each contract section").
- Wait a few seconds for automation to trigger. Refresh the page to see the updates.
- Review the AI Output:
- Cloudfiles AI will split the uploaded document into multiple child files and respective "Result Documents" records are created.

- Each child file is intelligently named based on its contents and the resultant child file can be found attached to the record.

## Implementation
This demo is powered by Salesforce Flows with the Split Document using AI flow action. CloudFiles Document AI handles splitting and auto-naming of files based on content.
CloudFiles Document AI:
- Processes the uploaded PDF.
- Detects content-based boundaries.
- Splits the file accordingly.
- Auto-generates meaningful filenames.
The flow automatically creates child Result Document records, each holding a split file.
> For more details, refer to Splitting multiple combined POs into child objects
## Beyond This Test Drive
This test drive shows a basic example—but the Split Document using AI action can be leveraged in various advanced Salesforce automations:
### Screen Flows for Business Users
Let agents or partners upload documents and supply optional split instructions on-screen.
Example: A partner uploads a contract bundle. AI splits it by section and names each split contract with the client name.
### Record-Triggered Automations
Trigger splitting automatically when a file is uploaded or when a record meets certain criteria.
Example: A case record receives a complaint file with multiple documents. It is auto-split and stored under the appropriate child records.
### Email-to-Record Processing
Combine with email ingestion to split documents attached in emails automatically.
Example: A vendor emails a combined invoice PDF. Upon ingestion, it is split into separate invoices and linked to the appropriate PO records.
### Community or Partner Portal Uploads
Allow external users to upload large files that are split and processed behind the scenes.
Example: A vendor portal allows bulk upload of certificates. Each is split and stored under relevant compliance records.
### AI Metadata Extraction After Split
Post-splitting, chain another Document AI action to extract metadata from each child file.
Example: Split resumes received as a bulk file, then extract candidate name and role applied for from each and map them into Lead records.
For more advanced configurations, tutorials, and ideas, visit the Document AI Tutorials.
Let CloudFiles Document AI + Salesforce work together to make your document processing workflows intelligent, fast, and scalable.
---
# Quick Starts (Quick Start · HubSpot)
https://help.cloudfiles.io/hubspot/quick-starts
# Quick Starts
Learn how to integrate CloudFiles with HubSpot using this comprehensive document. It offers an installation guide and three quick start guides to help you master the integration. Discover how to use file and folder actions, workflows, and the CloudFiles widget.
> Kind: Quick start · Updated: Jul 8, 2026
This category consists of a few articles that can help you get started with the CloudFiles - HubSpot integration very easily. Simply install the app using the installation guide and then use the various quick starts to become an expert with the integration.
Installation guide for CloudFiles HubSpot Integration: This article outlines the installation steps for the CloudFiles HubSpot integration, including how to install the app from the HubSpot Marketplace and access the CloudFiles widget in HubSpot records.
Quick Starts By Product - These articles talk about various CloudFiles product capabilities with detailed screenshots.
- Doc Management Quickstart: Using cloudfiles as a connector to external storages such as Google Drive, SharePoint etc...
- Doc Sharing Quickstart: Using CloudFiles for file sharing and analytics in HubSpot by creating sharing links, configuring security settings, and tracking file performance.
- Doc Generation Quickstart: Generate one-click on-brand documents with templates created in native microsoft / google editors.
- Doc Automations Quickstart: This articles details CloudFiles' automation capabilities using workflow actions, segment filters, triggers etc...
Quick Starts By Role - These articles talk about various CloudFiles capabilities in context of specific types of HubSpot users.
- CMS & Marketing Users Quick Start: This article covers how CloudFiles enahances marketing tasks such as hosting files on website, sending in bulk emails, behind hubspot forms etc...
- Sales & Service Users Quick Start: This article covers how CloudFiles enhances sales & service functions such as managing files from records, sharing as portals, collecting files etc...
- Admin Quick Start: This quick start talks about the various settings that the CloudFiles Admin has control over.
---
# Installation guide for CloudFiles HubSpot Integration
https://help.cloudfiles.io/hubspot/quJO-installation-guide-for-cloudfiles-HubSpot-integration
# Installation guide for CloudFiles HubSpot Integration
Install CloudFiles from the HubSpot Marketplace and get started with the product- and role-based quick start guides.
> Kind: Quick start · Updated: Jun 4, 2026
## Steps to Install
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. In order to install the app, you only need to follow some quick steps -
1. **Open the HubSpot Marketplace listing** — Go to Cloudfiles's listing page on HubSpot Marketplace (or just search 'CloudFiles' on the marketplace).
2. **Click Connect** — Click the "Connect" button on top right of the page (or click on this link).
3. **Log in with your HubSpot admin account** — This will open up the HubSpot Login Page. Login with you HubSpot Administrator account.
4. **Connect the app** — Following page will be shown. Click the "Connect App" button to finish installation.

Now that CloudFiles is installed in your HubSpot, you can start using it. To get started quickly, we provide various quick start guides that talk about incrementally advanced features. Refer to these guides in sequence to become a HubSpot - CloudFiles integration expert.
## Quick Starts By Product
These articles talk about various CloudFiles product capabilities with detailed screenshots.
- Doc Management Quickstart: Using cloudfiles as a connector to external storages such as Google Drive, SharePoint etc...
- Doc Sharing Quickstart: Using CloudFiles for file sharing and analytics in HubSpot by creating sharing links, configuring security settings, and tracking file performance.
- Doc Generation Quickstart: Generate one-click on-brand documents with templates created in native microsoft / google editors.
- Doc Automations Quickstart: This articles details CloudFiles' automation capabilities using workflow actions, segment filters, triggers etc...
## Quick Starts By Role
These articles talk about various CloudFiles capabilities in context of specific types of HubSpot users.
- CMS & Marketing Users Quick Start: This article covers how CloudFiles enahances marketing tasks such as hosting files on website, sending in bulk emails, behind HubSpot forms etc...
- Sales & Service Users Quick Start: This article covers how CloudFiles enhances sales & service functions such as managing files from records, sharing as portals, collecting files etc...
- Admin Quick Start: This quick start talks about the various settings that the CloudFiles Admin has control over.
Once you are done with these, you can also go to the Features section explore the features in detail or head over to the Tutorials section to learn how to build various use cases using CloudFiles.
To talk to us, you can email us at support@cloudfiles.io or chat with us using the chat bubble at the bottom right of the screen.
---
# Doc Management Quickstart
https://help.cloudfiles.io/hubspot/doc-management-quickstart
# Doc Management Quickstart
Learn how to use CloudFiles as a file connector for HubSpot with this comprehensive quick start guide.
> Kind: Quick start · Updated: Jun 4, 2026
In this first quick start, we show how the CloudFiles Document Management product can be used as a file connector for HubSpot. A file connector is something that can provide live access to your files that may be sitting in some external storage (such as Google Drive, SharePoint, OneDrive, Box, Dropbox, AWS S3, Azure, CloudFiles or HubSpot storage) from your HubSpot records (standard as well as custom objects). CloudFiles offers a file mirroring feature and some HubSpot native components to connect any type of file to HubSpot records.
In the article below, we talk about -
- Accessing external storages from HubSpot records using CloudFiles components
- Associating files & folders to records for later access
- Operating on files & folders from HubSpot with instant 2-way sync
These steps will give you a basic understanding of how to use the CloudFiles Document Management product in HubSpot. Check out the What's Next section at the bottom to see what else you should read about CloudFiles.
## Installing CloudFiles in HubSpot
If you haven't already done so, make sure CloudFiles is installed in your HubSpot from the HubSpot marketplace. This only takes a couple of minutes and you can follow the simple steps in our article on Installation guide for CloudFiles HubSpot Integration.
## Accessing CloudFiles from Records
CloudFiles is available on HubSpot records through two components: the App Card and the Widget. These components integrate external storage libraries and allow files/folders to be managed directly within standard as well as custom objects.
### CloudFiles App Card
The CloudFiles App Card is integrated into HubSpot across all standard (e.g. contacts, companies, deals etc...) as well as custom objects. It allows you to connect external storage platforms like SharePoint, Google Drive, OneDrive, Box, Dropbox, or AWS S3. Once connected, you can view, download, rename, move, or delete files directly from the record. The card appears in the middle section of the HubSpot record, either in the standard tabs or in any custom tabs.-
The CloudFiles card is not added by default on the record pages. To add the card, go to any record, click on the customize button on the top right, open the default view and add the card to an existing tab / new tab. For detailed instructions and screenshots, refer to the configuration section of the CloudFiles Connected Folder Widget article.
> To enable support of CloudFiles app card & workflows for your custom objects, contact us.

### CloudFiles Widget
The CloudFiles widget is available on the right sidebar of all HubSpot records. It works the same way as the app card on all record types.

## Accessing Content Library
The CloudFiles content library is your single source of truth for all your files & folders, no matter where they are. The library provides access to CloudFiles storage as well as mirror storage support for Google Drive, OneDrive, SharePoint, Box, Dropbox, AWS S3, etc...
The content library can be accessed through a couple of ways depending on whether you want to use it from a HubSpot record or not. The image and details below summarise these -
Using CloudFiles App Card on HubSpot Record - Open any HubSpot record and use the CloudFiles App Card. Click "Select File/Folder" to open the Content Library. From here, you can browse or upload files, attach them to the record, preview, download, or manage them.

Using CloudFiles Widget on HubSpot Record - On any record (standard or custom), find the CloudFiles Widget in the sidebar. Click on "Add" to open the Content Library. You can then navigate your storage, browse files/folders, and perform actions like upload, rename, or delete.

Using CloudFiles Web-app - You can also access the Content Library from the CloudFiles Web App by clicking the CloudFiles hyperlink in the widget. The web app is useful if you prefer working outside HubSpot. You can manage all your files here, and the changes and analytics are still visible inside HubSpot.

## Connecting your Cloud Storage
Using the content library dialog, you can easily connect any existing cloud storage and instantly access those files. This content mirroring currently works with HubSpot File Storage, Google Drive, OneDrive, SharePoint, Box, Dropbox, Amazon AWS S3, Microsoft Azure and a few more options.
To connect you library, follow the simply steps below -
- Locate the library selector dropdown and choose your desired cloud storage
- Click on the Login to Cloud Storage button. This is a one-time process and is NOT required for HubSpot File Storage and CloudFiles Native Storage.
- Standard Cloud Storage login will follow in a new tab. Complete the login.
- The tab should auto close and you should come back to HubSpot.
- Your files should start showing in the content library dialog box.
These steps are also shown in the graphic below -

## Associating files & folders to records
Files and folders from the Content Library can be linked to HubSpot records through the CloudFiles App Card or the CloudFiles Widget.
When using the App Card, click the "Select File/Folder" button to open the Content Library. From there, choose the files or folders you want to associate with the record. Once linked, they will appear on the card, and if a folder is selected, its contents can be viewed and managed directly from within the card. This is shown in the graphic below:

When using the Widget, click the "Add" button to open the Content Library. Select the required files or folders using the checkboxes and add them to the record. These will then appear as tiles inside the widget.

## File & folder Operations from Card
When a file or folder is associated with a record through the CloudFiles App Card, it can be managed directly from the card.
- For folders, you can browse their contents, open them in the connected storage (such as Google Drive or SharePoint), share, rename, or delete them.
- For files, you can open them in the connected storage, download, preview, share, rename, replace, move, delete, or disconnect them from the record while keeping them in storage.

## What Next?
You can go back to the Quick Starts article and check out our other quick starts on doc sharing, doc automations etc... or the role wise quick starts. You can also go to the Features section explore the features in detail or head over to the Tutorials section to learn how to build various use cases using CloudFiles.
Need help? Book time with our team of experts.
---
# Doc Sharing Quickstart
https://help.cloudfiles.io/hubspot/doc-sharing-quickstart
# Doc Sharing Quickstart
Learn how to use CloudFiles in HubSpot with this comprehensive quick start guide covering doc sharing and analytics capabilities.
> Kind: Quick start · Updated: Jun 4, 2026
In this quick start, we cover some basic sharing & analytics capabilities that CloudFiles enables on top of your existing files. Through CloudFiles, you can create links for files, folders & datarooms. You can also enable various security settings on these links. When your prospects or customers view these links, you get analytics in your HubSpot.
CloudFiles Doc Sharing capabilities can be used in various ways.
- Sales & service users prefer operating from HubSpot records such as deals & tickets on a daily basis. They can use the doc sharing capabilities from the records themselves using the CloudFiles App Card and Sidebar Widget.
- Marketing teams prefer to have a unified view of their entire content library, create multiple links for their collateral pieces, distribute these links through emails & website & then collecting reportable analytics. For these users, using the CloudFiles Web-App Dashboard is the ideal way to enjoy the doc sharing capabilities.
In order to properly utilize this quick start, first decide whether you need it for sales / service users (i.e. from records) or for marketing users (i.e. from a dashboard). You might need both. Based on your decision, go to one of the following articles -
- Doc Sharing From Records Quickstart - Useful for sales & service team who want to share & collect analytics from HubSpot records.
- Doc Sharing From Dashboard Quickstart - Useful for marketing teams who want a consolidated view of files & analytics.
By referring the correct article, you will get a complete understanding of how to use the app for you use-case.
Need help? Book time with our team of experts.
---
# Doc Sharing From Records Quickstart
https://help.cloudfiles.io/hubspot/doc-sharing-from-records-quickstart
# Doc Sharing From Records Quickstart
A quickstart guide showing sales/service users how to access CloudFiles from HubSpot records, associate files/folders/datarooms, create and configure sharing links, and view files and analytics as a customer would.
> Kind: Quick start · Updated: Jun 4, 2026
In this quick start, we will cover some basic doc sharing capabilities of CloudFiles in context of sales / service users. These users prefer operating from standard or custom HubSpot records such as deals, tickets, contacts etc... on a daily basis. They can use the doc sharing capabilities from the records themselves using the CloudFiles App Card and Sidebar Widget.
In the article below, we talk about -
- Accessing CloudFiles from HubSpot records using App Card or Sidebar widget.
- Associating files, folders or datarooms to records
- Creating sharing links for the above resources & configuring those links
- Viewing the file as a customer & checking analytics
These steps will give you a basic understanding of how to use the CloudFiles Document Sharing product in HubSpot as a sales / service user. Check out the What's Next section at the bottom to see what else you should read about CloudFiles.
## Installing CloudFiles in HubSpot
If you haven't already done so, make sure CloudFiles is installed in your HubSpot. This only takes a couple of minutes and you can follow the simple steps in our article on Installation guide for CloudFiles HubSpot Integration.
## Accessing CloudFiles from Records
You can access CloudFiles from standard as well as custom object records using one of the following two ways. Both of these work for all the 4 record types -
- Using the CloudFiles App Card - A detailed card view that can be added to one of the standard or custom tabs in the center of the HubSpot record screen view.
- Using the Sidebar Widget - Appears in the right sidebar of each record. Is enabled by default on all records.
The following sub-sections talks about these in detail.
### CloudFiles App Card
The CloudFiles App Card is integrated into HubSpot records and lets you connect external storage libraries. It can be added to any standard or custom tabs that appear in the center of the record screen layout on HubSpot.
To add the card, go to any record, click on customize button on top right, open the default view and add the card to an existing tab / new tab. For detailed instructions and screenshots, refer to the configuration section of the CloudFiles Connected Folder Widget article.

### CloudFiles Widget
The CloudFiles widget is available on the right sidebar of all standard or custom object records. In case you don't see the widget on any of your records, check out our FAQ on I cannot see the CloudFiles widget in HubSpot. The widget can be used to associate multiple files and folders with the record, perform operations on them, share & track them and a lot more. We will cover this functionality below.

## Associate files, folders or datarooms
In order to share any resource(s), we first need to associate the resource(s) to the record. You can associate a file, folder or datarooms to a record using one of the following ways -
### Associating files & folders
To associate files or folders, simply click on the "Select File / Folder" button in the card or the "Add" button in the widget to open the content library. You will have free access to the CloudFiles & HubSpot storage through this dialog box. Create, upload or locate the respective files & folders, and associate them to the record as shown in the GIF below.
> You can use the doc sharing product with external storages as well if you have purchased doc management product. Refer to the Doc Management Quickstart on how to connect external storages and associate files & folders to records. The process is similar.
As soon as the file or folder is associated, it will show up, both in the card as well as in the sidebar. Check the GIF below.

### Associating Datarooms
To associate a dataroom, open the content library dialog as shown above. Then switch to the datarooms view. Follow the on-screen instructions to create your dataroom. Once created, you can then associate files & folders from any storage(s) to the dataroom.
As soon as the dataroom is associated, it will show up in the sidebar widget. We currently do not show dataroom attachments in the app card however this is on our roadmap.
> We currently do not show dataroom associations on the app card. You can access and operate datarooms through the sidebar widget only. We will soon add dataroom support on app card.

## Creating sharing links
There are multiple ways to create a sharing link. You can either do it while associating the resource to the record or using the app card or sidebar widget.
Creating link using App Card - Simply browse to the file or folder that you want to create a sharing link for and click on the share option in the actions dropdown.

Creating link using sidebar widget - Click on the actions dropdown button and select the 'Share' or 'Get Link' option to create the sharing link for the file, folder or dataroom.

Creating link while associating resource - When you select a file, folder or dataroom in the content library dialog and add it to the record, you can select a checkbox at the bottom to simultaneously create the link of the associated resource. This is shown in the steps below.

## Configuring sharing links
Once the link has been created, CloudFiles will automatically open the link settings dialog. You can also access this dialog using the Get Link action in the card & widget. This dialog can be used to set various security settings such as email collection, password protection, download control etc...

## Viewing file as customer
Now that your file is uploaded and link is configured, open that link in a browser window. You will be sharing this link with your clients. When you access the link, this is exactly what your clients will see. You can also open the link in anonymous tab to test various security settings.
The file shows up in the browser using our proprietary file viewer. This viewer supports all types of readable and watchable files including PDFs, PPTs, Excels, Docs, Images, Videos etc... Other types of non-rendered files are downloaded on link access.

Additionally, you can also 'Preview' the file. This does not apply the security settings and does not collect analytics. Previewing is for internal use only and these links should not be shared with the customers.
## View Analytics
To view file analytics, locate the 'Analytics' action in the Actions dropdown against the resource in the app card or the sidebar widget. Additionally, the analytics should also show up on the timeline activity of the record if the CloudFiles timeline activity has been enabled. Both of these are shown in the graphic below.

## What Next?
You can refer to the other doc sharing quick start on using Dashboard for marketers at Doc Sharing From Dashboard Quickstart. You can go back to the Quick Starts article and check out our other quick starts on doc auatomations, doc management etc... or the role wise quick starts. You can also go to the Features section explore the features in detail or head over to the Tutorials section to learn how to build various use cases using CloudFiles.
---
# Doc Sharing From Dashboard Quickstart
https://help.cloudfiles.io/hubspot/doc-sharing-from-dashboard-quickstart
# Doc Sharing From Dashboard Quickstart
A quick start guide covering how marketing users can access their content library, create and configure sharing links, view files as a customer, check analytics, and distribute links using the CloudFiles Web-App Dashboard.
> Kind: Quick start · Updated: Jun 4, 2026
In this quick start, we will cover some basic doc sharing capabilities of CloudFiles in context of marketing users. These users prefer to have a unified view of their entire content library, create multiple links for their collateral pieces, distribute these links through emails & website & then collecting reportable analytics. For these users, using the CloudFiles Web-App Dashboard is the ideal way to enjoy the doc sharing capabilities.
In the article below, we talk about -
- Accessing the entire content library from the CloudFiles Webapp Dashboard
- Creating sharing links for files, folders & datarooms & configuring those links
- Viewing the file as a customer & checking analytics
- Distributing the link using email, website, social or other ways.
- Segmenting, Scoring & Reporting on the analytics in HubSpot
These steps will give you a basic understanding of how to use the CloudFiles Document Sharing product in HubSpot as a marketing user. Check out the What's Next section at the bottom to see what else you should read about CloudFiles.
## Installing CloudFiles in HubSpot
If you haven't already done so, make sure CloudFiles is installed in your HubSpot. This only takes a couple of minutes and you can follow the simple steps in our article on Installation guide for CloudFiles HubSpot Integration.
## Accessing Content Library from WebApp Dashboard
Once CloudFiles is installed in your HubSpot, there are multiple ways to access the WebApp dashboard.
- You can directly login at https://app.cloudfiles.io using the same email registered in your hubspot instance.
- You can go to a contact, company, deal or ticket record and click on the CloudFiles hyperlink at the bottom of the sidebar widget.
These steps have been detailed with screenshots in How to go to the CloudFiles App Dashboard?
You can navigate to Document Sharing tab > Libraries sidebar to view & maintain your content library. You can also create & access your datarooms using the respective option on the sidebar.

Note that the doc sharing plans offer free CloudFiles & HubSpot storage integrations. External storages such as Google Drive, SharePoint are available with Doc Management subscriptions. You can try all storages during trial.
## Creating sharing links
To create a sharing link for a file, folder or dataroom, simply upload or browse to the specific resource and use the 'Share' action from the dropdown. The following GIF shows how to create a link for a folder.

You can also create multiple links for your files, folders and datarooms. To create multiple links, click on the respective resource. This opens the resource detail page which shows a list of all the links associated to the file. Check the GIF below to see this in action.

## Configuring sharing links
Once the link has been created, CloudFiles will automatically open the link settings page. This page can be used to set various security settings such as email collection, password protection, download control etc...

## Viewing file as customer
Now that your link is configured, open that link in a browser window. You will be sharing this link with your clients. When you access the link, this is exactly what your clients will see. You can also open the link in anonymous tab to test various security settings.
The file shows up in the browser using our proprietary file viewer. This viewer supports all types of readable and watchable files including PDFs, PPTs, Excels, Docs, Images, Videos etc... Other types of non-rendered files are downloaded on link access.

Additionally, you can also 'Preview' the file. This does not apply the security settings and does not collect analytics. Previewing is for internal use only and these links should not be shared with the customers.
## Checking Analytics
To view file analytics, locate the 'Analytics' section in link details screen on the webapp dashboard. Additionally, non-anonymous analytics is also pushed to HubSpot as timeline events and be consumed by marketers using various ways. We will talk about this later in this article.

## Distributing Links
Now that your link is configured and you are confident that analytics is being collected on the link, you are ready for mass distribution of the link. There are various ways in marketers use CloudFiles links, each pertaining to a unique distribution channel, and each with its own best analytics collection practices.
- Sharing collateral on web - Various ways of tracking analytics & collecting leads when sharing collateral thorugh website, forms, social media, ads etc...
- Sending bulk emails - Personalizing file, folder & dataroom sharing link to collect analytics integrated with HubSpot.
- Lead segmentation & scoring - Using lists, workflows & properties for segmentation, scoring & other marketing analytics.
- Custom reporting dashboard - Using CloudFiles' File View Custom Object to create custom reports & dashboards in HubSpot.
- Improving sales team consumption - Various strategies to get Sales team to use centralized content and collect reportable analytics.
Check our article on CMS & Marketing Users Quick Start to learn more about these startegies and get more help article links.
## What Next?
You can refer to the other doc sharing quick start on using Dashboard for marketers at Doc Sharing From Records Quickstart. You can go back to the Quick Starts article and check out our other quick starts on doc auatomations, doc management etc... or the role wise quick starts. You can also go to the Features section explore the features in detail or head over to the Tutorials section to learn how to build various use cases using CloudFiles.
---
# Doc Generation Quickstart
https://help.cloudfiles.io/hubspot/doc-generation-quickstart
# Doc Generation Quickstart
Learn how to install the CloudFiles Word add-in and use the CloudFiles Doc Gen App Card to create, publish, and generate personalized HubSpot documents.
> Kind: Quick start · Updated: Jun 4, 2026
In this quick start guide, you will learn how to integrate HubSpot data into your document workflow using the CloudFiles Word add-in and CloudFiles Doc Gen App Card. You will discover how to install the CloudFiles Word add-in, create and publish personalized templates, and manually generate documents in your desired format.
This article is divided into the following sections -
- Insert Doc Generation Card: Quickly insert on standard or custom HubSpot objects to generate documents.
- Install CloudFiles Word Add-in: The add-in allows you to create and manage document templates directly within Microsoft / Google editors.
- Create Template: Leverage HubSpot properties to build templates in Microsoft / Google editors.
- Publish Template: Understand the process of publishing your templates within HubSpot, making them available for document generation.
- Generate Documents: Learn how to manually generate documents using your published templates.
- Coming Soon: This section talks about what else we are gonna be adding in our doc generation product soon.
Let's look into each section one by one -
## 1 - Insert Doc Generation Card
The Doc Generation App Card is integrated into HubSpot across all standard or custom object records. It allows you to see a list of all your templates and generate & download documents manually from HubSpot records. The card appears in the middle section of the HubSpot record, either in the standard tabs or in any custom tabs.
The CloudFiles card is not added by default on the record pages. To add the card, go to any record, click on the customize button on the top right, open the default view and add the card to an existing tab / new tab.
[Watch video](https://youtu.be/vU2uvQn5VKY)
## 2 - Install CloudFiles Word add-in
The CloudFiles Word add-in facilitates the integration of CloudFiles with your Hubspot instance, enabling you to create and design templates that incorporate HubSpot properties. This powerful tool streamlines the process of merging HubSpot data into documents, making it easier to generate consistent and accurate templates directly from Microsoft Word.
To add the CloudFiles Word add-in to your Microsoft Word application, start by launching Microsoft Word on your PC. The follow the steps below -
- Navigate to the "Home" tab and click on "Add-ins" to explore available options.
- In the Add-ins window, select "+ More Add-ins" to open the "Office Add-ins" window, then click on "Microsoft AppSource" to be redirected to appsource.microsoft.com.
- In the search bar, type "CloudFiles" and browse the results to locate the CloudFiles Add-in.
- Click "Get it now" to install the add-in. Once the installation is complete, open Word to check the new add-in.
- In the "New Office Add-in" sidebar, click "Allow and Continue" to launch the CloudFiles Word add-in, ensuring it's ready for use with your HubSpot data.
> **Note** — Please ensure to use your https://hubspot.cloudfiles.io/ credentials when logging into the CloudFiles Add-in
Refer to the video below to have a visual understanding of these steps -
[Watch video](https://youtu.be/0Kzyf8FzEhI)
## 3 - Create Template
You can create a template for any HubSpot object. Using various actions, you can insert object properties, related data, and custom resources. Additionally, you can add pictures, tables, and set conditions for content insertion, as well as specify the title of the generated documents.
Once the CloudFiles Word Add-in is installed and the HubSpot instance is connected, you can start building a template for a selected object. To get started, you must select your primary resource, i.e., the Master Object for which you wish to build the template. In the CloudFiles Add-in sidebar, select HubSpot as the platform and the HubSpot Object as the Master Resource. After clicking 'Submit,' you will be directed to the next stage of selecting actions and utilizing resources.
Refer to the GIF below to have a visual understanding of this process -

## 4 - Publish Template
After building a template and reviewing it, the final step is to publish the template. Publishing makes the template available in your HubSpot instance for document generation on the specified object. To begin, navigate to the 'Publish' stage by clicking on 'Publish' in the 'Stage Progress Bar'. You will then need to choose your publishing option: either check the 'Publish as a New Template' checkbox to publish it as a new template for the object, or check the 'Select an existing template' checkbox and choose an existing template from the drop-down to update an existing one.

Once you've made your selection, click 'Publish'. A pop-up message confirming 'Successfully Created a Template' will appear, indicating the template has been created. To verify the template, you can check the newly created or updated template from the 'CloudFiles Doc-Gen' app card on the object's page or from the 'Document Generation' tab of the CloudFiles app.

## 5 - Generate Documents from Doc Gen Card
Once the CloudFiles Doc Gen card is added to the record page and the template has been published, you can start generating documents in either DOCX or PDF format, which will be automatically downloaded upon generation.
To manually generate a document, navigate to any HubSpot record of the specified object type and locate the app card. Click the drop-down menu next to the template you want to use and select either 'Generate DOCX' or 'Generate PDF' for the desired document format. The document generation process takes a moment. Once completed, you can download the generated document.

## 6 - Coming Soon
Doc Generation has been launched recently by CloudFiles. Following things are coming soon -
- More help resources - We wil be adding many articles to illustrate how to use this product.
- Automations - Generate documents automatically and in bulk using HubSpot workflows.
- Better templating - Support for HubSpot products, better data addition options.
- Doc Management Integration - Store your generated documents neatly in external storages.
- Doc Sharing Integration - Share your generated documents using CloudFiles links and collect useful analytics.
- Template Library - Use pre-built templates. Just download, connect & use.
## What's Next ?
You can go back to the Quick Starts article and check out our other quick starts on doc sharing, doc automations etc... or the role wise quick starts. You can also go to the Features section explore the features in detail or head over to the Tutorials section to learn how to build various use cases using CloudFiles.
---
# Doc Automations Quickstart
https://help.cloudfiles.io/hubspot/doc-automations-quickstart
# Doc Automations Quickstart
Learn how CloudFiles can automate your HubSpot workflows, with automation examples for the connector, sharing, and analytics use-cases, including creating folders, attaching files, generating sharing links, and setting link security.
> Kind: Quick start · Updated: Jun 4, 2026
CloudFiles offers a number of file automations capabilities for HubSpot users. Using the app, you can filter lists, trigger workflows, use workflow actions and much more to automate your processes.
In this article we focus on some of the automation capabilities related to the connector, sharing & analytics use-cases we discussed in the previous quick starts. There is a whole lot more documentation and possibilities with these automations.
## Connector related automations
CloudFiles connector quick start covered how you can easily access your external files from HubSpot records using the CloudFiles widget and content library dialog. We also associated a file and performed some operations using these components. In this section we cover some basic automation support examples for this.
One of the most common use-cases is to create a folder and associate it to a HubSpot record when the record is created or updated in a certain way. E.g. create a deal folder in Google Drive and associate it to the deal when it's stage changes to a particular value.
This use-case can be easily enabled using HubSpot workflows and CloudFiles' workflow actions. Create a workflow and trigger it based on your entry condition, then use the two actions below -
### Create Folder
This action lets you specify some parameters such as target storage, destination folder, newly created folder's name etc... Using these you can customize how you want your folder organization to look. You can also use this action multiple times to create sub-folder hierarchies.
In the graphic below we show how this action looks. For details on how to use this action, refer to the detailed guide on Create Folder Action.

### Create Attachment
This action lets you attach a folder or file to the record. An attachment is the same as association i.e. the tile that is created when you associate a file or folder manually to a HubSpot record through the content library dialog. This action is able to create that tile automatically so that it's ready for use by your team.
In the graphic below we show how this action looks. For details on how to use this action, refer to the detailed guide on Create Attachment Action.

## Sharing related automation
In this section, we talk about some of the workflow actions that can help automatically create sharing links and set security settings on those links. These enable a host of sharing related automations for our users.
### Share Attachment
This action can create a sharing link for an already existing file or folder attachment (association). This action is most often used along with Create Attachment action. The final result of this action is the same as clicking the 'Share' button in the Actions dropdown of a file or folder association on the CloudFiles widget which ends up creating a CloudFiles link for the resource.
In the graphic below we show how this action looks. For details on how to use this action, refer to the detailed guide on Share Attachment Action.

### Update Link Settings
This action provides a number security and general link settings that can be applied through automation. This is the same as manually applying these settings using the Get Link dialog. Tis action can be used to enforce sharing policies on the content.
In the graphic below we show how this action looks. For details on how to use this action, refer to the detailed guide on Update Link Settings Action.

## Analytics related automations
In this section we talk about some analytics related automations. CloudFiles sends a number of events to HubSpot when certain engagement is seen on your shared collateral. These events also carry a number of data points with them which can be used to further refine your engagement automations.
The events can be consumed using HubSpot static and dynamic lists, workflow triggers and record properties. In the graphic below, we provide a basic example of the File Viewed event being used in HubSpot workflow trigger. Other events such as File received, resource attached etc... enable other automations as well.
You can read more about these types of automations in our help article on Workflow Triggers & List Filters.

## What Next?
You can go back to the Quick Starts article and check out our other quick starts on doc sharing, doc management etc... or the role wise quick starts. You can also go to the Features section explore the features in detail or head over to the Tutorials section to learn how to build various use cases using CloudFiles.
Need help? Book time with our team of experts.
---
# CMS & Marketing Users Quick Start
https://help.cloudfiles.io/hubspot/cms-and-marketing-users-quick-start
# CMS & Marketing Users Quick Start
This article outlines strategies HubSpot marketers can use to improve content performance using CloudFiles, covering web collateral sharing, bulk emails, lead segmentation, reporting, and sales team consumption.
> Kind: Quick start · Updated: Jun 4, 2026
HubSpot Marketing & CMS Hubs are built for marketers. You can run various business marketing operations such as mass emailing, social media, website etc.. using these products. CloudFiles integrates with many of these features, providing HubSpot marketers easy ways to generate & consume file analytics in HubSpot. This article outlines some of the strategies that HubSpot marketers can use to improve there content performance.
Each of the sections below provides a brief overview of a key HubSpot marketing use-case that is enabled using CloudFiles. Each section also links to other articles that cover features in detail. Here is a quick summary of what all is covered in this article -
- Sharing collateral on web - Various ways of tracking analytics & collecting leads when sharing collateral thorugh website, forms, social media, ads etc...
- Sending bulk emails - Personalizing file, folder & dataroom sharing link to collect analytics integrated with HubSpot.
- Lead segmentation & scoring - Using lists, workflows & properties for segmentation, scoring & other marketing analytics.
- Custom reporting dashboard - Using CloudFiles' File View Custom Object to create custom reports & dashboards in HubSpot.
- Improving sales team consumption - Various strategies to get Sales team to use centralized content and collect reportable analytics.
## Sharing Collateral on Web
HubSpot provides various tools to build web pages and landing pages. Marketers often need to share individual and groups of files through various web-based channels. These channels can include website, landing pages, behind form walls, social media, ads etc... In this section we talk about how CloudFiles can help with these specific use cases.
### Creating links for your collateral
Use the CloudFiles WebApp Dashboard to manage your content library. You can create single or multiple links for individual pieces or groups of collateral using the file, folder, dataroom sharing capabities of CloudFiles. Once you have created these links, you can configure different settings on these. Once the links are ready, you can host them on your website, either as hyperlinks or embedded.
Refer to the Doc Sharing From Dashboard Quickstart for detailed steps and screenshots on how to use the CloudFiles WebApp Dashboard as a HubSpot marketer. Check the article on File and Folder Sharing Article for various link creation and sharing options.

### Sharing Anonymous collateral on website
By default the links you create for your files are ungated. Ungated Links which do not have any email gating enabled will be directly accesible with a simple click. You can use the holistic analytics available in the CloudFiles dashboard to figure out drop points and optimize your content.
Your clients are directed to CloudFiles' proprietary file viewer when they open the links. This file viewer can show files, folders as well as datarooms. Check out article on Collect anonymous analytics on documents for more details. For details on what type of analytics is collected, check the article on Understanding Engagement Metrics and Drill-Down Analytics.

### Sharing Gated collateral using Email Wall
You can put an email wall before the CloudFiles links. You can also enable email authentication using an OTP. Additionally, you can define an allow or block list of domains & emails to restrict access. You can read more about it in the link security settings article.
Whenever a gated link is accessed, any analytics associated to it is pushed into your HubSpot and associated with the right contact. If the contact does not exists, CloudFiles creates one for you. You can check more about this in Auto Create Contacts from File Views.

### Sharing Gated collateral using HubSpot Forms
Instead of using the CloudFiles email wall (which is only capable of collecting emails), you can use HubSpot forms as well to collect detailed analytics on your collateral.
Simply create a form and collect email in it. Then, once the form is filled, simply re-direct the person to a gated or ungated link. CloudFiles provides HubSpot cookie integration such that it reads the viewer information in your HubSpot cookie. If the email is available in the cookie, CloudFiles email wall is not shown. The analytics is still pushed to the right HubSpot contact.
Note that the above feature is available on white-labelled links only. Moreover, your website should be hosted on HubSpot for this to work. You can read more about this feature here.
### Social Media & Ads
You can use similar strategies as outlined in the sections above to collect analytics from content pieces shared using Social and Ads. Use CloudFiles links to share the collateral and use appropriate security settings to collect analytics and push it to HubSpot.
## Sending Files in Bulk Emails
If you are sending out mass marketing emails, the best way is to create one file, folder or dataroom link per campaign / audience. Then use this link in your marketing email template. In HubSpot you can add a personalization parameter to the end of the link. This way, any analytics collected is automatically pushed into HubSpot and associated to the HubSpot contact.
Refer to our tutorial on E-mail Attachment Tracking for more information.

## Lead Segmentation & Scoring
Use HubSpot Segments (previously HubSpot Lists) along with CloudFiles filters to create lists of contacts who have viewed your collateral. Use various filter parameters to create refined lists and use in your nurturing processes.

The above filters also available as triggers in workflows. Thus, you can create workflows with custom scoring logics and trigger them when views happen on CloudFiles documents. This also enables you to create notifications for sales teams and various other automated processes.

You can use other things, such as data proeprties that CloudFiles maintains on deals, tickets, contacts & companies as triggers as well. Check the section on Workflow Triggers & List Filters for more details.
## Reporting & Dashboarding
CloudFiles analytics can be pushed into HubSpot as a custom object called "CloudFiles File View" object. You can use the properties such as view time, scroll depth, email etc... to create custom reports and dashboards in HubSpot. We have a tutorial on how to create such dashboards at Custom File Analytics Dashboard.

## Improving Sales & Service Team Consumption
Many a times marketing teams want to maintain a centralized content repository & need sales teams to share collateral from that centralized location. On top of that, if sharing can be done in a way such that analytics can be reported on the content consumption, it would be great for validation. CloudFiles offers certain features to enable marketing teams to do just that.
Sales & service users most often use HubSpot records, such as deals, tickets, contacts and companies for their day to day tasks. For giving access to sharing functionalities on HubSpot records, refer to our quick on Doc Sharing From Records Quickstart.

If sales teams are using sequences in HubSpot to automate email follow-ups, CloudFiles sharing links can be used in those emails along with personalization parameters as demonstrated in the bulk emails section above.
If sales users instead prefer to copy paste the links on an ad-hoc basic, personalized record links can be provided as demonstarted in the File Portals for Sales & Service teams.
They can also enable various security settings on the links as described in Send secure collaterals using Email Verification. Additionally, you can provide sales teams with Automated Internal Notifications to reduce their turnaround times.

Lastly, a great strategy for sharing only personalized material is to create an explicit sharing folder for each of the records as part of a larger folder hierarchy. Selective Sub-Folder Sharing tutorial shows how to do this.
## What Next?
You can go back to the Quick Starts article and check out our other quick starts on sales / service users, or the product wise quick starts. You can also go to the Features section explore the features in detail or head over to the Tutorials section to learn how to build various use cases using CloudFiles.
---
# Sales & Service Users Quick Start
https://help.cloudfiles.io/hubspot/sales-and-service-users-quick-start
# Sales & Service Users Quick Start
HubSpot Sales & Service Hubs are built for the respective teams, and CloudFiles integrates with many of their features to give sales & service users easy ways to manage, share & collect files in HubSpot.
> Kind: Quick start · Updated: Jun 4, 2026
HubSpot Sales & Service Hubs are built for the respective teams. You can run various business operations such as deal & ticket management, one on one emailing, customer portals, automations etc... using these products. CloudFiles integrates with many of these features, providing HubSpot sales & service users easy ways to manage, share & collect files in HubSpot.
Each of the sections below provides a brief overview of a key HubSpot sales / service use-case that is enabled using CloudFiles. Each section also links to other articles that cover features in detail. Here is a quick summary of what all is covered in this article -
- File & Folder Management on Records - Connecting to external storages & performing file & folder operations from HubSpot records. Both manual and automated.
- Collecting list of documents - Using HubSpot forms or CloudFiles datarooms with automations to create custom collection processes.
- Sharing marketing documents & getting analytics - Basic doc sharing capabilities from records and supported automations.
- Sharing sales & service documents securely - Security settings available on the sharing links to make your sharing & collection more secure.
- Sharing documents via HubSpot customer portals - Using portals along with CloudFiles sharing links to create personalized sharing experience.
- Generating sales/ service documents - Creating proposals, agreements and operational documents manually or automatically using HubSpot workflows.
Each section below talks about these use-cases in detail and links to other useful articles. Check the What's Next section at the bottom to see where to go from here.
## File & Folder Management on Records
CloudFiles enables both manual as well as automated file & folder management from HubSpot records. This includes browsing your connected storages (including Google Drive, SharePoint, CloudFiles storage etc...) from records, associating files & folders to records and performing various operaions such as upload, creating folders, preview, download etc... from the record itself.
To do these operations manually, check out the Doc Management Quickstart. For more details on the widgets available on the records, check the CloudFiles Connected Folder Widget article.

We have various tutorials available that talk about automated folder creation & management processes as well. You check our tutorial on Automated Folder Hierarchies to undertsand how to auto create folders and sub-folders on record creation / update. The tutorial on Mirror Deal Folder to Contacts Automatically talks about how to make a parent folder visible on all child records.
## Collecting list of documents
Document sharing is a two-way street. While you might be sharing docs, you might also be collecting docs in various ways. Clients might be sending you documents through emails, uploading them on forms etc... With CloudFiles you can unify your document collection using various techinques.
If you are already collecting documents using HubSpot forms, you can check out the article on Move Files from HubSpot Forms to External Storage to automatically move & organize your files.

Dataroom file request blocks in CloudFiles can be used to collect files and automatically push them to a specific folder in an external storage of your choice. For details on using the dataroom & file collection feature manually, refer to our article on Dataroom Management in HubSpot.
You can auto create datarooms and auto add file request block(s) to them with custom destinations using CloudFiles workflow actions. Our tutorial on Collecting sensitive documents talks about this use-case in the most basic form.
You can also create highly customized collection portals. E.g. Selective File collection portal talks about an automation through which you can decide which file requests to add based on manual selection in a checklist. Document approval process talks about setting custom approval processes with client communication when uploads happens. File Upload Portal for clients talks about setting up a self updating dataroom so that clients can access the files that they upload.

## Sharing marketing documents & getting analytics
Sales and service teams might need to share many marketing documents from a common marketing library. CloudFiles enables this by allowing library browsing & sharing from records. For more details, check out our quick start on Doc Sharing From Records Quickstart.
Additionally, you can also create File Portals for Sales & Service teams and edit them individually on records while maintain a single link of sharing. This provides a great option for sharing hybrid marketing as well as personalized material to individual contacts.

You can also setup Automated Internal Notifications when file view, upload events happen, thus reducing turnaround time for your team.
## Sharing sales / service documents securely
While the above sections talk about more generic sharing that is applicable to any external stakeholder, sales & service teams usually need more secure sharing since they deal with confidential data.
CloudFiles allows various security settings on it's links. You can apply expiry, passpower protection and email walls. You can enable email authentication and setup an allow / block list as well.
You can read about these in the articles on File link security using HubSpot as well as Send secure collaterals using Email Verification.

## Sharing documents via HubSpot customer portals
In the various tutorials and articles referred above, the automations talk about how the sharing link can be copy pasted in a property. You can use these properties woth your customer portal pages to setup personalized sharing for your portal users.
Additionally you can also leverage the CloudFiles API for your own custom built pages.
## Generating sales/ service documents
Sales & service teams often need to generate personalised proposals, agreements, onboarding documents invoices and operational documents using HubSpot data. CloudFiles Document Generation enables teams to create such documents directly from HubSpot records using pre-defined templates. For more details, check out our quick start on Doc Generation Quickstart.
Templates can include HubSpot properties, associated records, images, tables and conditional sections. Documents can then be generated manually from HubSpot records or automatically from HubSpot workflows. Generated documents can also be stored in connected cloud storages, shared securely using CloudFiles sharing links or sent for signature through CloudFiles eSignature Integration
## What Next?
You can go back to the Quick Starts article and check out our other quick starts on marketing / CMS users or the product wise quick starts. You can also go to the Features section explore the features in detail or head over to the Tutorials section to learn how to build various use cases using CloudFiles.
---
# Admin Quick Start
https://help.cloudfiles.io/hubspot/admin-quick-start
# Admin Quick Start
This article provides a complete overview of the CloudFiles HubSpot Integration settings for admins and users managing pricing, storage connections, document sharing, licenses, and account/HubSpot settings.
> Kind: Quick start · Updated: Jun 4, 2026
This article provides a complete overview of the CloudFiles HubSpot Integration settings. It is designed to help admins and users understand how to manage pricing, connect storage accounts, configure document sharing rules, assign licenses, and adjust account or HubSpot-specific settings.
In the sections that follow, we’ll cover:
- Pricing Quick Info – How licenses, products, tiers, and add-ons work.
- Accessing Dashboard – Where admins can access and manage settings.
- Doc Management Settings – Connecting storage accounts, managing libraries, and handling conflicts.
- Doc Sharing Settings – Configuring link creation, branding, compliance, and viewer options.
- License & Billing Settings – Managing user licenses, subscriptions, and billing.
- Account Settings – Updating account info, API keys, and subscription details.
- HubSpot Settings – Managing app logs, permissions, and app cards in HubSpot.
## Pricing Quick Info
The CloudFiles HubSpot Integration is priced in a way that you only purchase what you need. The pricing structure is built around a few core concepts. Licenses, Products, Tiers & Add-Ons.
You purchase license(s) for your users by deciding the Product(s) and Tier you need. All the purchased licenses will be on the same Product(s) and tier. Only users who will be using CloudFiles functionlaity through HubSpot need a license (i.e. all HubSpot users do not need a license). There is no limit on minimum licenses.
Each license offers some credits on things like views, automations etc... These can be extended using add-ons. Discounts are available for annual & bundled purchases.
Licenses start as low as $5 / user / mo for document management business plan. Add-ons start as low as $10 / mo. Refer to our Subscription Plans guide for more info on this.
## Accessing Dashboard
For admins, it’s easier to access the dashboard settings by logging in at https://app.cloudfiles.io. For more options, refer to this article How to go to the CloudFiles App Dashboard?

## Doc Management Settings
The Document Management settings are used to connect cloud storage accounts and define how files and folders are handled. In this, you can connect supported storages for automations, manage libraries, and set rules for handling duplicate files or folders. Refer to the Doc Management Settings articles for more information.

## Doc Sharing Settings
The Document Sharing settings allow you to configure how links are created, branded, and secured when sharing files through CloudFiles. These settings apply at the account level, but users can still adjust options at the individual link level if required. Refer to the Doc Sharing Settings for more information.

## Doc Generation Settings
Connect docusign, manage templates and view version history using the Doc Generation tab on CloudFiles webapp dashboard.

## Account Settings
You can click on the Gear button at the top right corner to access the Account settings page. The Account Settings section includes options to manage your account information, billing, subscriptions, licenses, and API keys. Refer to the Other Account Settings article for more information.

## License & Billing Settings
The License and Billing settings let you manage user licenses and subscription details for Document Management and Document Sharing. Refer to the License & Billing Settings article for more information.

## HubSpot Settings
CloudFiles settings in HubSpot can be managed from the Connected Apps section. The App Log records connection activities with user and time details.
The App Access and Permissions lists the granted permissions, including CRM data, workflows, files, tickets, form submissions, and timeline events.
The App Cards define where CloudFiles appears in HubSpot (e.g., contacts, companies, deals, or tickets), and you can manage their placement from this section.

---
# CloudFiles Glossary - Important Keywords
https://help.cloudfiles.io/hubspot/cloudfiles-glossary-important-keywords
# CloudFiles Glossary - Important Keywords
Get acquainted with the terms used by CloudFiles to make your secure file sharing easier.
> Kind: Quick start · Updated: Sep 4, 2026
Get acquainted with the terms used by CloudFiles to make your secure file sharing easier.
## CloudFiles
CloudFiles is a secure file sharing and analytics webapp for businesses. It converts your files to secure links, that provides analytics about content engagement and assists your Salesforce or HubSpot CRM to create powerful automations based on “file viewed” event.
It has one click sync with your favorite Cloud based drives like Google Drive, One Drive, Box, Dropbox and SharePoint. If you have your own AWS you can connect it with CloudFiles and save on additional storage cost.
### Admin
The admin is a power user in CloudFiles. They have the power to assign licenses to users, invite new users and manage other administrative settings.
### User
A user is anyone who is operating a CloudFiles license. They have access to all the features, however they do not possess any administrative rights.
### Link
A link or url is a reference text which a user can click to access your data and in CloudFiles' context, it connects your files to simple text.
## Analytics
CloudFiles provides deep page by analytics for your secure CloudFiles links. This is available in the analytics section.
### Total Downloads
Total downloads signifies the total number of times your file has been downloaded.
### Total Time
Total time is the sum of the time of all the individual view sessions on your file.
### Total Views
Total Views is the sum of all the individual views on your file. If your file was viewed by the same person twice, it will be counted as two views.
### Unique Views
Unique Views are those views on your file that were done by different people. If your file was viewed twice by the same person, the unique view will be counted as one.
### Sessions
A session is a group of interactions done by a user. In CloudFiles' context it is a view activity conducted on your file.
## Content Library
The content library is the basic file repository for your files. You can upload files from multiple sources into the content library including your local storage and your favorite Cloud based drives.
In CloudFiles, there is a storage limit for files, and it's based on the fair usage policy.
### Files
A file is any object in which you store your data, information, settings or commands. All types of files are supported on CloudFiles. CloudFiles makes the distinction between Renderable Files and Non-Renderable files.
Renderable files are those which can be opened in a browser eg. pdfs, ppts, videos, excel, word, etc.
Non-Renderable Files are those which cannot be opened in a browser eg. zip files or .exe files.
Both Renderable and non-Renderable files can be shared via CloudFiles, however the non-Renderable files can only be downloaded whereas the Renderable files can be downloaded as well as be viewed on the CloudFiles viewer.
### Folder
Folders are simply directories in the CloudFiles content library. Folders can contain both files and folders.
## Data Room/ Virtual Data Room
Data Room is a secure file storage space for your business documents. A virtual Data Room (VDR) is a secure online repository for document storage and controlled distribution. It's a storage space that multiple authorized people can access simultaneously. It's meant to share your documents in its finalized state without any further requirements of editing.
## Link Settings
Link Settings in CloudFiles contain 4 major sections namely: status, expiry, security and notifications.
### Disable Downloads
If you have enabled downloads on the CloudFiles links that you have created, your recipients will be able to download your files. If you do not wish to let them download your files, you can turn off that setting.
### Expiry Settings
CloudFiles lets you preset the time when you wish to disable your file from viewing. This can be based on a certain number of views or simply the time after which it would not be available for viewing.
### Password
A password is any key that can be used to protect your file from unauthorized views. If this setting is enabled only a person with the key can view your file.
## White-Label
White-labeling with CloudFiles is a Custom Branding feature of CloudFiles. We allow our users to set custom domains, sub-domains and add their logo to the CloudFiles viewer.
### Domain/ Sub Domain
A domain name is a string of text that directs users to its website data. A sub domain is additional information provided over the domain to specify part of the website — for example, in www.cloudfiles.io/blog, the domain is “cloudfiles” and the subdomain is “blog”. CloudFiles lets you set custom domains and subdomains as per your wish on our CloudFiles file viewer.
## Integrations
CloudFiles is made with a customer process first approach where we try to minimize changes in your existing workflows while providing your team with powerful business file sharing features. We are available directly in your CRMs — HubSpot and Salesforce.
## Mirrored Library
CloudFiles content library is the central hub of files in the CloudFiles ecosystem. You can manually import files into it. However, with Mirrored Library you can directly sync your Cloud based drives like Google Drive, One Drive, SharePoint, Dropbox and Box with CloudFiles.
So, now your files will be immediately synced whenever there are changes in your original files. This feature will save tons of time from your workforce's productive hours.
---
## Salesforce: Document Management & Sharing
---
# Document Management & Sharing
https://help.cloudfiles.io/salesforce/document-management-and-sharing
# Document Management & Sharing
Your go-to resource for installing, configuring, and maximizing the CloudFiles document management tool within your Salesforce org — efficient document storage, secure sharing, and powerful automation across multiple cloud storage platforms.
> Kind: Guide · Updated: Jul 9, 2026
This guide is your go-to resource for installing, configuring, and maximizing the CloudFiles document management tool within your Salesforce org. Whether you're setting it up for the first time or looking to streamline your document management workflows, this documentation will walk you through everything you need. CloudFiles integrates seamlessly with Salesforce, enabling efficient document storage, secure sharing, and powerful automation across multiple cloud storage platforms.
Get started with these key sections:
- Installation: Setting up CloudFiles in your Salesforce instance — installing the package from the Salesforce AppExchange, understanding the components included, and reviewing the technical requirements to ensure compatibility.
- Configuration: Set up and customize the app to fit your business needs — connect your Salesforce org to a CloudFiles account, integrate external storage providers like SharePoint, Google Drive, and AWS, and manage user permissions.
- Features: The powerful features of CloudFiles in Salesforce, including custom widget flow actions, automation, and more.
- Sharing Add-On: The document sharing add-on enhances CloudFiles document management by enabling secure, customizable links for external file or folder access — setup, access controls, and activity tracking for shared documents.
- Experience Cloud: How CloudFiles integrates with Salesforce Experience Cloud to securely share files and folders with external users — enabling Experience Cloud sharing, configuring permissions, and using CloudFiles widgets on Experience Cloud pages.
---
# Installation (Document Management & Sharing)
https://help.cloudfiles.io/salesforce/4kRV-installation
# Installation
The Installation section guides you through setting up CloudFiles in your Salesforce org, ensuring a smooth onboarding process.
> Kind: Guide · Updated: Jul 4, 2026
The Installation section guides you through setting up CloudFiles in your Salesforce org, ensuring a smooth onboarding process. This allows you to seamlessly leverage CloudFiles for document management and automation.
CloudFiles is a robust document management platform that integrates with multiple external storage solutions. Before you begin, ensure you meet the technical requirements and are familiar with the components included in the package.
This section is divided into three key sub-sections -
## 1 - Installing from the Salesforce AppExchange
The CloudFiles managed package is available for installation from the Salesforce AppExchange. This subsection covers:
- Pre-requisites – Ensure you have System Administrator access.
- Step-by-step installation guide – From finding CloudFiles on AppExchange to approving third-party access.
- Post-installation steps – After installation, proceed with configuration to set up your CloudFiles account and storage integrations.
## 2 - What's in the Package ?
When you install CloudFiles, you get access to various tools and features designed to enhance your document management experience. This subsection covers:
- CloudFiles Lightning App & Classic App – Access CloudFiles from Salesforce’s App Launcher or in Salesforce Classic.
- Lightning Web Component (LWC) Widgets – Embed CloudFiles on salesforce pages for seamless file and folder management.
- Custom Permissions – Control user access with predefined roles (Admin, Standard, External User).
- Flow Actions & Components – Automate document-related processes using Salesforce Flows and CloudFiles Event Records.
- Document Sharing Add-on – Share files with detailed tracking and analytics directly from Salesforce.
- Apex Support – Extend CloudFiles functionality with custom Apex code.
## 3 - Technical Requirements
Before installing CloudFiles, ensure your Salesforce edition, product, and browser meet the requirements. This subsection details:
- Supported Salesforce Editions – Enterprise, Unlimited, Performance, Developer.
- Compatible Salesforce Products – Works with Sales Cloud, Service Cloud, Field Service, Financial Services Cloud, and more.
- Supported Browsers & Mobile Compatibility – Works with Chrome, Firefox, Safari, Edge, Internet Explorer 11, and is optimized for the Salesforce Mobile App and FSL Mobile App.
Once installed, proceed to the Configuration Section to set up CloudFiles for your organization!
> **Note** — If you're on a paid plan, reach out to the CloudFiles support team for further assistance, at - support@cloudfiles.io
---
# Installing from the Salesforce AppExchange (Salesforce: Document Management & Sharing)
https://help.cloudfiles.io/salesforce/MDoV-installing-from-the-salesforce-appexchange
# Installing from the Salesforce AppExchange
CloudFiles | Document Management & Sharing Platform is available to install from the Salesforce AppExchange.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles | Document Management & Sharing Platform is available to install from the Salesforce AppExchange.

> **Prerequisites** — You must have System Administrator credentials to install an application from the AppExchange.
## Installation Steps
- Go to the CloudFiles | Document Management & Sharing Platform listing on the Salesforce App Exchange, and click on "Get It Now".

- Log in to the AppExchange.
- Specify where you want to install
- Click Install in production to install in your production instance.
- Click Install in sandbox to install in a sandbox.

- Confirm the Installation Details
- Check "I have read and agree to terms and conditions"
- Click "Confirm and Install"

- This redirects you to Salesforce login page to continue the installation.
- Choose who to install CloudFiles for, Select "Install for Admins Only".

- Don't worry, all your users will be able to access CloudFiles. We select this option to better control the permissions for all users.
- Approve Third-Party Access
- Check "Yes, grant access to these third-party websites"
- Click "Continue"

- Read Why are various third party accesses asked during installation for information.
- The App may sometimes take long time to install, jclick "Done". You will recieve an email after the installation is completed.

> **Post Installation** — After installing, you must finish the steps listed in Configuration based on your business use case.
---
# What's in the Package ?
https://help.cloudfiles.io/salesforce/pDIg-whats-in-the-package
# What's in the Package ?
Overview of what's included in the CloudFiles managed package for Salesforce, covering the Lightning and Classic apps, the LWC widget, FSL mobile action, permission sets, Document Sharing Add-on, Flow actions/components, events, and Apex.
> Kind: Guide · Updated: Jul 4, 2026
When you install the CloudFiles | Document Management & Sharing Platform managed package, you'll gain access to a suite of powerful tools and components designed to streamline document management within Salesforce. Here's what's included:
## CloudFiles Lightning Experience App
The CloudFiles app is accessible via the App Launcher in Lightning Experience. This app enhances productivity by allowing users to seamlessly switch between apps and includes all admin related pages.

The Lightning app includes Lightning page tabs of utilities like "Document Management", "Content Library" and "Settings". You can even append other navigation items to the Lightning app that you find relevant.

Manage the App: Edit and configure the app in App Manager under Lightning Experience Setup.

## CloudFiles Classic App
For users on Salesforce Classic, the CloudFiles app remains accessible through its app tabs, ensuring seamless functionality across both interfaces.

## Lightning Web Component (LWC)
The CloudFiles widget is a powerful Lightning Web Component that can be seamlessly added to any Salesforce standard or custom Lightning pages. It allows users to link folders from external storage platforms such as SharePoint, Google Drive, OneDrive, Box, Dropbox, or AWS S3. Once linked, users can perform various operations directly from the widget, including viewing, searching, previewing, editing, downloading, sharing files, and uploading content to external storage.

This widget supports automation for processes like folder creation, linking, and sharing using Salesforce Flows. It can also be customized to meet specific needs, such as restricting file deletion, displaying selected metadata columns, or enforcing mandatory fields for file uploads. Additionally, multiple folders or files can be linked to a single Salesforce record, with automation making this process even more efficient. The widget also facilitates secure file sharing with community and external users while enabling detailed analytics on file interactions.
## Field Service LWC Action for FSL Mobile App
The CloudFiles widget can also be added as a Lightning Web Component Action to Salesforce objects. This allows Field Service Mobile App users to view and interact with attached folders directly from their mobile devices.

## CloudFiles Permission Sets
The CloudFiles app includes custom permissions to control access to its features. These permissions are grouped into three predefined permission sets:
- CloudFiles Admin User: Full access, including admin-level settings.
- CloudFiles Standard User: Full functionality for internal users, excluding admin features.
- CloudFiles External User: Suitable for Experience Cloud (community) users.
Permission sets are auto-assigned upon installation but can be manually reassigned via Setup > Permission Sets > Manage Assignments. You can also create custom permission sets tailored to your needs.
## Document Sharing Add-on
The Document Sharing Add-on lets you share files and folders directly from Salesforce using CloudFiles. Attach files or folders from cloud storage providers like Google Drive, SharePoint, or Dropbox to Salesforce records, then create secure sharing links with customizable settings.
Track engagement with detailed analytics, including opens, time spent, and user-specific insights, all within Salesforce. The add-on also integrates with Salesforce Flows, enabling automated link creation and configuration for streamlined processes.
## Flow Actions and Components
The package includes CloudFiles Flow Actions and Screen Flow Components, enabling Process automation through Flow Builder and Dynamic user interfaces with Screen Flows.

## CloudFiles Events
CloudFiles supports event-driven automation with:
- Platform Events: Trigger events for operations related to CloudFiles functionality.
- Event Records: Automatically create custom "CloudFiles Event" records, which can be leveraged in workflows and triggers.
## Apex
Extend CloudFiles functionalities using Apex to build advanced, custom integrations for your Salesforce org.
---
# Technical Requirements
https://help.cloudfiles.io/salesforce/technical-requirements
# Technical Requirements
To install and successfully use CloudFiles | Document Management & Sharing Platform, you must have one of the following from each category.
> Kind: Guide · Updated: Jul 4, 2026
To install and successfully use CloudFiles | Document Management & Sharing Platform , you must have one of the following from each category.
## Salesforce® EditionLink to Salesforce® Edition
- Performance / Unlimited
- Enterprise
- Developer
## Salesforce® ProductsLink to Salesforce® Products
- Sales Cloud
- Service Cloud
- Force.com / App Cloud
- Health Cloud
- Field Service
- Financial Services Cloud
## Internet Browsers (latest stable version of)
- Firefox®
- Chrome®
- Internet Explorer® (version 11 or the latest version supported by Salesforce)
- Safari®
- Microsoft Edge
## Mobile
- Compatible with Salesforce Mobile App
- FSL Mobile Application (Android and iOS)
- all mobile browsers
---
# Configuration (Document Management & Sharing)
https://help.cloudfiles.io/salesforce/configuration
# Configuration
Landing page for CloudFiles Document Management setup in Salesforce: account setup, storage/library configuration, user management, and widgets.
> Kind: Guide · Updated: Jul 4, 2026
This section is the foundation for using CloudFiles in Salesforce. It guides you through setting up your CloudFiles Account, Integrating External Storage solutions, and Managing Users and much more.
## 1 - CloudFiles Account Setup
CloudFiles Account Setup
Before you can start using CloudFiles, you need to connect your Salesforce Org with CloudFiles. This section covers:
- Connecting Your Salesforce Org – Step-by-step process to set up your CloudFiles account.
- Verifying Account Status – Confirm your CloudFiles account details and connection status in the Settings tab.
Once the account is successfully connected, you can explore CloudFiles features and integrate external storage solutions.
## 2 - External Storage / Library Configuration
External Storage / Library Configuration
CloudFiles integrates with multiple external storage providers, allowing users to manage documents directly within Salesforce. This section covers:
- Library Setup - Connect SharePoint, Google Drive, OneDrive, AWS S3, Azure Blob, Box, Dropbox, MS Teams, and CloudFiles Storage.
- Library specific settings - Choose the libraries you want to work with and configure them based on your needs.
## 3 - User Management
User Management
Controlling user access and permissions is crucial for maintaining security and efficiency. This section covers:
- User Permissions – Define and assign roles (Admin vs. Standard User) to control access.
- License Management – Manage CloudFiles user licenses to ensure only authorized users have access.
- External Library Access – Enable users to log into their external storage accounts and access files.
Once your configuration is complete, CloudFiles will be fully functional within Salesforce, providing a streamlined and secure document management experience!
## 4- Adding CloudFiles widgets to Salesforce Classic
Adding CloudFiles widgets to Salesforce Classic
CloudFiles Lightning widgets can also be added to Salesforce Classic, providing the same Lightning look and feel. This article shows how to add the ‘Connected Folder’ widget to an Account Page, a process applicable to other widgets and the content library tab as well.
## 5- Settings
Settings
The Settings page in the CloudFiles Salesforce app allows admins to configure event publishing and external library access. It lets you choose which file actions trigger Salesforce events and whether users connect with personal or shared service credentials.
---
# CloudFiles Account Setup (Salesforce: Document Management & Sharing)
https://help.cloudfiles.io/salesforce/1-9A-cloudfiles-account-setup
# CloudFiles Account Setup
Once CloudFiles | Document Management & Sharing Platform is installed successfully in your Salesforce instance, you will need to setup a CloudFiles Account for the Salesforce Org.
> Kind: Guide · Updated: Jul 4, 2026
Once the CloudFiles CloudFiles | Document Management & Sharing Platform is installed succesfully in your Salesforce instance, you will need to setup a CloudFiles Account for the Salesforce Org.
You can setup the CloudFiles app from within Salesforce by following the below steps.
- Click on the App Launcher (9 dots icon) on top left of Salesforce and search 'CloudFiles'.

- You will land on the "Home" Tab of the CloudFiles App
- Before connecting your Salesforce org to CloudFiles, select your preferred data region from the dropdown. Your data will be stored in your selected data region's data centers. We currently support the following regions:
- USA (default)
- Australia
- European Union
- United Kingdom
> **Note** — This region selection determines where all your CloudFiles data (accounts, attachments, resource details, etc.) is stored and ensures your data never leaves the selected region for compliance with data residency requirements.

- Once you've selected your region, click on "Setup" button to connect your Salesforce org to CloudFiles.

- This pops the "Allow Access ?" prompt. Click "Allow".

- This connects your Salesforce Org with CloudFiles.
You can confirm the Account details and connection status in the "Settings" Tab.

---
# User Management (Salesforce: Document Management & Sharing)
https://help.cloudfiles.io/salesforce/user-management
# User Management
Explains User Management in CloudFiles Document Management: user permissions, license management, and external library access in Salesforce.
> Kind: Guide · Updated: Jul 4, 2026
User Management in CloudFiles ensures that users have the right access, licenses, and permissions to efficiently manage documents within Salesforce. It covers three key areas:
## User Permissions
Defines what actions a user can perform within CloudFiles.
## License Management
Controls the activation and assignment of CloudFiles licenses to Salesforce users.
## External Library Access
Manages how users connect to and interact with external storage systems like SharePoint, Google Drive etc. within Salesforce. Each CloudFiles user must have the correct permissions and an active license to use CloudFiles features. Admins can assign these through permission sets, manage licenses via the User Management page, and configure access to external storage for seamless document handling. For detailed configurations, refer to the respective subsections.
---
# User Permissions (Salesforce: Document Management & Sharing)
https://help.cloudfiles.io/salesforce/user-permissions
# User Permissions
The CloudFiles Document Management & Sharing Platform installed package includes custom permissions to control access to various features, plus default permission sets based on commonly used combinations.
> Kind: Guide · Updated: Jul 4, 2026
The CloudFiles Document Management & Sharing Platform installed package includes custom permissions to control access to various features. Additionally, we provide default permission sets based on commonly used permission combinations.
## CloudFiles Custom Permissions
CloudFiles offers granular permissions to manage access and functionality. Below is a list of these permissions:

- Superadmin - Allows a user to manage everything with regard to CloudFiles Document Management.
- Connect or disconnect files & folder - Allows a user to link/unlink a file or folder to a record in Salesforce
- Connect files & folder - Allows a user to only link a file or folder to a record in Salesforce
- Disconnect files & folder - Allows a user to only unlink a file or folder to a record in Salesforce


- Create Folder - Allows user to create sub folders inside a record's connected folders. In the UI, it controls the visibility of following action

- Delete Files & Folders - Allows a user to delete a file or a folder from record page. This also deletes the files in the underlying external storage. In the UI, it controls the visibility of following actions

- Upload Files - Allows a user to upload files through the CloudFiles widget. In the UI, this permission controls the visibility of "Upload Files" button & "Drag and Drop" functionality

- Allow Download - This permissions allows a user to download files from CloudFiles widget or the file preview window.

- Update Files & Folders - Allows a user to rename a file or folder or update any metadata properties or columns.

- Share Files & Folders - Allows a user to share files & folders externally, using a CloudFiles sharing link. For a file already shared, this permissions also controls the access for updating link settings

- Allow Sharing with Community - Allows an internal person to share a particular file/folder with community users or experience cloud users.

- View Analytics - If a file/folder is being shared externally using a CloudFiles link, this permission allows a user to view analytics like who is looking at the file/folder, how much time they're spending on it etc. from the "shared-links" widget.

- View Sharing Settings - If a file/folder is being shared externally using a CloudFiles link, this permission allows a user to view the settings of the link, like who can access the link, if there is a password on the link etc.

## Permission Sets
CloudFiles comes with few pre-packaged permission sets. You can always create a custom permission set using CloudFiles permissions described above.
- CloudFiles Admin User - This permission set is suitable for admins who should have access to all CloudFiles functionality within Salesforce, including billing. It contains all the permissions listed the image below:

- CloudFiles Standard User - This permission set is suitable for all internal users (company employees) who should have access to all CloudFiles functionality except admin level features. It contains all the permissions listed the image below:

- CloudFiles External User - This permission set is suitable for experience cloud users(community users). It contains all the permissions listed the image below:

- CloudFiles Field Service User - This permission set is suitable for field service users . It contains all the permissions listed the image below:

## Permission Set Assignment
To reduce the setup time, CloudFiles automatically assigns following permission sets on installation -
- CloudFiles Admin User - This is assigned to all users with "System Administrator" profile
- CloudFiles Standard User - This is assigned to all internal users except administrator
You can manage these assignments according to your needs.
> When new users are added to your Salesforce org, they would need to be assigned CloudFiles permissions manually. You can also setup a flow to automatically do it when users are added. Please feel free to reach out to us for any help regarding this.
To manually assign permission sets, please follow the steps below
- Go to Setup > Permission Sets.
- Select appropriately among the available default package permission sets or custom permission sets.
- Click on Manage Assignments. Then Click Add Assignment. Choose the users you want to add the selected permission set for.
- Follow the prompts to finish the assignment process.
---
# License Management (Salesforce: Document Management & Sharing)
https://help.cloudfiles.io/salesforce/license-management
# License Management
CloudFiles License Management in Salesforce allows admins to monitor license usage and control which users have access to CloudFiles features.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles License Management in Salesforce allows admins to monitor license usage and control which users have access to CloudFiles features.
Once the necessary permissions are assigned to Salesforce users, any interaction with the CloudFiles Lightning App or its Lightning Web Components (LWCs) will create a corresponding CloudFiles User. Alternatively, Admins can also explicitly assign licenses to users directly from the User Management page using the Manage Users option.
## Viewing CloudFiles Users
You can view all CloudFiles users from the User Management page under the Document Management tab of the CloudFiles app. The page shows the total number of active licenses and the total licenses allocated to your org.
Each user entry displays their name, email address, and current license status (Active or Inactive).

A Salesforce user must have an "Active" CloudFiles User status to access CloudFiles functionalities. If an "Inactive" user attempts to interact with a CloudFiles LWC, they will receive a "You need CloudFiles license to access this widget" message.

To activate or deactivate a user:
- Click the pencil (edit) icon next to the License Status column.
- Select Active or Inactive from the dropdown.
- Click Save to apply the changes.

> **Note** — If despite having an active license the user is not able to interact with the widget, please confirm if the permission set has been correctly assigned to the user. Having either the 'CloudFiles Admin User' or 'CloudFiles Standard User' permission set is mandatory for any user to be able to interact with CloudFiles functionality.
## Managing Users
Clicking Manage Users on the User Management page opens a detailed view of all Salesforce users in your org. This view includes additional columns: Profile and Role, and supports filtering by both columns to help you find and manage users more efficiently.

To activate or deactivate a user, locate them in the list and toggle their license status accordingly.
## License Limitations
The number of active CloudFiles users cannot exceed the total licenses allocated to your Salesforce org. If you try to activate more users than your license count allows, you will be prompted to purchase additional licenses.

## Buying Licenses
You can add CloudFiles product licenses directly from the User Management page by clicking the Buy Licenses button in the top right. Any new licenses are immediately available for use and will be reflected in your billing as per your invoice. This lets you scale usage instantly without waiting for manual provisioning.

---
# External Library Access
https://help.cloudfiles.io/salesforce/external-library-access
# External Library Access
Any Salesforce user with the necessary User Permissions and an active license can access an external storage library configured by an admin, via the Content Library tab or CloudFiles LWCs.
> Kind: Guide · Updated: Jul 4, 2026
Any Salesforce user with the neccessary User Permissions and an active license can access an external storage library configured by an admin. Users can do this through the Content Library tab in the CloudFiles App or via CloudFiles LWCs embedded on Lightning pages.
## Connecting to External Storage
Each new CloudFiles user must log into their external storage account (e.g., SharePoint, Google Drive) to access the external storage library.
- This one-time login ensures access to storage with the same permissions as their external storage user account.
- Once connected, the user can seamlessly access external storage files and folders within Salesforce, either via the Content Library tab or CloudFiles LWCs on record pages.
### Steps to Connect External Storage
- Navigate to the Content Library tab in the CloudFiles App.
- Select the configured external library (set up by an admin) from the dropdown.
- Click the Connect button and log into the external storage account.

Once logged in, the user can:
- Browse and manage files/folders from the Content Library tab.

- Perform actions like upload, create folders, move, delete, share, or view metadata (Drive ID, Resource ID, etc.).

- Switch between libraries using the dropdown.
- Log out and connect a different account via the gear icon at the top-right corner.

> If the Salesforce user has not logged in yet, they will be prompted to connect their external storage when using the CloudFiles LWC widget on record pages.

## Access Control
The access to the contents of external storage depends on the user's External Storage account connected.
- If a user does not have access to a specific resource, they will see the message: "You do not have access to this particular resource." or "Something went wrong"

- Login is per user and must be done individually for each CloudFiles user with an active license.
## Service Account (Admin-Controlled Access)
For admins who prefer a common external storage account across all users, CloudFiles offers a Service Account mode.
- To enable this, go to Settings > Document Management Tab and turn on: "Use service account for library access."
- This allows all users to access the external library using a shared integration user account (configured by the admin).
- All users will have the same level of access as the Integration user.
> **Note** — Every user interacts with the widget through the service account, which means all create, read, update, and delete (CRUD) operations are performed using the integration user's permissions.

## Experience Cloud Users
- Community users (Experience Cloud users) do not need to connect their own external storage accounts.
- Access is controlled based on sharing settings configured by the admin.
- To enable Experience Cloud sharing, turn on: "Enable sharing with Experience Cloud Users" in the Experience Cloud page of the Document Management tab.
- Enabling this option allows you to share documents with Experience Cloud users and manage the sharing via the Share With Community User or Remove from Community flow actions.

### Automatic Sharing for Experience Cloud Users
- If you want to automatically share files attached to a record with Experience Cloud users, enable: "Automatically share files with Experience Cloud users when attached to a record."
- This ensures files connected to a record are immediately accessible on Experience Cloud record pages via CloudFiles LWCs.

---
# Adding CloudFiles widgets to Salesforce Classic
https://help.cloudfiles.io/salesforce/adding-cloudfiles-widgets-to-salesforce-classic
# Adding CloudFiles widgets to Salesforce Classic
Learn how to add the 'Connected Folder' widget to your Salesforce Classic Account Page with this step-by-step guide.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles provides a number of Lightning web components that make it easy for Salesforce Lightning users to access and share their files from cloud storages inside Salesforce. At the same time, a number of Salesforce users still use Salesforce Classic. For this reason, we provide Salesforce classic support, such that these lightning widgets can be inserted into Salesforce classic pages, with exactly the same look and feel of Salesforce lightning.
In this article, we will be adding the 'Connected Folder' widget onto a Account Page in Salesforce classic. The same process can also be used to insert other widgets or access the content library tab in Salesforce classic as well.
Follow the steps below to add the 'Connected Folder' widget onto a Account Page in Salesforce Classic -
- Create Visualforce page - Here we create a Visualforce page that will contain the folder widget markup.
- Add section to Account page- We will edit the layout of an Account page and add a section which acts as a cotainer for our Visualforce page.
- Add Visualforce page to section- In this section, we add the Visualforce page on our Account page.
- See the widget in classic page- Finally, in this section we see the widget in action on a Salesforce classic page.
## Step 1 - Create Visualforce Page
- Go to Setup > Visualforce Pages > New Page
- Add a label and name (e.g. Account Folder Page)
- Copy & Paste the Visualforce Markup code from below
- Update 'ObjectName' in the markup to your object name (e.g. Account)
- Save
Use this code for the visualforce markup -
```xml
```
The VisualForce Page we created is shown below -

Now that your Visualforce page is ready, we will insert it on the Account Object.
## Step 2 - Add Section to Account Page
Before we can add the Visualforce page, we will need to add a section on the account page. This section acts as a container for our Visualforce page.
First open the layout editor of the page you want to insert the widget on. Go to an any record of that object type (e.g. we went on an Account called CloudFiles) and click the 'Edit Layout' button on top right. This is shown below -

In the layout editor, follow the simple steps below to add a section -
- On the top navigation panel, go to "Visualforce Pages"
- Drag and drop a section component on the green area
- Give your section any name (e.g. 'Internal Files', 'Folder' etc...)
- Uncheck 'Edit Page' and choose 1-column layout
The section properties we used are shown below.

Now that we have our container setup, we only need to add the visualforce page into this.
## Step 3 - Add Visualforce page to Section
In the navigation panel, you will also see the Visualforce page that we created in step 1. Simply drag and drop that component onto this section. Set height to 400 and width to 100% as shown below.

Click OK and you are all done!
## Step 4 - See the widget in classic page
Now that we have everything setup, we can simply go to any account page work with the widget just like we do on in Salesforce Lightning.

Check out all our LWC components to see what else you can do in Salesforce Classic.
---
# Settings (Salesforce: Document Management & Sharing)
https://help.cloudfiles.io/salesforce/settings
# Settings
The Settings page in the CloudFiles Salesforce app (under Document Management) lets admins configure event publishing and external library access.
> Kind: Guide · Updated: Jul 4, 2026
## Overview
The Settings page in the CloudFiles Salesforce app (under Document Management) lets admins configure event publishing and external library access. From here, you can decide which file events generate Salesforce platform events and whether users connect with their own credentials or through a shared service account.

## Service Account for Library Access
By default, each Salesforce user connects to external storage with their own credentials. Enabling the Service Account option allows all users to access external file libraries using a single central integration user instead of individual user credentials. To turn this on, navigate to the CloudFiles app -> Document Management -> Settings and enable "Use service account for library access."
All users will then have the same level of access to files and folders as the integration user, since all create/read/update/delete actions are performed with that account's permissions
> **Note** — For more details, refer to the Using a Service Account guide.
## Configure CloudFiles Event
CloudFiles can publish various events (both platform events and custom object events) in Salesforce to signal file-related actions. The Settings page now allows you to selectively enable or disable which CloudFiles events get published to Salesforce. This new feature provides finer control over your Flow automations – you can choose only the events you need, preventing unnecessary events from triggering Salesforce flows.
The following event types are currently supported with toggles in Settings:
- File Uploaded – Published when a file is uploaded to an external storage through CloudFiles in Salesforce.
- Resource Updated – Published when a file or folder's metadata/properties are updated via CloudFiles.
- Resource Moved – Published when a file or folder is moved to a different location in the external library via CloudFiles.
- Resource Deleted – Published when a file or folder is deleted from the external storage using CloudFiles.
This granular control allows admins to manage which CloudFiles actions should trigger Salesforce flows or processes, reducing noise and focusing on the events relevant to your use cases.
## Auto Assign Licenses
When enabled, this setting automatically assigns a CloudFiles license to the most recent Salesforce user who accesses any CloudFiles component (such as the widget or content library), provided the user already has a relevant CloudFiles permission set.
If the toggle is off, such users will still appear in the User Management list but with an Inactive (unassigned) license status. Users without any CloudFiles permission set will not be added as CloudFiles users at all, even if they access the widget or content library.
For details on assigning permission sets to users, see the User Permissions Guide.
---
# Features (Document Management & Sharing · Salesforce)
https://help.cloudfiles.io/salesforce/features
# Features
This section highlights the powerful features of CloudFiles in Salesforce, covering advanced functionalities like custom widget flow actions and automation.
> Kind: Guide · Updated: Jul 4, 2026
This section highlights the powerful features of CloudFiles in Salesforce. It walks you through using advanced functionalities like custom widget flow actions, automation etc.
- CloudFiles Widgets Guide - This article provides an overview of CloudFiles Widgets, built to streamline document management, generation, and AI processing within Salesforce. These widgets enable seamless interaction with documents directly inside Salesforce supporting both internal workflows and external file sharing, with flexible configuration options for different object types.
- CloudFiles Permissions - This article explains the custom permissions available in the CloudFiles app, which help control access to various features. It also introduces 3 pre-built permission sets based on common usage patterns which can be easily modified to fit specific organizational needs.
- Content Library - In this article, you will see how CloudFiles Content Library tab can be used to explore any supported external storage from within Salesforce.
- Field Service Lightning Support - This article explains how to set up a custom action in the Field Service Lightning app to integrate CloudFiles widgets. It outlines steps to create a Lightning Web Component action, apply specific widget configurations, and add the action to page layouts.
- Image Resize Feature - This article introduces the Image Resize feature in CloudFiles, which allows users to resize and compress images using shareable links and simple URL parameters.
- Using a service account - This article guides users on connecting external cloud storage services to Salesforce using a Service Account through the CloudFiles app. It explains how to access and explore Content Library, retrieve metadata, and share resources with Salesforce Public Groups. It also covers switching between Service and User Accounts for flexible document management and sharing.
- Utilize CloudFiles widget in Custom Screen Flows - In this section, we explain a common use case that demonstrates how to use the CloudFiles widget effectively with screen flows to display related files on a record.
- Widget Configuration Guide - In this article, we’ve covered how you can customize the appearance and behavior of the widget for each Salesforce object type using the Widget Configuration Settings. This guide walks you through the configuration options available for customizing the widget’s behavior and appearance.
- Widget Flow Actions in CloudFiles - Enhance automation with CloudFiles' Custom Actions through internal widgets in Salesforce, allowing you to trigger Screen Flows or Autolaunched Flows directly from the widget. You can configure both Resource Actions (for individual resources) and List Actions (for multiple resources) to streamline your document management workflows.
---
# CloudFiles Widgets Guide
https://help.cloudfiles.io/salesforce/cloudfiles-widgets-guide
# CloudFiles Widgets Guide
CloudFiles Widgets are modular components designed to integrate seamlessly with Salesforce, enabling efficient document management, document generation, and document AI functionalities.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles Widgets are modular components designed to integrate seamlessly with Salesforce, enabling efficient document management, document generation, and document AI functionalities. These widgets allow users to manage, generate, and process documents directly within their Salesforce environment, offering flexibility and control over various document-related tasks. Here is a comprehensive list of CloudFiles widgets designed to meet your diverse document management, generation, and AI processing needs.
- Content Library Widget - This widget centralizes document storage, making it easier to manage and organize shared files within a content library. It simplifies the retrieval and oversight of documents, making it easy to maintain a well-structured repository accessible to relevant team members. The Content Library Widget supports version control and metadata management, ensuring documents are up-to-date and easy to find.
- CloudFiles Uploader Widget - Used in screen flows, this component enables file uploads directly to external storage like SharePoint, Google Drive, or AWS S3, bypassing Salesforce storage. It simplifies the upload process and manages files efficiently within external repositories.
- Experience Cloud Widget - Ideal for external collaboration, this widget facilitates the sharing and collection of documents from Experience Cloud users. It ensures secure access and smooth document interactions with external stakeholders while maintaining data integrity within Salesforce. This widget is particularly useful when you need to engage with clients, partners, or vendors, providing them with a controlled environment to upload and download necessary files.
- Internal Record Widget - This widget is designed for managing documents within internal record pages in Salesforce. It provides internal teams with direct access to files linked to specific records, streamlining the process of organizing, viewing, and updating documents without leaving the record page. It supports efficient document workflows, ensuring that all related files are easily accessible and securely managed within the Salesforce interface.
- Embed CloudFiles widget in custom lightning web components - This article explains how you can embed cloudfiles widgets in your organization's custom code like any other packaged web component, highlighting the steps in detail.
To learn more about configuring each widget type, refer to the detailed articles linked above.
---
# Content Library Widget
https://help.cloudfiles.io/salesforce/content-library-widget
# Content Library Widget
The Content Library Widget in CloudFiles is designed to manage documents within a centralized content library page.
> Kind: Guide · Updated: Jul 4, 2026
The Content Library Widget in CloudFiles is designed to manage documents within a centralized content library page. It is ideal for organizing shared documents in one central location, making it easy to access, categorize, and maintain files for teams across an organization.
## Widget Configuration
Once you select the Content Library Widget type, you'll be guided to further settings to customize the widget according to your requirements. The image below shows how this setting looks like.

## Key Configuration Fields
- Widget Type - Selected widget type
- Widget Config Name - Provide a unique name for this widget configuration for easy identification
- Widget Config Description - Detail the specific application or purpose of this widget configuration.
- Configurations: Create Folder, File Upload and Folder Upload.
- Widget Columns: Configure the columns to display in the widget.
- The widget supports configurable columns, allowing users to customize the displayed information.
- Click Add Columns to select the data fields (Name, Created By, Created On, Modified On) you want to display in the widget.
- File Click Behavior: This setting determines what happens when a user clicks on a file within the widget. Users can choose from the following options:
- Preview in Salesforce – Opens the file preview within Salesforce.
- Open within library in a new tab – Opens the document in a separate tab within the document library.
- None – Disables file click actions, requiring users to manually download files.
- Widget Base Path: This sets the default location for retrieving documents, ensuring organized content and restricted access to relevant files.
- Resource Actions: This defines custom actions at the resource level (individual file / folder level) that can be achieved with the help of flows.
- List Actions: This defines custom actions for multiple resources (files and folders) that can be achieved with the help of flows.
To read about these configuration fields in detail and understand how to implement them within your organization, please refer to the Content Library Widget Guide.

You can further configure the widget to support the following functionalities -
Create Folder: Allows users to create new folders within the connected external storage. For detailed instructions, refer to Create Folder.
File & Folder Upload: Enables users to upload individual files or entire folders directly to the external storage. For detailed configuration steps, please refer For detailed instructions, refer to File and Folder Upload.
> There are two seperate toggles for file and folder upload to ensure that if CloudFiles user does not want to allow folder upload to the internal widget, they can do so.
---
# CloudFiles Uploader Widget
https://help.cloudfiles.io/salesforce/cloudfiles-uploader-widget
# CloudFiles Uploader Widget
The CloudFilesUploader LWC lets users upload files from Salesforce screen flows directly to external storage platforms like Google Drive, SharePoint, or AWS S3 instead of using Salesforce's native storage.
> Kind: Guide · Updated: Jul 4, 2026
The CloudFilesUploader Component is a Lightning Web Component (LWC) designed to facilitate seamless file uploads within Salesforce screen flows. Unlike the standard Salesforce file upload feature, this component enables users to upload files directly to external storage platforms such as Google Drive, SharePoint, or AWS S3, helping manage Salesforce storage usage more efficiently.

When files are uploaded through the CloudFiles Uploader, their names/labels are visible, making it easier to track and manage uploaded documents.
> The uploaded files associated with a batch will not be visible upon reloading the page or after clicking "Finish." However, please be assured that the files have been successfully uploaded.

## Input Parameters
Let us discuss each of the input parameters in detail in the sections below.
### API Name
Please provide a unique name for the API component.
### Destination Parameters
These parameters are needed to specify the storage location. You can get these parameters by viewing metadata details for a folder in the “Content Library” tab of the CloudFiles app in Salesforce. To get the value of Destination Parameters, please refer to the Create Folder flow action.
- Library The library is the desired Cloud based drive where you wish to create the folder. This is a simple text field and you can enter one of these options - sharepoint, google, onedrive, dropbox, box, cloudfiles (for AWS S3).
- Drive ID Drive ID of the resource(to be copied) for SharePoint or Google Drive. This parameter is not needed for other storages.
- Folder ID This is the folder ID of the destination folder where the files will be copied.
### Upload Configuration Parameters
These parameters are available in the CloudFiles File Uploader screen flow component, giving admins greater control over what users can upload.
- Max Number of Files Limits how many files a user can upload in a single session. If left empty, uploads are unlimited.
- Max File Size (MB) Sets the maximum allowed size for each individual file. Any file exceeding the specified size will be rejected. If left empty, no size restriction is applied.

## Output Parameters
The component will return all the contents of the uploaded files as a Resource List.

> **Note** — Output is session-specific. When the page is refreshed or closed, the output will be reset.
## Use Case
The CloudFilesUploader component replaces the standard Salesforce file upload component in screen flows, enabling users to upload files directly to external storage.
---
# Experience Cloud Widget (Guide)
https://help.cloudfiles.io/salesforce/MPPL-experience-cloud-widget
# Experience Cloud Widget
The Experience Cloud Widget in CloudFiles is designed to facilitate seamless document sharing and collection from Salesforce Experience Cloud users.
> Kind: Guide · Updated: Jul 4, 2026
The Experience Cloud Widget in CloudFiles is designed to facilitate seamless document sharing and collection from Salesforce Experience Cloud users. It is ideal for external collaboration, allowing users outside your internal team to access, upload, and manage documents securely.
This widget bridges the gap between internal Salesforce users and external stakeholders, enabling bi-directional file syncing between your cloud storage (e.g., Google Drive, SharePoint, Dropbox), Salesforce objects, and community users. With this widget, businesses can efficiently manage document workflows for both internal and external users.
## Getting Started - Widget Set-up
To set up the Experience Cloud Widget -
- Install the CloudFiles app from Salesforce AppExchange.
- Connect your cloud storage to Salesforce using CloudFiles.
- Add the widget to your Experience Site using the Salesforce Site Builder.
- Configure permissions to control access for external users.
- For detailed setup instructions, refer Share files in experience cloud (community) .

---
# Internal Record Widget
https://help.cloudfiles.io/salesforce/internal-record-widget
# Internal Record Widget
Internal Record Widget is designed for managing documents within internal record pages in Salesforce, providing internal teams with direct access to files linked to specific records.
> Kind: Guide · Updated: Jul 4, 2026
Internal Record Widget is designed for managing documents within internal record pages in Salesforce. It provides internal teams with direct access to files linked to specific records, streamlining the process of organizing, viewing, and updating documents without leaving the record page. It supports efficient document workflows, ensuring that all related files are easily accessible and securely managed within the Salesforce interface.
## Widget Configuration
Once you select the Internal Record Widget type, you'll be guided to further settings to customize the widget according to your requirements. The image below shows how this setting looks like.

### Key Configuration Fields
- Widget Config Name- Assign a unique name to identify this widget configuration easily.
- Widget Config Description- Provide details about the specific application or purpose of this widget.
- Widget Title- Enter the title text that will be displayed within the widget.
- Configurations- Includes features like Create Folder, File Upload, Folder Upload, Delete Folder, Delete Files, Create Sharing Link, Allow Download, Allow Edit, Allow Replace, Open in App/Library, List Inaccessible Resources and Reset Navigation On Connect which can be enabled or disabled based on your needs.
- Widget Columns- Configure the columns to display in the widget. Allows users to configure the data fields (e.g., Name, Created By, Created On, Modified On) displayed in the widget. Click "Add Columns" to customize the view.
- Mandatory Widget Columns- Define required columns that must be filled when uploading a file.
- Preview in Salesforce – Opens the file preview within Salesforce.
- Open within library in a new tab – Opens the document in a separate tab within the document library.
- None – Disables file click actions, requiring users to manually download files.
- File Click Behavior - This setting determines what happens when a user clicks on a file within the widget. Users can choose from the following options:
- Preview in Salesforce – Opens the file preview within Salesforce.
- Open within library in a new tab – Opens the document in a separate tab within the document library.
- None – Disables file click actions, requiring users to manually download files.
- Widget Base Path - Sets the default document location, ensuring organized content and restricted access.
- File Upload Restriction- Limits the allowed file types for internal users.
- List View Controls - Controls how long text is displayed in the list view
- Clip - Truncates long text.
- Wrap- Displays text across multiple lines.
- Resource Actions - Define custom actions in the widget at the resource level.
- List Actions - Define custom actions in the widget at the list level - applicable for multiple resources selected together.
To read about these configuration fields in detail and understand how to implement them within your organization, please refer to the Internal Record Widget Guide.
## Core Features of Internal Record Widget
Following are the core features of Internal Record Widget and its configurations steps -
### 1 - Create Folder
This configuration allows internal cloud users to create folders directly in the external folder attached to the Salesforce record.
Follow the steps mentioned below:
- Open CloudFiles Widget – Navigate to the widget in your record.
- Click "New Folder" – Locate and select the New Folder button.
- Enter Folder Name – Type the folder name in the popup.
- Confirm – Click Save/Create to add the folder.
Refer to the GIF below for a visual understanding-

### 2 - File and Folder Upload
This configuration allows internal cloud users to upload files and folder to the connected external storage. There are two seperate toggles for file and folder upload to ensure that if CloudFiles user does not want to allow folder upload to the internal widget, they can do so.
> The Folder upload toggle is provided for the user to enable/disbale upload of a folder to the widget based on use case however, when file upload is disabled in the widget configuration, the user can not see the upload file button at all so they can not upload folder as well even if the folder upload is toggled on, hence, it could be seen as a sub setting to allow/not allow folder upload on top of the file upload setting.
> The folder upload toggle is on and hence the dropdown beside upload file will be visible and users can upload folder to the widget, by default.
### Uploading a File in the Widget
Follow the steps listed below to upload a file -
- Go to the Widget - Open the CloudFiles widget under the relevant account, opportunity, or record.
- Click "Upload Files" - Locate the Upload Files button at the top. Click it to open the file selection window.
- Select a File - Choose the file(s) from your system and confirm.
- Confirmation The selected file(s) will be uploaded and listed in the widget.
> A maximum of 100 items/files can be uploaded at a time through the upload feature.
Refer to the GIF below for a visual understanding-

### Uploading a Folder in the Widget
You can upload entire folders for better file organization by following these steps -
- Go to the Widget - Open the CloudFiles widget under the relevant account, opportunity, or record.
- Click "Upload Files" - Click the dropdown arrow next to Upload Files.
- Select Folder - Choose Folder from the dropdown menu.
- Choose a Folder - Select the folder from your system and confirm.
- Confirmation - The folder and its contents will be uploaded and listed in the widget.
> A maximum of 100 items/files can be uploaded at a time through the upload feature.
Refer to the GIF below for a visual understanding-

### How to Use Drag and Drop for Folder Upload?
The widget supports a drag-and-drop feature, making it easy to upload entire folders directly from your system. Follow these simple steps to use this feature:
- Navigate to the Widget - Navigate to the CloudFiles widget under the relevant record (Account, Opportunity, or other record).
- Locate Your Folder - Open your system’s File Explorer (Windows) or Finder (Mac) and locate the folder you want to upload.
- Drag the Folder to the Upload Area - Click and hold the folder. Drag it into the widget’s file section where the existing files and folders are displayed.
- Drop the Folder to Initiate Upload - Once you see the upload area highlight, release the folder. The system will automatically start uploading all the contents within the folder.
Refer to the GIF below for a visual understanding-

### 3 - File and Folder Options
The widget supports both single-item actions and bulk actions. Use single-item actions when working with one file or folder at a time. Use bulk actions when you need to act on multiple items simultaneously.
### Single-Item Actions
Single-item actions let you open, rename, move, share, preview, download, and delete a file or folder directly from a record page, without leaving Salesforce.
Use this approach when you need to act on one file or one folder at a time.
Open the actions menu for a file or folder
- Navigate to a Salesforce record (for example, an Account).
- Click the CloudFiles Widget tab in the record's tab bar.
- Locate the file or folder you want to act on.
- Click the dropdown arrow (⌄) on the right side of the row.

Folder Actions
The following options appear as shown in the image below:

- Open in External Storage - Opens the folder in connected external storage in a new tab.
- Download - Downloads the file to your local machine.
- Rename - Renames the folder.
- Move - Moves the folder to a different location within the connected storage.
- Public Link - Generates a shareable public link for the folder.
- Community Sharing - Shares the folder with Experience Cloud community users.
- Delete - Permanently deletes the folder and its contents.
File Actions
The following options appear as shown in the image below:

- Open in External Storage - Opens the file in connected external storage in a new tab.
- Download - Downloads the file to your local machine.
- Preview - Opens an inline preview of the file within Salesforce.
- Rename - Renames the file.
- Move - Moves the file to a different folder.
- Public Link - Generates a shareable public link for the file.
- Community Sharing- Shares the file with Experience Cloud community users.
- Delete- Permanently deletes the file.
### Bulk Actions
Bulk actions let you move or generate public links for several items at once - directly from a record page, without leaving Salesforce.
Use this approach when you need to act on two or more files or folders at the same time.
- Navigate to a Salesforce record (for example, an Account).
- Click the CloudFiles Widget tab in the record's tab bar.
- Click the checkbox to the left of each file or folder you want to select.
- Once two or more items are selected, a + button appears in the top-right of the file list.
- Click the + to open the bulk actions menu.
The following options appear as shown in the image below:

- Move - Moves all selected items to a folder you specify.
- Public Link - Generates shareable public links for all selected items at once.
- Download- Downloads the file to your local machine.
Select the action you want to perform. These options are the same whether you have selected files, folders, or a mix of both.
> **Note** — Bulk actions include a reduced set of options compared to single-item actions. Actions such as Rename, Preview, and Delete are only available when acting on one item at a time.
### 4 - Create Sharing Link
This configuration allows users to create CloudFiles sharing link.
### Link Settings
The Link Settings page allows you to configure various sharing options for a file link. Here's a breakdown of the settings:
1 - Status
- Online- The link is active and accessible.
- URL -The file can be accessed using the provided link.
- Copy Link Button- Allows easy copying of the link to share with others.
- Allow File Download- Users who access the link can download the file.
2 - Expiry
- On (Date & Time fields) - Allows setting an expiration date and time for the link. Once expired, the link will no longer be accessible.
- After (Views field) - Sets a limit on the number of times the link can be accessed. If this limit is reached, the link expires.
> If both date/time and view count limits are set, whichever occurs first will cause the link to expire.
3 - Security
- Password Protected - If enabled, users must enter a password to access the file.
- Requires Email for Viewing - If enabled, users must provide an email before they can access the file.
Refer to the GIF below for a visual understanding-

### File Analytics Dashboard Overview
The File Analytics Dashboard provides detailed insights into how your shared files are being accessed and engaged with. Below is a breakdown of the key components:
1 - File Details - This section provides general information about the shared file.
- File Name: Displays the name and format of the file.
- Created By: Shows the name of the user who uploaded the file.
- Created At: Indicates the date when the file was uploaded.
- Total Views: The total number of times the file has been accessed.
- Status: Displays whether the file is currently Live (accessible) or Expired.
- Available Actions:
- Edit Link Settings: Modify sharing permissions, expiration rules, and security settings.
- Export Analytics: Download engagement data for reporting purposes.
- Preview: Open and review the file.
2 - File Engagement Metrics - This section provides insights into how the file is being interacted with.
- Total Time Spent: The total duration for which the file has been viewed.
- Downloads: The number of times the file has been downloaded.
- Unique Views: The count of distinct viewers who accessed the file.
- Total Views: The total number of times the file has been opened, including multiple views by the same person.
- Engagement Graph: A visual representation of the total viewing duration.
3 - Viewer Details - This section tracks location-based access and engagement data.
| Parameter | Description |
|---|---|
| Views | Displays the geographic location from which the file was accessed. |
| Email | Shows the email address of the viewer (if email tracking is enabled). |
| Time Spent | Indicates the duration the file was viewed. |
| Sessions | Tracks the number of times the file was opened. |
| Last Viewed On | Displays the last date when the file was accessed. |
Refer to the GIF below for a visual understanding-

### 5 - Open In App/Library
This configuration allows user to enable/disable button to open file/folder in app or respective library in the internal record widget.
> The Open in App/Library button is visible by default in the internal record widget.
The image below shows how internal record widget looks when the Open in App/Library toggle in the widget configuration is on.

### 6 - Delete File
This configuration allows internal cloud users to delete files from connected external storage. Follow the steps mentioned below -
- Locate the File – Open the CloudFiles widget under the relevant record and locate the file.
- Open Options – Click the dropdown button next to the file.
- Select "Delete" – Choose Delete and confirm the action.
> **Note** — This permanently deletes the file.
Refer to the GIF below for a visual understanding-

### 7 - Delete Folder
This configuration allows internal cloud users to delete folders from connected external storage. Follow the steps mentioned below -
- Locate the Folder – Open the CloudFiles widget under the relevant record and locate the folder.
- Open Options – Click the dropdown button next to the folder.
- Select "Delete" – Choose Delete and confirm the action.
> **Note** — This permanently removes the folder and its contents.
Refer to the GIF below for a visual understanding-

### 8 - Open in Folder
This configuration allows internal cloud users to directly jump to the actual file location when searching for a file. Follow the steps mentioned below -
- Locate the File – Open the CloudFiles widget under the relevant record and locate the file by typing its name in the search bar.
- Open Options – Click the dropdown button next to the folder.
- Select "Open in Folder" – Choose Open in Folder


---
# Embed CloudFiles widget in custom lightning web components
https://help.cloudfiles.io/salesforce/embed-cloudfiles-widget-in-custom-lightning-web-components
# Embed CloudFiles widget in custom lightning web components
Like all other packaged lightning web components, you can embed cloudfiles widgets in your organization's custom code.
> Kind: Guide · Updated: Jul 4, 2026
Like all other packaged lightning web components, you can embed cloudfiles widgets in your organization's custom code. This would require the steps highlighted below.
## Step 1 : Enable Lightning Web Security
The goal of lightning web security is to prevent Lightning components from interfering with or accessing data that belongs to platform code or components from other namespaces. Here's a detailed article from Salesforce on this. You would need to enable this in settings in order to cross reference web components.
To use Lightning Web Security in an org:
- From Setup, in the Quick Find box, enter Session, and then select Session Settings.
- On the Session Settings page, select Use Lightning Web Security for Lightning web components and Aura components and save.

## Step 2 : Use the attachments widget in custom code
All CloudFiles components can be referred to with the namespace cldfs, You would use this namespace to access global classes and components from the CloudFiles managed package.
To use the widget as a child component in a custom lwc, you would use it like any other child component, with the exception of replacing the first c with cldfs, signifying a custom namespace.
Apart from this, there are some mandatory inputs that the component needs in order to work properly. These would be the record-id and object-api-name
The below code block displays a simple example:
Similary you can embed the Experience Cloud Widget as follows:
---
# CloudFiles Permissions
https://help.cloudfiles.io/salesforce/cloudfiles-permissions
# CloudFiles Permissions
Learn about the different permissions and permission sets offered by the CloudFiles app, and how to manage user access via pre-packaged permission sets such as CloudFiles Admin User.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles app comes with custom permissions that can be used to control the access to various features of the app. Additionally, we have created a few permission sets based on commonly used combinations of these permissions. You can always modify these permission sets according to your needs.
## Permissions
- Connect or disconnect files & folder - Allows a user to link/unlink a file or folder to a record in Salesforce
- Connect files & folder - Allows a user to only link a file or folder to a record in Salesforce
- Disconnect files & folder - Allows a user to only unlink a file or folder to a record in Salesforce


- Create Folder - Allows user to create sub folders inside a record's connected folders. In the UI, it controls the visibility of following action

- Delete Files & Folders - Allows a user to delete a file or a folder from record page. This also deletes the files in the underlying external storage. In the UI, it controls the visibility of following actions

- Share Files & Folders - Allows a user to share files & folders externally, using a CloudFiles sharing link. For a file already shared, this permissions also controls the access for updating link settings

- Allow Sharing with Community - Allows an internal person to share a particular file/folder with community users or experience cloud users.
- Upload Files - Allows a user to upload files through the CloudFiles widget. In the UI, this permission controls the visibility of "Upload Files" button & "Drag and Drop" functionality

- Allow Download - This permissions allows a user to download files from CloudFiles widget
- View Analytics - If a file/folder is being shared externally using a CloudFiles link, this permission allows a user to view analytics like who is looking at the file/folder, how much time they're spending on it
- View Sharing Settings - If a file/folder is being shared externally using a CloudFiles link, this permission allows a user to view the settings of the link, like who can access the link, if there is a password on the link etc.
## Permission Sets
CloudFiles comes with few pre-packaged permission sets. You can always create a custom permission set using CloudFiles permissions described above.
1 - CloudFiles Admin User - This permission set is suitable for admins who should have access to all CloudFiles functionality within Salesforce, including billing. It contains all the permissions listed the image below:

2 - CloudFiles Standard User - This permission set is suitable for all internal users (company employees) who should have access to all CloudFiles functionality except admin level features. It contains all the permissions listed the image below:

3 - CloudFiles External User - This permission set is suitable for experience cloud users(community users). It contains all the permissions listed the image below:

4 - CloudFiles Field Service User - This permission set is suitable for field service users . It contains all the permissions listed the image below:

## Permission Set Assignment
To reduce the setup time, CloudFiles automatically assigns following permission sets on installation -
- CloudFiles Admin User - This is assigned to all users with "System Administrator" profile
- CloudFiles Standard User - This is assigned to all internal users except administrator
You can change these assignments according to your needs. When new users are added to your Salesforce org, they would need to be assigned CloudFiles permission sets manually. You can also setup a flow to automatically do it when users are added. Please feel free to reach out to us for any help regarding this.
To manually assign permission sets, please follow the steps below
- Go to Setup > Permission Sets.
- Select appropriately among the CloudFiles Admin User, CloudFiles Standard User or CloudFiles External User permission set
- Click on Manage Assignments. Then Click Add Assignment. Choose the users you want to add the selected permission set for.
- Follow the prompts to finish the assignment process.
---
# Content Library (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/content-library
# Content Library
Learn how to explore supported external storage in Salesforce using the CloudFiles Content Library tab, including accessing metadata values for files and folders.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles Content Library tab can be used to explore any supported external storage from within Salesforce. To use this, just select CloudFiles app from the app launcher & click the "Content Library" tab

One of the primary usage of Content library is to get metadata values for files & folders to be used in flow actions and apex. Examples of metadata values are - file/folder id, library, drive id etc.
To get the metadata values, simply click on the dropdown icon in far right on the item row. Click "View Metadata". You can also click the copy icon to quickly copy the values to clipboard

---
# Field Service Lightning Support
https://help.cloudfiles.io/salesforce/field-service-lightning-support
# Field Service Lightning Support
Steps to create a custom action for the field service lightning app so CloudFiles can be accessed from the widget.
> Kind: Guide · Updated: Jul 4, 2026
Follow the steps below to create custom action in field service lightning app.
Steps to create custom action for field service lightning app -
- To use goto the setup -> Object Manager -> select object you want to have access the widget with
- Select Button Links and action -> New action

- In the new action form select action type as Lightning Web Component and the lightning web component as cldfs:cloudFilesAttachnmentAction
- If you need a special widget configuration to limit the action inside the widget at the end of the "Name" add "wcid_XXX" XXX being the 32 digit widget config it. The limit for name is 80 characters so should not be an issue. eg. Show_Cloudfiles_wcid_55sgqbfgf681jrpgvv2tm195sm2wq3yf
- Save the action.

- Go to Page layout -> Account layout
- You will see the newly created action under mobile and lightning action.
- drag and drop the action into the Salesforce Mobile and Lightning Experience Actions and click save.
- Now you will be able to see and use the action in the account page for both web and mobile ui.

---
# Image Resize Feature
https://help.cloudfiles.io/salesforce/image-resize-feature
# Image Resize Feature
CloudFiles lets you resize and compress images directly through its shareable links using simple URL parameters.
> Kind: Guide · Updated: Jul 4, 2026
## Overview
CloudFiles lets you resize and compress images directly through its shareable links. With simple URL parameters, you can define image dimensions, control quality, or limit file size—making it easier to deliver optimized visuals without any manual editing or external tools.
Delivering the right image size is crucial for performance, bandwidth management, and design flexibility. Large images can slow down email load times, consume unnecessary bandwidth, and disrupt the visual consistency of web pages. By resizing images on the fly, CloudFiles ensures that visuals are optimized for their intended use, enhancing user experience and operational efficiency.
> **Note** — This is an add-on feature that works only with CloudFiles library, AWS S3, and Azure Blob storage. Please contact the CloudFiles support team to enable it for your organization.
## Use Cases
The image resize feature can be useful across multiple workflows. Sales and marketing teams can share compressed product images, banners, or visuals in client emails or pitch decks, improving load times and delivery performance. It's also a powerful tool for automation workflows such as CRM triggers, webhook-based systems, or email campaigns. For example, an automation that generates proposal documents or sends follow-up emails can fetch a resized product image directly from the CloudFiles link—eliminating the need for manual resizing or compression.
## Parameters
To use the resize feature, the image link must be downloadable (i.e., include dl=1). Once set, the following optional parameters can be added to the URL:
- width: Set the target image width in pixels.
- height: Set the image height.
- quality: Set image quality (1–100).
- max_bytes: Limit the image file size in bytes.
Example:
https://test.cloudfiles.io/hBN8q1gfXRb?dl=1&width=1200&max_bytes=100000
This resizes the image to 1200px wide and compresses it to under 100KB—perfect for use in emails or embedding in lightweight pages.
> **Note** — When max_bytes is specified, CloudFiles automatically adjusts quality to fit the size limit, so you don’t need to handle compression manually.
---
# Using a service account
https://help.cloudfiles.io/salesforce/using-a-service-account
# Using a service account
Connect and use an External Cloud Storage Service Account in Salesforce to access the Content Library, share resources with Public groups, and switch between Service and User accounts.
> Kind: Guide · Updated: Jul 4, 2026
## Connect your Cloud Storage to Salesforce
Connect your External Cloud Storage Service Account to your Salesforce org utilizing the Setup page in CloudFiles app by clicking on the external storage of choice and log into your service account. For detailed steps, follow Automations.
## Accessing the Content Library
Once the setup is complete, you can access the connected Library from within Salesforce using the "Content Library" tab of the CloudFiles app.
From the CloudFiles Content Library tab, the Service Account (admin) user can explore any supported external storage and get metadata values for files & folders to be used in flow actions and apex.

## Sharing with Public groups
From the Content Library interface the Service Account (admin) user can share any of the resources from the connected Library to make them accesible to a specific Salesforce Public group users.
- To share any resource, simply click on the dropdown icon in far right on the item row. Click "Share".

- In the sharing window pop-up you can search and select the public group with whom you wish to share the access with. This adds up the selected group to the "Who Can Access" list.
- You can view and manage the "Who Can Access" list from the sharing window itself.

## Switching between Accounts
From the Content Library interface the Service Account (admin) user can switch between the Service Account and User Account by clicking the gear icon against the library and selecting the perspective.

---
# Utilize CloudFiles widget in Custom Screen Flows
https://help.cloudfiles.io/salesforce/utilize-cloudfiles-widget-in-custom-screen-flows
# Utilize CloudFiles widget in Custom Screen Flows
A common use case that explains how to use the CloudFiles widget effectively with screen flows to display related files on a record.
> Kind: Guide · Updated: Jul 4, 2026
Detailed below is a common use case that explains how to use CloudFiles widget effectively with screen flows to display related files on a record.
## Use Case:
A company wants to ensure that folders and files attached in an Account’s CloudFiles widget are easily accessible from related Contact records. Since the files and folders are attached on the Account instead of the contact, directly adding the widget to the Contact's record page will not be useful. Instead, we utilize a screen flow which embeds the widget. This is how the flow builder looks:

Search for CloudFiles in the Components tab in a screen element and drag and drop the first component named CloudFiles

Use a Get Records element to dynamically get the related accountId and pass it through the Record Id parameter of the component
Add this screen flow to your target Contact record page and you'll be able to see Account related files directly from the contact record.

---
# Widget Configuration Guide
https://help.cloudfiles.io/salesforce/widget-configuration-guide
# Widget Configuration Guide
Overview of CloudFiles widget types (internal record, experience cloud, content library) with links to their detailed configuration guides.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles offers various types of widgets for managing files and folders directly from your Salesforce records. The internal record widget is for your internal records, the content library is for accessing files in an independent tab outside the records and the experience cloud widget can be used to enable file / folder access for experience cloud users.
These widgets are highly configurable, allowing administrators to tailor the user experience, permissions, and file behavior to suit different business needs. Whether you're collaborating internally or sharing documents externally, each widget type offers a unique set of customization options to optimize document workflows.
Below are the detailed guides for each widget type:
- Internal Record Widget Guide - Manage and customize document interactions directly on Salesforce object record pages for internal users.
- Experience Cloud Widget Guide - Enable secure file sharing and collection from external users through Salesforce Experience Cloud portals.
- Content Library Widget Guide - Centralize and organize shared documents in a dedicated library tab accessible across teams.
---
# Internal Record Widget Guide
https://help.cloudfiles.io/salesforce/internal-record-widget-guide
# Internal Record Widget Guide
Explains how to create and use Internal Record Widget configurations in CloudFiles for Salesforce, covering every configuration field—from widget name/title/columns to resource and list actions—and how each affects the widget's appearance and behavior on internal record pages.
> Kind: Guide · Updated: Jul 4, 2026
## Overview
The Internal Record Widget is placed on your internal records pages (like Accounts/Opportunities/Leads etc.) and showcases the files in your external storage that are linked to this record. The base widget appears as follows:

Using the Widget Configuration Settings, one can customize the appearance and behavior of the widget for each Salesforce object type. This guide walks you through the configuration options available for customizing the widget’s behavior and appearance. From setting titles to defining custom actions via Flows, this article will help admins tailor the widget to suit different use cases across teams and objects.
## Creating Widget Configuration
To create custom configurations, open the CloudFiles app in Salesforce, go to Document Management → Widget Configuration → Create New → Select the appropriate Widget Type dropdown.

Once you start creating a new configuration, there are multiple fields that can be set to customize the widget as per your requirements.
## Using the Widget Configuration
After creating the desired configuration for the widget, the next step is to enable it on the record page. For each configuration created, a unique configuration ID will be generated, which can be used to apply this setting on the object page. This ID can be copied from the CloudFiles app in Salesforce by going to Document Management → Widget Configuration.
For activating a configuration, head over to the Lightning App Builder (by clicking on the Settings icon on top right → Edit Page), select the CloudFiles widget, add the configuration id in the right hand panel, and click Save. The desired functionality of the widget will appear on the record page after refreshing.

> **Note** — This method of adding widget configuration is applicable to the Internal Record widget type. For other widget types, refer to the appropriate widget in the Widget Configuration Guide.
## Key Configuration Fields
This section covers all the settings that are available in the widget configuration.
### 1. Widget Config Name
Assigns a name to identify this widget configuration easily. This name appears only in the “Widget Configuration” tab and not on the widget itself on the record page. This field can be left blank and the default value will be “Internal Record Widget”.

### 2. Widget Config Description
Provides details about the specific application or purpose of this widget. This description will also appear only in the “Widget Configuration” tab. This field can be left blank and the default value is: “Widget used to manage documents on internal record page”.
### 3. Widget Title
The title that will be displayed on the widget on the record page. If this field is left blank and only a single folder is connected, the widget will automatically display the name of that folder. If multiple folders are connected without specifying the title, the widget will default to displaying “Home”. However, if an admin explicitly defines a title in this field, it will override the default behavior and display the custom title, regardless of the connected folder names.

### 4. Configurations
Controls which file and folder actions will be made available to internal cloud users in the widget.

The ten basic actions are:
- Create Folder - Enables the “New Folder” button on the top right side of the widget to create a new folder in the directory displayed on screen.
- File Upload - Adds the “Upload Files” button on the widget. Files will be uploaded to the directory currently open within the widget.
- Folder Upload - Option available in the dropdown next to “Upload Files” button.
- Delete Folder - Allows users to delete folders from the dropdown menu next to the folder name.
- Delete File - Can be accessed from the dropdown menu next to the filename.
- Create Sharing Link - Allows internal cloud users to create a sharing link. Can be accessed by clicking on the settings dropdown on the top right of the widget.
- Allow Download - Allows internal users to be able to download files directly from the LWC.
- Allow Edit - When enabled, allows internal cloud users to be able to edit files through the previewer.
- Allow Replace - Allows internal users to be able to replace files.
- Open in App/Library - Provides the option to open the file in its respective app (like Word, PowerPoint, Excel)
- List Inaccessible Resources - This setting is turned off by default. When it's off, the widget will only show files and folders that the user has access to — just like your external storage. If you turn it on, users will also see files and folders they don’t have access to, but they won’t be able to open them. This can be helpful if team members need to know which files exist so they can request access when needed.
- Reset Navigation on Connect - Makes the 'Connect New' modal always default to the root page (list of sites/drives). If turned off, the modal will show the last accessed location.

### 5. Widget Columns
Define which columns or file headers to display within the widget (such as Name, Created By, Created On, Modified On, etc.). The available headers vary by external storage type — Google Drive, SharePoint, OneDrive, etc.
The Apply columns offer these options:
This drive only: Selected columns will be displayed only for files/folders connected to the selected drive in the CloudFiles widget.
All drives: The selected columns will be displayed on files/folders being connected from all drives in the CloudFiles widget.
All sites (SharePoint only): The selected columns will be displayed on files/folders being connected from all sites in the CloudFiles widget.

Only the headers that moved to the right side of the configuration screen will appear in the widget. If left blank, the widget defaults to displaying Name, Created By, and Created On headers.

Here’s how the widget shows the columns that have been selected above -

### 6. Mandatory Widget Columns
This advanced feature allows admins to specify which column values must be filled in when uploading files or folders. One can set up these mandatory fields by configuring this setting.

For example, if you set “Title” as a mandatory column, users will be required to fill it in when uploading a new file or folder.

### 7. File Click Behavior
The action that will occur after the user clicks on a particular file can be defined using this setting.
- Preview in Salesforce – Opens a preview pop-up window within the same page to view the file. This is also the default option.
- Open within library in a new tab – Redirects to new tab and opens the file from within your shared drive.
- None – Disables file click actions, requiring users to manually download files to view them.

### 8. Widget Base Path
Use Base Path when you want a widget to show only a specific folder (or a few specific folders), instead of everything connected to the record. This is useful when a record has more than one folder shared to it and you only want a widget to show the one that's relevant, or when you want to keep people within one folder structure rather than letting them browse everything above it.
How to set it up
- Go to Document Management → Widget Configuration, and open the configuration you want to update (or create a new one).
- Scroll to Widget Base Path and click Add Paths.
- Browse to the folder you want the widget to show, and select it. You can add more than one folder if the widget should pull from a few different locations.
- Save the configuration, then apply it to the record page through Lightning App Builder.
Once set, the widget will only display files and folders within the paths you've added.

Common use cases
- Show a clean, restricted view instead of everything shared to a record. Maintain the folder structure while only surfacing what's relevant, keeping the view uncluttered and keeping people out of content they shouldn't reach.
- Reach beyond the connected folder — move files up into a parent. Without Base Path, users can only move files within the connected folder and its children. With Base Path pointed at a parent, that range widens to include the parent itself.
- Enforce one consistent folder structure across every record of an object type. Base Path is set once on a configuration and applies to every record using it, so every record of a given type opens into the same structure, regardless of who connected what to it.
We recommend reaching out to the CloudFiles support team to get this configuration defined accurately for your use case.
### 9. File Upload Restrictions
This setting can be used to define what file types are allowed to be uploaded to the widget. By default, there are no restrictions. If you select one or more file types from the list, all other file types will be blocked from upload.

### 10. List View Control
This setting can be used to control how long text will be displayed in the list view. This option is only available for certain headers that include a dropdown arrow, such as “Created By”. There are two possible options:
- Clip – Text beyond column width gets truncated
- Wrap – Entire text will be displayed across multiple lines.

### 11. Resource Actions
This setting defines the list of actions that can be performed on a specific file or folder within the widget. When a user clicks the dropdown next to a file or folder name, a list of default actions —such as Rename, Move, Share, Download, etc. — is displayed.
In addition to these, admins can define custom actions using Salesforce Flows. These custom actions can be added to the same dropdown list and offer extended functionality based on business needs. Flows can either be autolaunched (running in the background without user input) or screen flows (which involve user interaction).

For example, a custom action could allow users to attach a selected document directly to an email, triggered right from the widget. The default and custom actions appear on clicking the dropdown beside the file name -

### 12. List Actions
List actions work like resource actions but apply to multiple selected files or folders. Only “Move” and “Share” options are provided as default, but other custom actions like “Bulk Delete” can be set up using user-created flows. You can also search for a set of files using the search bar on top of the widget, and perform your custom action on the selection.

---
# Experience Cloud Widget Guide
https://help.cloudfiles.io/salesforce/experience-cloud-widget-guide
# Experience Cloud Widget Guide
The Experience Cloud Widget offers a secure way to share and collect documents from users on Salesforce Experience Cloud sites.
> Kind: Guide · Updated: Jul 4, 2026
## Overview
The Experience Cloud Widget offers a secure way to share and collect documents from users on Salesforce Experience Cloud sites. It’s built for external engagement, giving community users like partners and customers the ability to manage files without needing access to your internal Salesforce setup. The base widget appears as follows:

By connecting cloud storage platforms (such as Google Drive or SharePoint) with Salesforce records and Experience Cloud pages, the widget streamlines document flow between internal teams and external stakeholders. It also supports extensive configuration options, allowing admins to tailor user permissions, visible folders, and available actions to fit specific business needs.
## Creating Widget Configuration
You can customize the appearance and behavior of the widget by creating your own configurations. To create custom configurations, open the CloudFiles app in Salesforce, go to Document Management → Widget Configuration → Create New → Experience Cloud Widget

## Using the Widget Configuration
To use the created configuration, copy the Configuration ID from the widget configuration page, head over to the Experience Cloud Builder, select the CloudFiles component, paste the ID on the right hand panel, and finally save and publish the site.

> **Note** — This method of adding widget configuration is applicable to the Experience Cloud widget type. For other widget types, refer to the appropriate widget in the Widget Configuration Guide.
## Key Configuration Fields
### 1. Widget Config Name
This field is used to assign a name to the widget configuration. It helps administrators identify and manage different configurations within the “Widget Configuration” tab. It does not appear on the actual widget seen by Experience Cloud users.

### 2. Widget Config Description
Use this field to provide a brief description of the use case or scope of the configuration. It is visible only to admins in the “Widget Configuration” list view and can help clarify which community or object it supports.
### 3. Widget Title
This is the title that will appear on the widget as seen by end users within the Experience Cloud page. If this field is left blank and a single folder is connected, or if multiple folders are connected without a title, the widget displays “Home”. If a custom title is defined here, it will override default behavior and appear as the static title.

### 4. Configurations
These are the actions that external users (Experience Cloud users) will be able to perform within the widget. You can toggle each one ON or OFF based on what level of control and functionality you want to offer.

Supported actions:
- Create Folder – Adds the “New Folder” button for creating folders directly.
- File Upload – Allows uploading individual files to the selected directory.
- Folder Upload – Enables full folder uploads from the local device.
- Delete Folder – Permits folder deletion from the widget.
- Delete File – Lets users delete uploaded files.
- Create Sharing Link – Generates a shareable link for public access.
- Allow Download – Enables the download option on files within the widget.

### 5. Widget Columns
Defines which metadata columns (headers) are visible in the widget’s file list view. Common headers include - Name, Created By, Created On, Modified On, etc. Headers vary slightly depending on the external storage provider (e.g., Google Drive, OneDrive). Only headers moved to the right panel of the configuration screen will be shown in the widget. If left blank, default headers will be shown: Name, Created By, Created On.

Here’s how the widget shows the columns that have been selected above -

### 6. Mandatory Widget Columns
This setting enforces required metadata fields when files or folders are uploaded by Experience Cloud users.

For example, setting “Title” as mandatory means the user must enter a title during upload. This ensures important metadata is always captured before files are saved.

### 7. Widget Base Path
Use Base Path when you want a widget to show only a specific folder (or a few specific folders), instead of everything connected to the record. This is useful when a record has more than one folder shared to it and you only want a widget to show the one that's relevant, or when you want to keep people within one folder structure rather than letting them browse everything above it.
How to set it up
- Go to Document Management → Widget Configuration, and open the configuration you want to update (or create a new one).
- Scroll to Widget Base Path and click Add Paths.
- Browse to the folder you want the widget to show, and select it. You can add more than one folder if the widget should pull from a few different locations.
- Save the configuration, then apply it to the record page through Lightning App Builder.
Once set, the widget will only display files and folders within the paths you've added.
Common use cases
- Show a clean, restricted view instead of everything shared to a record. Maintain the folder structure while only surfacing what's relevant, keeping the view uncluttered and keeping people out of content they shouldn't reach.
- Reach beyond the connected folder — move files up into a parent. Without Base Path, users can only move files within the connected folder and its children. With Base Path pointed at a parent, that range widens to include the parent itself.
- Enforce one consistent folder structure across every record of an object type. Base Path is set once on a configuration and applies to every record using it, so every record of a given type opens into the same structure, regardless of who connected what to it.
We recommend reaching out to the CloudFiles support team to get this configuration defined accurately for your use case.
### 8. File Upload Restrictions
Use this setting to define what file types are allowed to be uploaded. By default, all file types are permitted. Once specific formats (e.g., pdf, docx) are selected, only those will be allowed, and others will be blocked from being uploaded. This is useful for controlling content quality and reducing storage clutter.

### 9. List View Controls
Controls how long text is displayed in the file/folder list view, especially for columns with lengthy values. Two options are available:
- Clip – Truncates overflowing text with ellipsis
- Wrap – Displays the entire text over multiple lines
This can improve readability or optimize space depending on your UI layout. Please note that this configuration is only applicable for columns that have dropdown arrow beside the header.

---
# Content Library Widget Guide
https://help.cloudfiles.io/salesforce/content-library-widget-guide
# Content Library Widget Guide
The Content Library Widget in CloudFiles manages documents within a centralized content library page, making it easy to access, categorize, and maintain files for teams across an organization.
> Kind: Guide · Updated: Jul 4, 2026
## Overview
The Content Library Widget in CloudFiles is designed to manage documents within a centralized content library page. It is ideal for organizing shared documents in one central location, making it easy to access, categorize, and maintain files for teams across an organization. The base widget appears as follows:

This guide walks you through the configuration options available for customizing the widget's behavior.
## Creating Widget Configuration
You can configure the widget as per your requirements by going to the CloudFiles App → Document Management → Widget Configuration → Create New → Content Library Widget. Once you select this widget type, you'll be guided through further settings to customize the widget. The setup steps are as follows:

> **Note** — Since there is only one content library, you can create only one configuration of this type, which will be auto-assigned.
## Key Configuration Fields
### 1. Widget Config Name
This field is used to assign a name to the configuration for easy identification. This name appears only in the “Widget Configuration” tab, and not on the content library page. This field can be left blank and the default value will be “Content Library Widget”.

### 2. Widget Config Description
This field is used to assign a short description to the configuration. This description will also appear only in the “Widget Configuration” tab. This field can be left blank and the default value is: “Widget used to manage documents on the content library page”.

### 3. Configurations
The control actions available in the widget can be toggled on or off here -

The 3 basic actions provided are -
- Create Folder: Enables the “New Folder” button to create a folder directly from the widget. Reduces context switching to go to the external storage. For detailed instructions, refer to Create Folder
- Folder Upload: Enables users to upload entire folders directly to the external storage.
- File Upload: Enables users to upload individual files directly to the external storage. For detailed instructions, refer to File and Folder Upload.
### 4. Widget Columns
This configuration controls what column names will appear on the Content Library page. The available headers vary by external storage type — Google Drive, SharePoint, OneDrive, etc. Only the headers moved to the right side of the configuration screen will appear in the widget. If left blank, the widget defaults to displaying Name, Created By, and Created On headers.

The selected headers will appear on the content library page as follows -

### 5. File Click Behaviour
The action that will occur after the user clicks on a particular file can be defined using this setting.
- Preview in Salesforce – Opens a preview pop-up window within the same page to view the file. This is also the default option.
- Open within library in a new tab – Redirects to a new tab and opens the file from within your shared drive.
- None – Disables file click actions, requiring users to manually download files to view them.

### 6. Widget Base Path
Use Base Path when you want a widget to show only a specific folder (or a few specific folders), instead of everything connected to the record. This is useful when a record has more than one folder shared to it and you only want a widget to show the one that's relevant, or when you want to keep people within one folder structure rather than letting them browse everything above it.
How to set it up
- Go to Document Management → Widget Configuration, and open the configuration you want to update (or create a new one).
- Scroll to Widget Base Path and click Add Paths.
- Browse to the folder you want the widget to show, and select it. You can add more than one folder if the widget should pull from a few different locations.
- Save the configuration, then apply it to the record page through Lightning App Builder.
Once set, the widget will only display files and folders within the paths you've added.
Common use cases
- Show a clean, restricted view instead of everything shared to a record. Maintain the folder structure while only surfacing what's relevant, keeping the view uncluttered and keeping people out of content they shouldn't reach.
- Reach beyond the connected folder — move files up into a parent. Without Base Path, users can only move files within the connected folder and its children. With Base Path pointed at a parent, that range widens to include the parent itself.
- Enforce one consistent folder structure across every record of an object type. Base Path is set once on a configuration and applies to every record using it, so every record of a given type opens into the same structure, regardless of who connected what to it.
We recommend reaching out to the CloudFiles support team to get this configuration defined accurately for your use case.
### 7. Resource Actions
This setting defines the list of actions that can be performed on a specific file or folder within the widget. When a user clicks the dropdown next to a file or folder name, a list of default actions —such as View Metadata, Move, Share, Delete, etc. — is displayed.
In addition to these, admins can define custom actions using Salesforce Flows. These custom actions can be added to the same dropdown list and offer extended functionality based on business needs. Flows can either be autolaunched (running in the background without user input) or screen flows (which involve user interaction).

For example, a custom action could allow users to attach a selected document directly to an email, triggered right from the widget. The default and custom actions appear on clicking the dropdown beside the file name -

### 8. List Actions
List actions work like resource actions but apply to multiple selected files or folders. Only “Move” option is provided as default, but other custom actions like “Bulk Delete” can be set up using user-created flows. You can also search for a set of files using the search bar on top of the widget, and perform your custom action on the selection.

---
# Widget Flow Actions in CloudFiles
https://help.cloudfiles.io/salesforce/widget-flow-actions-in-cloudfiles
# Widget Flow Actions in CloudFiles
Enhance automation with CloudFiles' Custom Actions through internal widgets in Salesforce, allowing you to trigger Screen Flows or Autolaunched Flows directly from the widget.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
Enhance automation with CloudFiles' Custom Actions through internal widgets in Salesforce, allowing you to trigger Screen Flows or Autolaunched Flows directly from the widget. You can configure both Resource Actions (for individual resources) and List Actions (for multiple resources) to streamline your document management workflows.


## Prerequisites
Ensure you have the following ready before setting up widget flow actions:
- Access to the CloudFiles Document Management App in Salesforce.
- Required flows (Screen Flow or Autolaunched Flow) configured in your Salesforce environment.
- Familiarity with creating flow input variables.
## Setting Up Widget Flow Actions in CloudFiles Widget
Follow these steps to configure List Actions in the CloudFiles widget -
### Step 1: Open Widget Configuration
- Navigate to the CloudFiles Document Management App.
- Open the "Widget Configuration" page.
### Step 2: Locate Resource / List Actions Section
Scroll to the bottom of the page, where you'll find the Resource Actions & List Actions section. Refer to the image below for a visual understanding -

### Step 3: Specify Attributes for Actions
For each action (Resource or List), specify the following attributes -
- Label - The name of the action displayed on the widget.
- Flow URL- The URL of the flow to be triggered.
> **Note** — The flow URL format is /flow/CloudFiles_add_to_approval_pack
- Flow Type- Select the type of flow from the dropdown (Screen Flow or Autolaunched Flow).
### Step 4: Create Flow Variables
To pass selected resources (files/folders) and the current record ID to the flow, create the following two variables -
### For Resource Actions
- resource:
- Type - Variable
- Data Type - Apex Defined
- Apex Class - clds__Resource
- Allow Multiple Values (Collection) - False
- Available for Input - True
- recordId:
- Type - Variable
- Data Type - Text
- Allow Multiple Values (Collection) - False
- Available for Input - True
### For List Actions
- resources:
- Type - Variable
- Data Type - Apex Defined
- Apex Class - clds__Resource
- Allow Multiple Values (Collection) - True
- Available for Input - True
- recordId:
- Type - Variable
- Data Type - Text
- Allow Multiple Values (Collection) - False
- Available for Input - True
> **Note** — You can choose any name for these variables; the suggested names are for guidance.
> **Note** — You can also use a String variable, which can be static text or {!recordId} referencing the current record ID from which the action is invoked.
### Step 5: Using Flow URLs
You can then use the flow URL in this format -
For Resource Action
```text
/flow/CloudFiles_add_to_approval_pack?resource={!resource}&recordId={!recordId}
```
For List Action
```text
/flow/CloudFiles_add_to_approval_pack?resources={!resources}&recordId={!recordId}
```
When the user clicks the resource action or list action, your flow will be triggered with the variable values passed into the flow variables. Refer to the images shown below -


---
# Sharing Add-On
https://help.cloudfiles.io/salesforce/sharing-add-on
# Sharing Add-On
The Document Sharing Add-On allows you to securely share files and folders with people outside your Salesforce organization.
> Kind: Guide · Updated: Jul 4, 2026
The Document Sharing Add-On allows you to securely share files and folders with people outside your Salesforce organization. It adds sharing capabilities to CloudFiles Document Management making it easy to create custom links, control who can access or download files, and track engagement such as views and downloads.
## Licensing & Configuration
The Document Sharing Add-On is managed under Document Management licenses.
> **License activation** — To enable license for Doc sharing with your Document Management, reach out to sales@cloudfiles.io for activation assistance.
Once Doc-Sharing license is enabled, all users with a Document Management license can use Document Sharing Functionalities. The Configuration section includes settings for Branding and Link Defaults. These settings help ensure consistent sharing experience across your org.

## Datarooms
With the Sharing Add-On, you can create Dataroom that let you share multiple files and folders, even from different cloud storage platforms through a single, unified link. They serve as centralized spaces for organizing, sharing, and managing content efficiently.
With Datarooms, you can:
- Organize files and folders into containers for easier navigation.
- Add File Request blocks to collect documents from external users.
- Customize access and permissions

## Create Links
With the Sharing Add-On, you can Create Links for files, folders, and datarooms. A sharing link for a file or folder can be created directly from the CloudFiles widget on Salesforce records. Additionally, Link creation can be automated for files, folders, or datarooms using CloudFiles Flow actions. The generated links can then be shared through email or stored in Salesforce fields for future reference.

## Security
The Security Control settings define how recipients access shared links and what restrictions apply to viewing or downloading files. These settings can be customized for each link.
You can configure the following options: Require Email for Access, Enable Email Verification, Allow Specific Users (Email List), Block Specific Users (Email List), Restrict by Domain, Password Protect Links, Control Download Permissions.

## Manage Links
Once a sharing link is created for a record, user can Manage Links directly through the Doc-Sharing widget (below) on the record page. The Doc-Sharing widget lists all links created for files, folders, and datarooms associated with that record. Users can quickly view key details such as link status, views, and analytics. They can also preview the shared file, update link settings, or enable/disable the link directly from the widget.

## Analytics
The Document Sharing Add-On provides detailed insights into how recipients interact with shared content through Analytics and Engagement Tracking. Each shared link captures key engagement metrics, which are displayed within the Doc-Sharing widget and summarized in an analytics dashboard.
Users can view: Total and unique views, Download count, Page-by-page engagement (time spent per page)

---
# Configuration (Sharing Add-On)
https://help.cloudfiles.io/salesforce/bO-m-configuration
# Configuration
The Document Sharing Add-On is managed through Document Management licenses, and once enabled, admins can configure settings under the Document Sharing section in the CloudFiles app to control how sharing works and how shared links appear to end users.
> Kind: Guide · Updated: Jul 4, 2026
The Document Sharing Add-On is managed through Document Management licenses. Once the add-on is enabled for your org, admins can configure settings under the Document Sharing section in the CloudFiles app to control how sharing works and how shared links appear to end users.
## User Management
The User Management section allows admins to view and manage CloudFiles licenses assigned to Salesforce users. This page provides an overview of all users who have access to the Document Sharing Add-On and their current license status.
From this view, admins can:
- See all users assigned a DocMan license along with their name and email.
- Check license status (Active or Inactive) for each user.
- View CloudFiles Roles, such as Admin or User.
- Add Licenses to additional users using the Add Licenses button.
This section helps administrators ensure that the right users have access to CloudFiles Doc-Sharing features and that licenses are assigned efficiently across the organization.

## Branding Setting
Branding Setting
Branding settings allow you to customize the appearance of your shared links and document viewer. You can add your company website to fetch its favicon, upload your company logo to replace the CloudFiles default branding, and configure a custom domain (CNAME) for a fully white-labeled sharing experience. These options ensure that all shared links and file viewers reflect your organization’s identity.
## Link Defaults
Link Defaults
Link Defaults let you define how newly created sharing links should behave by default. Admins can set defaults for link status, download permissions, expiry rules, notification preferences, security requirements, and Auto Sync behavior. These settings ensure consistent link behavior across the organization while still allowing users to adjust options on individual links when needed.
## Compliance
Compliance
Compliance settings allow you to define the privacy and consent requirements shown to end users before they access shared documents. These settings help organizations meet legal or regulatory needs by displaying consent notices, privacy policy links, and IP tracking within the viewer. Once configured, these compliance rules apply automatically to all CloudFiles shared links.
## Viewer Customization
Viewer Customization
Viewer Customization settings let you control how users sign in and how the CloudFiles viewer appears. You can enable preferred login methods, such as Email, Google, or Microsoft and set the default viewer theme to Light or Dark. These options help deliver a consistent and branded viewing experience for your users.
---
# Branding Setting
https://help.cloudfiles.io/salesforce/branding-setting
# Branding Setting
Through Branding setting, CloudFiles allows you to completely white-label the document viewer with your company logo and custom domain for shared CloudFiles document links.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
Through Branding setting, CloudFiles allows you to completely white-label the document viewer with your company logo and custom domain for shared CloudFiles document links. This setting is within the Document Sharing tab in Document Management settings.
> White-labeling the CloudFiles Document Viewer is not available in the trial version. To use Branding features such as custom logo, website favicon, and custom domain (CNAME), you must purchase an Enterprise license. You can refer to the article on Purchasing and assigning licenses for more details.
The Branding setting consists of the following fields, which are discussed in detail in the following sections of the article.
- Website - Add your company website here, this is used to fetch the favicon displayed in the links.
- Logo - Add your company logo in this field to display your logo in the shared links instead of the CloudFiles logo.
- Custom Domain - Add CNAME mapping so that we can enable custom domain on your account.
The image below shows what this setting looks like in the CloudFiles App.

## Document Sharing
When enabled, the Document Sharing tab within the Document Management settings allows users to share documents through links from the Share button in the internal widget. The GIF below explains how document sharing works.

## Branding
The branding setting within Document Sharing allows CloudFiles users to customize branding on the shared links. It has the following properties which can be customized.
> **Note** — The shared links will have CloudFiles branding by default
### Website
This property allows CloudFiles users to set a favicon of their website on shared links. The image below shows how favicon will look on shared links.
> **Note** — The shared links will have CloudFiles favicon by default

### Logo
This property enables users to put a logo on the shared links in place of the default CloudFiles logo. The image below shows how the logo at the top left will look on shared links.

### Custom Domain
In order to add your custom domain, you first need to map CloudFiles with your DNS provider. This process is called CNAME mapping and is usually handled by IT teams in large organizations. Although the steps may change based on the DNS provider, here are the main steps to be followed. If you are not the IT admin, it is best to get them involved so they can easily understand and implement these
- Go to your DNS provider where yourdomain.com DNS is purchased from.
- Open the DNS settings
- Create a new record with type CNAME
- For that record, host = the subdomain name you want. This can be anything that you like, for example - docs, files etc.
- For value, add cname.cloudfiles.io
- For TTL select 5 minutes. Your new sub-domain will become accessible after this much time.
Once the CNAME mapping is done, you can add the custom domain through the setting provided in this section. Follow the steps below in order to do the same.
- Click on the Configure button to initiate the process, this will result in prompting a input to add your custom domain, click Continue once you have added the domain. Refer to the image given below for further explanation.

- Once you have clicked "Continue", the system will attempt to configure your domain. If the domain is successfully configured you will see "Active" state. You may get "Missing Configuration" state otherwise, as shown in the image below.

> Once the domain has been successfully configured, your links will update. Your old links will continue to work but won't redirect to the new links. CloudFiles keeps the link slug same but replaces the prefix. E.g. https://cloudfiles/slug will become https://docs.yourdomain.come/slug.
---
# Link Defaults (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/link-defaults
# Link Defaults
Link Defaults let administrators set the default behavior (Status, Download, Expiry, Notifications, Require Email, and Auto Sync) for newly created CloudFiles sharing links.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
Link Defaults allow administrators to define the default behavior for newly created sharing links. These settings apply only to links generated after the defaults are configured, ensuring consistency across all CloudFiles links and reducing the need for repeated manual adjustments.
This section includes default options for Status, Download, Expiry, Notifications, Require Email, and Auto Sync.
Whenever a new sharing link is created, either manually or through a Flow action, the link will automatically inherit these default settings.
> **Note** — Updating Link Defaults does not modify or affect any existing links. User can override these settings through Cloudfiles widget or via flow actions.
The image below shows what this configuration looks like in the CloudFiles App.

## Status
Controls whether newly created links should start as Online (active) or Offline by default.
- When set to Online, newly created links become immediately accessible to recipients.
- When set to Offline, newly created links will not be accessible until activated.
## Download
Controls whether recipients are allowed to download shared files by default.
- When enabled, newly generated links will allow recipients to download the file.
- When disabled, newly generated links will restrict recipients to viewing only. Downloading will not be allowed unless changed later.
## Expiry
Defines when newly created links should automatically expire by default. The link will deactivate when the first configured limit is reached.
- Number of Views – The link expires after it reaches the specified number of views.
- Days – The link expires after a set number of days from creation.
Whichever limit is reached first will disable the link. This can be overridden on each individual link after creation.
## Notification
Controls the default frequency of email notifications sent when a shared link is viewed.
- Notification on first view – Sends an email only when the link is viewed for the first time.
- Notification on each view – Sends an email for every view event.
- No notification – Disables all view notifications.
## Require Email
Determines whether recipients must enter a valid email address before accessing the shared link.
- When enabled, viewers must provide an email address to proceed. This helps identify who accessed the link and improves tracking through analytics.
- When disabled, recipients can access the link without providing an email.
## Auto Sync
When files are shared externally using CloudFiles generated links, CloudFiles needs to cache the file temporarily before showing it to the end user. This is important for performance reasons. This caching is done on CloudFiles owned storages.
In default case, when this toggle is off, files are cached in CloudFiles owned storage on a temporary basis to decrease loading time and to ensure faster file availability.
This setting, when toggled on, allows users to fetch files directly from the source such as SharePoint, Google or other integrations, eliminating the need of caching files to CloudFiles owned storage on temporary basis.
> Enabling this setting would negatively impact the loading time of the files.
> The setting is disabled, by default.
---
# Compliance
https://help.cloudfiles.io/salesforce/compliance
# Compliance
The Compliance settings allow administrators to define the privacy and consent requirements that end users must acknowledge before accessing shared documents.
> Kind: Guide · Updated: Jul 4, 2026
The Compliance settings allow administrators to define the privacy and consent requirements that end users must acknowledge before accessing shared documents. These settings help organizations meet legal, regulatory, or internal compliance needs by displaying consent notices, privacy policy links, and optionally collecting IP addresses from viewers.
Once configured, Compliance applies to all CloudFiles shared links. Whenever an end user accesses a CloudFiles link, they will see the relevant consent prompts or privacy notices based on the settings enabled.

## End User Consent
Users may be prompted to accept a consent message before entering personal information, such as their email address while accessing a shared file.
### Enable End User Data Collection Consent
Toggle this option ON to require viewers to explicitly agree before entering any personal details.

When enabled, users will see a popup notice asking for their consent before proceeding.
### Consent Statement
This section allows admins to define the message that will be shown inside the consent popup.
You can customize the consent text using the rich text editor.
Example: “By continuing, you agree to provide your information for accessing this document.”

The message appears inside the privacy notice that the user must accept before viewing the file. Example:

## Privacy Policy
You can add your organization’s Privacy Policy URL to display inside the CloudFiles viewer. This ensures that end users can easily access your privacy guidelines when viewing shared documents.

When link is accessed, viewers will see a small “Privacy Policy” link inside the file viewer interface, ensuring transparency and compliance with privacy requirements.

## Track IP
Enable this option if you want to collect the IP address of users who open your shared links.

---
# Viewer Customization
https://help.cloudfiles.io/salesforce/viewer-customization
# Viewer Customization
The Viewer Customization settings allow administrators to control how end-users log in to access shared documents and how the CloudFiles viewer is visually displayed.
> Kind: Guide · Updated: Jul 4, 2026
The Viewer Customization settings allow administrators to control how end-users log in to access shared documents and how the CloudFiles viewer is visually displayed. These settings help tailor the viewing experience to your organization’s preferences while maintaining secure access to files.
Viewer Customization applies to all CloudFiles links once configured.
## Viewer Login Options
Viewer login options determine which authentication methods are shown to recipients when accessing a document through a CloudFiles link.
You can enable or disable any combination of supported login providers.
Available Login Methods:

- Email — Users can enter their email address to access the file.
- Google — Users can authenticate via their Google account.
- Microsoft / Outlook — Users can log in using their Outlook or Microsoft account.
When multiple login options are enabled, users will see all available methods on the login prompt.

## Viewer Default Theme
This setting defines the default appearance of the CloudFiles viewer.
You can choose between:
- Light Theme — A bright, standard interface.

- Dark Theme — A darker interface suitable for low-light environments.

The selected theme becomes the default look for all users viewing files through CloudFiles.
---
# Dataroom (Guide)
https://help.cloudfiles.io/salesforce/zqyW-dataroom
# Dataroom
A Dataroom in CloudFiles is a collection of files and folders shared through a single link, created and managed using Flow actions.
> Kind: Guide · Updated: Jul 4, 2026
A Dataroom in CloudFiles is a collection of files and folders that can be shared through a single link. It can include content from multiple storage locations, even across different cloud platforms, allowing users to share organized document sets efficiently.Datarooms can be created and managed using Flow actions, making it easy to organize, automate, and maintain document collections without manual effort.
## Create Data Room
You can create a Dataroom using the Create Dataroom flow action. You could set its name and description. Once created, the Dataroom acts as a central container for all files, folders, and file requests, all of which can later be shared through a CloudFiles link.

## Create File Request
A File Request enables external users to upload files to a designated external storage location configured from the Dataroom. It helps streamline the process of collecting documents such as contracts, forms, or identity proofs from clients or partners.
In Salesforce, the Create File Request flow action is used to configure and manage these uploads. You can define the name, description, and the destination where uploaded files shall be directed and stored. Once the sharing link is generated and shared, any files uploaded by end users are automatically saved to the specified location.

## Add Files, Folders, or File Requests to Dataroom
Once a Dataroom is created, you can add files, folders, or file requests. This is done using the Add to Dataroom Flow action.
The action supports two types of collections:
- Resources: Files or folders to be included in the Dataroom.
- File Requests: Items of type “File Request” used to collect external uploads.
Once the Files, Folders and File Requests were added, a Dataroom will look like this when it is accessed through a link:

After setting up a Dataroom, refer to the Create Links section to generate sharable link.
---
# Create Links (Guide)
https://help.cloudfiles.io/salesforce/create-links
# Create Links
The CloudFiles Document Sharing Add-On allows users to create sharing links for files, folders, or datarooms directly from Salesforce, either manually from the CloudFiles widget or automatically using Salesforce Flow actions.
> Kind: Guide · Updated: Jul 4, 2026
The CloudFiles Document Sharing Add-On allows users to create sharing links for files, folders, or datarooms directly from Salesforce. These links can be generated manually from the CloudFiles widget or automatically using Salesforce Flow actions. This article explains how to create sharing links manually and automatically.
## Create Link - Manual
Manual link creation is done from the CloudFiles widget on a Salesforce record.
Before creating links, ensure the widget is added to the desired record pages such as Contact, Opportunity, or Case.
Once added, the CloudFiles section appears in the record view, allowing users to connect folder or files to the record.

Connect a file or folder to the widget.

### Steps
After the widget is available with connected resources, users can create sharing links directly from Salesforce records.
- Open a record and locate the file/Folder under CloudFiles widget
- Hover over the file or folder to be shared.
- Click ⋮ (More Options) and select Share.

This opens the Link Settings dialog, where you can configure the sharing options.

Link Settings:
The Link Settings dialog allows you to control access, expiry, and security for the shared link.
a. Status
Use these options to enable sharing and manage basic access behavior:
- Online: Activates or deactivates the sharing link.
- Allow File Download: Lets recipients download the file or restricts them to view-only mode.
- Copy Link: Copies the generated sharing URL for distribution outside Salesforce.

b. Expiry
Set conditions that automatically disable the link after a defined limit:
- On (Date/Time): Expires the link on a specific date and time.
- After (Views): Expires the link after a specified number of views.

> **Note** — The link will expire when either of the two limits (date/time or view count) is reached, whichever comes first.
## Create Link - Automation
You can create a flow to create the link automatically (for a file/folder/dataroom) when specific conditions are met for example, when a new record is created or when an Opportunity moves to a particular stage.
### Steps
The Create Link flow action generates a shareable link for a file, folder, or dataroom.
This flow action accepts the following inputs:
- Drive ID - Drive Id of the external storage
- Library - sharepoint, google, etc
- Resource ID - File/Folder Id or dataroom Id
- Resource Type - file, folder, or dataroom
- Salesforce Record ID
The Create Link action returns the Link ID and URL. You can use the Link ID to update security settings through the CloudFiles flow action, and the link URL can be saved on the record or sent via email through further automation.
Refer to Security Control for configuring access controls manually or through automation.
---
# Security Control
https://help.cloudfiles.io/salesforce/security-control
# Security Control
The Security section in the Link Settings dialog allows users to restrict access and protect shared files using passwords, email-based validation, and domain-level controls.
> Kind: Guide · Updated: Jul 4, 2026
The Security section in the Link Settings dialog allows users to restrict access and protect shared files using passwords, email-based validation, and domain-level controls. These settings ensure that only authorized recipients can view or download the content.
## Configure - Manual
The Security settings control how recipients access a shared link and who is allowed to view it. These options help ensure that files are shared only with authorized users.
After the widget is available with connected resources, users can create sharing links directly from Salesforce records.
- Open a record and locate the file/Folder under CloudFiles widget
- Hover over the file or folder to be shared.
- Click ⋮ (More Options) and select Share.

### Available Options

- Password Protected: Enable password protection so users must enter a password before opening the shared link.
- Requires Email for Viewing: Allow access only to users who enter a valid email address.
- Enforce Email Verification: Verify the user’s email with verification code before granting access to the shared file or folder.
- Allow List: Use the Allow List to grant access only to specific users or domains. Only users whose emails or domains are added here will be able to open or download the shared file. If no allow list is set, the link remains accessible to anyone meeting other configured conditions. Emails: john@gmail.com, myname@domain.com Domains: cloudfiles.io, mysite.com
- Blocked List: Use the Blocked List to deny access to certain users or domains, even if they receive the shared link. Emails: test@domain.com Domains: test.com
## Configure - Automatic
Automatic configuration allows you to update link settings without manual intervention. This is useful when you want link behavior, such as security rules, access permissions, or download settings, to adjust automatically based on your business processes or record updates. The Update Link Settings action modifies the configuration of existing CloudFiles links.
### Available Options
Automatic configuration can update a link in several ways. It can disable or reactivate the link, allow or restrict downloads, limit access to specific users or domains, protect the link with a password, or enforce email verification.
The flow action accepts the following inputs to configure these settings for a link:
- Link Id - CloudFiles Link Id that you created using Create Link action
- Allowed Emails - List of Email Ids you wish to grant access to the link.
- Allowed Domains - List of Domains you wish to grant access to the link.
- Disable - To disable the CloudFiles Link.
- Allow Downloading - To allow downloading.
- Password - Text type input to make the link password protected.
- Enable Email Verification - To enforce email verification.
Once links has been created and configured related to a record, you can Manage Links using Doc-Sharing Widget.
---
# Manage Links
https://help.cloudfiles.io/salesforce/manage-links
# Manage Links
Once sharing links are created for a record, they can be viewed and managed through the Doc-Sharing widget on the record page.
> Kind: Guide · Updated: Jul 4, 2026
Once sharing links are created for a record, they can be viewed and managed through the Doc-Sharing widget on the record page. This widget lists all links created manually or through automation flows and allows users to view link details, update link settings, and manage access security.
## Adding a Widget to a Record
To manage shared links from the record page, you must add the CloudFiles widget to the Lightning record layout.
Steps:
- Open the record → click Setup → Edit Page to open the Lightning App Builder.
- Search for CloudFiles and drag the component onto the page.

- Set Widget Type to shared-links, then Save and Activate the layout.

This adds the Shared Links widget to the record, allowing users to manage file, folder, and dataroom links on that record.
## Widget View
After adding the widget, the Shared Links table becomes visible on the record page. This view provides a quick overview of all links associated with the record. The widget displays: Name, Created By, Created On, Views, Status, Analytics, Actions Menu

This helps users understand link usage and quickly perform actions without leaving the record page.
## Link Actions
From the Shared Links widget, each link has an Actions menu (▾).
Clicking this menu reveals options such as: Copy Link, Edit Link Settings, Export Analytics, Preview, Download

## Edit Link Settings
When selecting Edit Link Settings, a configuration dialog appears. This dialog includes:
### 1 - Status

- Online – Toggle to activate or deactivate the link.
- Sharing URL – The generated link with a Copy Link button.
- Allow File Download – Enable or disable downloading for recipients.
### 2 - Expiry
Options for setting when the link should expire. Whichever limit is reached first will deactivate the link.
- Expiry by Date/Time
- Expiry by Number of Views

### 3 - Security
Options to protect the link: Password protection, Require email for viewing, Enforce email verification, Allow/Block lists (emails or domains)

Users can adjust link availability, expiry, and security settings at any time, directly from the record page.
---
# Analytics and Engagement Tracking
https://help.cloudfiles.io/salesforce/analytics-and-engagement-tracking
# Analytics and Engagement Tracking
The Analytics and Engagement Tracking feature in CloudFiles provides detailed insights into how recipients interact with shared files and folders.
> Kind: Guide · Updated: Jul 4, 2026
The Analytics and Engagement Tracking feature in CloudFiles provides detailed insights into how recipients interact with shared files and folders. These analytics help users track engagement, downloads, and viewing behavior directly within Salesforce.
CloudFiles captures analytics for every shared link, and users can view them from the record page.
## Accessing Analytics
You can access analytics for any shared file or folder in two ways, depending on where the link is viewed.
### 1. From the Doc-Man Widget
- Open the relevant record and navigate to the folder/file in the Doc-Man Widget.
- Click the dropdown arrow next to the item.
- Select View Analytics.

### 2. From the Doc-Sharing Widget
Refer to Manage Links to add Doc-Sharing Widget into the record page.
- In the Shared Links section on the record page, locate the shared link.
- Click the Analytics icon (📈).

Both paths will open the Analytics Window which displays detailed engagement metrics for the selected file.

## Key Metrics
The Analytics window displays several important engagement metrics:

- Total Views: The total number of times the shared link has been accessed.
- Unique Views: The number of distinct users who have viewed the file.
- Downloads: Total number of file downloads.
- Total Time: Cumulative time viewers spent interacting with the file.
All metrics update automatically whenever a recipient views or downloads the file.
## Engagement Details
The File Engagement section provides deeper visibility into user-level interaction data, including: Location of the viewer (e.g., region or state), Email used to access the file, Time Spent on the file, Number of Sessions, Last Viewed On date.

### Individual Viewer Insights
Clicking on any individual View entry opens a user-specific engagement summary, displaying: Total time spent by that user, Total sessions, Downloads by that user, A session-wise breakdown of time spent, Last viewed date.

This helps identify how a specific user interacted with the document.
## Editing Link Settings
From the same analytics screen, users can also click Edit Link Settings to modify: Link status, Expiry settings, Security preferences, Download permissions.
## Analytics Export
Users can click Export Analytics in the analytics window to download the engagement data for reporting or audit purposes.
---
# Experience Cloud
https://help.cloudfiles.io/salesforce/experience-cloud
# Experience Cloud
CloudFiles extends Salesforce Experience Cloud by allowing files and folders from cloud storage to be shared securely with external users such as customers or partners.
> Kind: Guide · Updated: Jul 4, 2026
Salesforce Experience Cloud is used to create portals where external users such as customers or partners can access Salesforce data. CloudFiles extends Experience Cloud by allowing files and folders (from cloud storage) to be shared securely with these external users. It provides a way to control which documents are visible and what actions users can perform on them. This makes Experience Cloud an effective solution for external collaboration and document exchange.
## Setup
Experience Cloud sharing is enabled in the Experience Cloud section under Document Management in the CloudFiles app. Once enabled, CloudFiles widgets can be used in Experience Cloud sites to securely share files and folders with external users. These widgets surface content from Salesforce records or content libraries and make it available based on the selected configuration and user permissions.
The CloudFiles widget can be added to any Experience Cloud page, including record pages, home pages, and custom community pages. The widget acts as the primary interface through which Experience Cloud users interact with shared content.

## Permissions
Access to Experience Cloud functionality in CloudFiles is controlled by the CloudFiles External Users permission set. This permission set defines which Experience Cloud users can access CloudFiles features and what actions they can perform on files and folders.
You can adjust these permissions to match your business requirements and control widget visibility, access levels, and available operations.
Experience Cloud users don't need a Microsoft or SharePoint identity of their own to view shared files. CloudFiles connects to the external storage using its own single, account-level credential, the same one used for automated actions, and brokers access to the specific files and folders each user's permissions allow.

## Sharing Options
CloudFiles provides multiple ways to share files and folders with Experience Cloud users. You can share content automatically through a default configuration, manually through the CloudFiles record widget or Content Library, or trigger sharing through Salesforce Flow. Each method controls when files are shared and how access is granted. Experience Cloud users can view and interact with files based on the permissions assigned to them.

---
# Setup
https://help.cloudfiles.io/salesforce/setup
# Setup
The Setup section explains how to enable and configure Experience Cloud sharing in the CloudFiles app.
> Kind: Guide · Updated: Jul 4, 2026
The Setup section explains how to enable and configure Experience Cloud sharing in the CloudFiles app. It covers how sharing works, how to monitor usage, and how to add the CloudFiles widget to Experience Cloud pages.
## Enable Sharing
To allow Experience Cloud users to access CloudFiles content on an Experience Cloud site, you must first enable Experience Cloud sharing in the CloudFiles app. This activates the Experience Cloud integration and makes shared files and folders available to external users based on their site access, permissions, and record visibility. Once enabled, you can share files using default sharing, the record widget, content libraries, or automation.
- Go to the CloudFiles app
- Select Document Management
- Open Experience Cloud
- Turn on Enable sharing with Experience Cloud Users.

## Usage Monitoring
The Experience Cloud setup page includes usage monitoring to help administrators track external user activity and adoption over time.
Monitor Active Users:
The Total number of active users section shows the number of Experience Cloud users who accessed CloudFiles during the selected time period. The chart provides a visual view of activity trends and helps monitor usage patterns.
You can adjust the monitoring view using the following filters:
- Interval to control how activity is grouped (for example, Day)
- Date range to change the reporting period (for example, Last 30 days)

## Add Widget to Experience Cloud
The CloudFiles widget is a Lightning web component that displays files and folders within an Experience Cloud site. The content shown is determined by the page contex specifically, the Record Id and Object API Name provided in the widget configuration.
For example, on a record page, the widget displays files and folders related to the specified Salesforce record. On a home or custom page, the widget displays content based on the configured user or object context. The available actions depend on the selected widget configuration and the permissions assigned to the Experience Cloud user.
For detailed steps on adding the widget to different pages, refer toAdd Widget to Experience Cloud.
## Widget Actions
In the CloudFiles Community widget, external users who are assigned the CloudFiles External User permission set in Salesforce can perform actions such as uploading and downloading files, creating folders, deleting items (if allowed), generating shareable links, and viewing analytics.

The operations available to users depend on the CloudFiles permission set assigned to them and the widget configuration. Refer to Permissions to understand how this permission set works and how to customize it.
## Widget Configuration
Widget Configuration controls how the CloudFiles Experience Cloud widget behaves and what external users can see or do. You can manage visible columns, available actions (such as upload, download, or create folder), and optional restrictions such as supported file types or upload limits. These settings work together with the CloudFiles External User permission set to define the overall widget experience. Refer to Experience Cloud Widget Guide to setup and configure the widget.

---
# Add Widget to Experience Cloud
https://help.cloudfiles.io/salesforce/add-widget-to-experience-cloud
# Add Widget to Experience Cloud
The CloudFiles widget allows Experience Cloud users to view and work with files and folders based on the record or user context passed to the widget.
> Kind: Guide · Updated: Jul 4, 2026
The CloudFiles widget allows Experience Cloud users to view and work with files and folders based on the record or user context passed to the widget. The content displayed is determined by the Record Id and Object Name provided in the widget configuration—for example, showing record-related files when a Salesforce record ID is passed, or shared library content when a different context is configured.
## Record Page
On Experience Cloud record pages, you can add the CloudFiles Community widget to display the files and folders linked to the current Salesforce record.
After adding the widget in Experience Builder, configure the component properties as follows:
- Record Id: {!recordId}
- Object Name: API name of the object (for example, Lead or Case)

This ensures the widget loads the correct record-related content for Experience Cloud users.

## Home page or Custom Page
You may want to show CloudFiles content on an Experience Cloud home page or custom page, where the widget is not tied to a specific Salesforce record. This is useful when external users should see a shared folder or library content as soon as they log in (for example, customer documents or partner resources).
After adding the CloudFiles Community widget in Experience Builder, configure the component properties like this:
- Record Id – Set this to the logged-in user context.
For example: {!CurrentUser.id} (or {!CurrentUser.accountId} if you want to load content based on the user’s Account). You can find the list of all expressions available on a Experience site page here
If your Experience Cloud site is built using the Lightning Web Runtime (LWR) template, use: {!User.Record.AccountId} You can find the list of all expressions available on a Experience site page here
- Object Name – Enter the API name of the object used for the context.
Example: User (or Account, depending on the Record Id you are passing).
This setup ensures the widget loads the correct folders and files for the logged-in Experience Cloud user.
The below widget is configured using {!CurrentUser.Id}, it displays only the files and folders shared to the logged-in user’s Salesforce User record.

After the resources are shared, users can view them on the Home page as shown below:

## Add the Widget Using HTML
If you want to use CloudFiles community widget in the HTML code of your Experience site page, you can use the following code snippet.
Attributes -
- record-id- Id of the Salesforce record which has the content attached
- object-api-name - API name of the Salesforce record which has the content attached. For example - Account
- component-width - Optional. Widget of the widget, in percentage of the total page width. Default value is 100% of the page width
- component-height- Optional. Height of the widget. Default value is 328px
- widget-config-id - Optional. Id of the widget configuration to apply to this widget
---
# Permissions
https://help.cloudfiles.io/salesforce/permissions
# Permissions
Experience Cloud users can access CloudFiles content only if the CloudFiles External Users permission set is assigned to them in Salesforce.
> Kind: Guide · Updated: Jul 4, 2026
Experience Cloud users can access CloudFiles content only if the CloudFiles External Users permission set is assigned to them in Salesforce. This permission set determines what external users can see and what actions they can perform in the CloudFiles Community widget—such as viewing shared files and folders, downloading content, or uploading files (depending on what you allow).
## CloudFiles External Users
The CloudFiles External Users permission set is designed specifically for external users in Experience Cloud. It enables CloudFiles access in the Experience Cloud site and controls the actions available in the widget.
Assign the Permission Set to Users:
- Go to Setup → Permission Sets
- Select CloudFiles External Users
- Open Manage Assignments and click Add Assignment
- Select the Experience Cloud users who need access, then click Save to complete the assignment.
Once assigned, users can access CloudFiles folders and files that have been shared with them, based on sharing configuration and record visibility.
## Customize Permission Set
If you need to control what Experience Cloud users can do in the CloudFiles widget, clone the CloudFiles External Users permission set and customize the cloned version by modifying its Custom Permissions. These permissions determine which operations—such as viewing, uploading, downloading, sharing, or deleting files are available to external users in the CloudFiles widget.
Custom Permissions available in the permission set include:
- cldfs.Allow Downloading
- cldfs.Upload Files
- cldfs.Create Folder
- cldfs.Delete files & folders
- cldfs.Share files & folder
- cldfs.View Analytics
- cldfs.View Sharing Settings
Use these permissions to enable or restrict specific actions based on your business requirements.

---
# Sharing Options
https://help.cloudfiles.io/salesforce/sharing-options
# Sharing Options
CloudFiles offers multiple ways to share files and folders with Experience Cloud users, based on your business needs.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles offers multiple ways to share files and folders with Experience Cloud users. Each sharing option controls when and how external users can access content, based on your business needs.
CloudFiles supports four sharing methods for Experience Cloud users: Default Sharing, Content Library Sharing, Sharing via Record, and Sharing via Automation.
## Default Sharing
Default Sharing automatically shares record-related files and folders with Experience Cloud users when they are attached to a Salesforce record.
- Go to the CloudFiles app
- Select Document Management
- Open Experience Cloud
- Enable Automatically share files with experience cloud users when attached to a record
After this setting is enabled, any files or folders attached to a Salesforce record are automatically shared with Experience Cloud users who have access to that record in the site.

## Sharing via Content Library
CloudFiles allows files and folders to be shared with Experience Cloud users directly from the Content Library. This option is useful when content needs to be shared independently of a Salesforce record, such as sharing a library folder with a partner group or site audience. Once shared, Experience Cloud users can access the content from the Experience Cloud site based on their permissions.
- In the Content Library, open the folder that contains the file or subfolder you want to share.
- Click the dropdown menu for the file or folder you want to share.
- Select Share.
- In Share with groups, search for and select the community group or user.
- Click Done to finish sharing.


Once shared, the file is available to the selected Experience Cloud user or user group. Any CloudFiles Community widget configured to display content for the current logged-in user (Eg: Object - User, Record Id - {!CurrentUser.id}), will automatically show the files and folders shared with that user.

## Sharing via Record
CloudFiles allows internal users to manually share files or folders with Experience Cloud users directly from a Salesforce record. When a file or folder is shared using the Share with Community option from the CloudFiles record widget, it becomes available to external users through the CloudFiles Community widget on the corresponding Experience Cloud page.

To share content, open the required Salesforce record and locate the file or folder in the CloudFiles widget. To share an entire folder, click the gear icon and select Share with Community.

You can also share an individual file or subfolder by clicking the dropdown menu next to the item and selecting Share with Community.
Once shared, Experience Cloud users who have access to the related Salesforce record and the required permissions can view the shared files or folders in the Experience Cloud site through the CloudFiles Community widget.

## Sharing via Automation
Uses the Share With Community User Flow action to automate sharing of files and folders based on defined business logic. For advanced scenarios, the Share With Community User apex client method can be used to enable programmatic sharing with Experience Cloud users.
---
# Document Management Tutorials
https://help.cloudfiles.io/salesforce/document-management-tutorials
# Document Management Tutorials
Welcome to the Document Management tutorials category. This section contains a collection of step-by-step guides to help you get the most out of CloudFiles' document management features.
> Kind: Tutorial · Updated: Jul 4, 2026
Welcome to the Document Management tutorials category. This section contains a collection of step-by-step guides to help you get the most out of CloudFiles' document management features.
Browse through the list below to get started -
- Automated nested folders creation based on object relationships - In this tutorial, we'll automate nested folders creation in any external storage system based on object relationships using CloudFiles-Salesforce Integration. As an example, we'll demonstrate how to generate nested 'Opportunities' folders within associated 'Account' folder when new opportunities are created.
- Automatically moving files from Salesforce storage to external storage -In this tutorial, we will demonstrate how to automatically move files uploaded to Salesforce storage to an external storage system while deleting the originally uploaded files using Salesforce-CloudFiles integration. We will utilize CloudFiles flow actions to facilitate the file movement process.
- Copy Email Attachments to Case Folders in external storage if Email-to-Case is activated - In this tutorial, we'll guide you on copying Case email attachments to corresponding Case record's connected folder in any external storage when you have Email-to-Case enabled in your Org using CloudFiles-Salesforce Integration.
- Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects- In this tutorial, we'll guide you on creating automated folders and sub-folders in any external storage directly from any Salesforce Object using CloudFiles-Salesforce Integration. We will use CloudFiles flow actions to create these automated folders.
- Delete attached folder when Account record is deleted - In this article, we explain how to automatically delete a related folder from your external storage system (such as Google Drive, SharePoint, or Box) when a Salesforce record is deleted using the CloudFiles–Salesforce integration. This helps ensure that folders and their contents do not remain in external storage after the associated Salesforce records—like Accounts, Opportunities, or Cases—are removed.
- Enable Custom Actions in CloudFiles Widget: Build an Archive Button with Salesforce Flow - In this tutorial, we'll show how to use the Custom Action functionality of CloudFiles to streamline file management directly from within Salesforce. Custom Actions in CloudFiles allow you to define clickable actions, like Archive, Send E-mail etc., enabling users to trigger tailored Salesforce Flows for advanced automation and control without leaving the record page.
- Move Lead folder to Account folder on conversion - In this tutorial, we'll guide you on moving Lead folders into their respective Account folders in any external storage automatically on conversion of Lead. We will use CloudFiles flow actions to create these automated folders.
- Renaming a folder in SharePoint when the Record is updated - In this guide, we'll show you how to rename an Account folder in SharePoint linked to an Account record. We'll use CloudFiles flow actions to rename SharePoint Account folders automatically when the Account name changes.
- Setting Up a Custom List Action in the CloudFiles Widget - In this tutorial, we'll set up a custom list action in the CloudFiles widget to bulk delete files or folders directly from connected external storage. As an example, we'll demonstrate how to create a "Bulk Delete" button that lets users select multiple items in the widget and remove them permanently from both the storage system (e.g., SharePoint, Google Drive) and the Salesforce record page.
---
# Automated nested folders creation based on object relationships
https://help.cloudfiles.io/salesforce/automated-nested-folders-creation-based-on-object-relationships
# Automated nested folders creation based on object relationships
Learn how to automate nested folder creation in external storage systems based on object relationships, generating nested 'Opportunities' folders within associated 'Account' folders using CloudFiles flow actions.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, we'll automate nested folders creation in any external storage system based on object relationships using CloudFiles-Salesforce Integration. As an example, we'll demonstrate how to generate nested ‘Opportunities’ folders within associated ‘Account’ folder when new opportunities are created. We will use CloudFiles flow actions to create these nested folders.
## What to Expect
By the end of this tutorial, you can expect to -
- Have an Automated Account Folder and Opportunities sub-folder created when a new Account is created.
- Have nested folders for newly created opportunities within the associated account's Opportunities sub-folder.
- You will be able to attach these folders and sub-folders to your record and will also be able to access these folders within your Salesforce record within CloudFiles widget
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 10 minutes.

## Tutorial Video
Refer to the quick video if you would like to have a visual guide for this tutorial. Read on if you prefer textual content.
[Watch video](https://youtu.be/eh74uEFdx4c)
## Pre-requisites
Before you start with the set-up, please ensure these steps are completed.
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation Guide to know more.

### Connect your Cloud Storage to Salesforce using CloudFiles
All automations in CloudFiles are activated through Salesforce Flow Builder, utilizing account-wide authentication for external storage libraries through a service (admin) user. To connect your service user, access the setup, click on the external storage of choice and log into your account. For detailed steps, refer to the GIF below for a clearer understanding.

### Add CloudFiles Widget to Account Record
To add the CloudFiles widget to the Account record in Salesforce, first, navigate to the Account page and click on the "Edit Page" button. Once in the Lightning Builder, insert a new tab and drag and drop the "CloudFiles" widget onto the page. Save the changes and exit the builder. Refresh the Salesforce record page, and the widget should now be visible, allowing easy access to view files and folders within Salesforce.

## Create Account Folder on new Account creation
We will create a record-triggered flow to automatically create account folder whenever a new account is created. An opportunity sub-folder will also be created within the account folder.
This is how the final flow looks like -

The details of the flow has been given below -
### 1 - Create Account folder using ‘Create Folder’ action
Create Folder action can be used to create folders in any location on any cloud storage platform from Salesforce flows. We will use this action to first create the account’s parent folder.
> **Note** — Note: If you use a record triggered flow, make sure you run this action on an asynchronous path as shown below. For detailed understanding, you can refer the Gif below -


To use the “Create Folder” action, simply click on add element button and search for ‘Create Folder’ as shown below. Once you add this action, it will ask you to fill in certain parameters.

This action requires a few parameters. Here is a quick reference on what these are and how to get these. For a detailed description, refer to the Create Folder detailed guide.
1 - Library
This is the desired Cloud storage where you wish to create the folder. Possible values are sharepoint, google (for Google Drive), onedrive, dropbox, box, cloudfiles (AWS S3)
2 - Folder name
Folder name is the name you wish to give your created Folder. We simply use the Account’s name but you can also create a complex text formula variable as allowed by Salesforce flows.
3 - Destination parameters
There are a few other parameters that help specify where the target folder should be created. E.g. in SharePoint, which site, drive and parent folder should this folder get created in. These parameters can be easily copied from within Salesforce using the Content Library Tab.
Here is a quick reference of these parameters -
- Parent Folder ID -This is the cloud drive generated ID of the folder where you want to create this folder in.
- Drive ID -This is important for google drive & sharepoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
These parameters can be copied by accessing your Cloud storage using CloudFiles from within Salesforce. Follow these steps -
- Click on App Launcher on top left. Search for the “CloudFiles” App.
- In the CloudFiles App, select the Content Library Tab.
- Go to your preferred cloud storage. Go to the target folder where you would like to place the created folders in.
- Click on ‘View metadata’ button as shown below. A dialog box opens up which shows all the IDs. Copy the ID from here.
These steps have been shown in the GIF below -

This flow action returns various values related to the newly created folder. We will use the newly created folder’s ID in the next step to create a sub-folder for Opportunity.
Here’s what the final Create Folder action looks like -

### 2 - Create Opportunity sub-folder using ‘Create Folder’ action
To create opportunity sub-folder, we can simply use the same ‘Create Folder’ action that we used above with a couple of simple tweaks.
- Change the ‘Folder Name’ to ‘Opportunities’ or any desired name.
- Change the ‘Parent Folder ID’ to the return value of the previous ‘Create Folder’ Action. This way, this new folder will get created inside the account’s folder we created previously.
Here’s how your second Create Folder action should look like -

Now that we have Account and Opportunities folder created, we want all of this to show up on the Salesforce record. We will use the ‘Create Attachment’ action to associate the account folder to the Salesforce Account record. Later we will use the CloudFiles widget to actually see and manage the folder from the record.
### 3 - Show Account Folder on Record using ‘Create Attachment’ Action
Create Attachment action allows you to attach the created folders to salesforce record. To use this action, simply click on add element button and search for ‘Create Attachment’ as shown below.
Once you add this action, it will ask you to fill in certain parameters. “Drive ID” and “Library” parameters will be same as above. Add the remaining parameters as given below -
- Resource Id: ID of your Account folder. You can get it from your earlier “Create Folder” action.
- Resource Type: folder
- Salesforce Record Id: ID of the Salesforce record → {!$Record.Id}
Refer to the GIF below to get a visual understanding of this step.

Here’s how our final Create Attachment action looks like -

### 4 - Save the Opportunity sub-folder ID into custom property
Create a custom property to store the ‘Opportunities’ sub-folder’s ID, which will facilitate the creation of nested new opportunity folders within the Account’s folder in the next flow. To do so, add ‘Update Triggering record’ action and store the Output ID from ‘Create Opportunity folder’ action into a custom field.
Save and activate the flow. Refer to the GIF below to get a visual understanding of this step.

Once the account folder is created, we will create a flow to automatically create opportunity folders within the previously created opportunity sub-folder once a new opportunity is created for the associated Account record.
## Create Nested Opportunity Folder within Account Folder
We will create a record-triggered flow to automatically create opportunities folder whenever a new opportunity is created. This folder should be created within the opportunity sub-folder of account folder.
This is how the final flow looks like -

The details of the flow has been given below -
### 1 - Create Opportunity folder using ‘Create Folder’ action
To create opportunity folder, we can simply use the same ‘Create Folder’ action that we used above with a couple of simple tweaks.
- Change the ‘Folder Name’ to Record Name or any desired name.
- For ‘Parent Folder ID’, enter the custom property that we created in the previous step. This will ensure the new opportunities folders are created within the Opportunities sub-folder of the Account record.
Here’s how your action should look like -

Refer to the GIF below to have a visual understanding of this step

### 2 - Show Opportunity Folder on Record using ‘Create Attachment’ Action
To show opportunity folder on the record, we can simply use the same ‘Create Attachment’ action that we used above with a couple of simple tweaks.
Once you add this action, it will ask you to fill in certain parameters. “Drive ID”, “Library”, “Resource Type” and Salesforce Record Id” will be same as above. For Parent Folder Id, enter the ID of your Opportunity folder. You can get it from your earlier “Create Folder” action.
Save and activate the flow. Here’s how our final Create Attachment action looks like -

## Test the Nested Folders in Action
Now that everything is setup, lets test our flow. Follow the steps below to see the nested folder in action.
- Simply create a new Account record in Salesforce and then go the ‘Files’ tab that we added in the previous step.
- The flow may take a few seconds to run so click on the refresh icon on top right of the widget.
- Once the folder is connected, the system might show you a “Connect to SharePoint” button as shown below. This is a one-time login that your users will need to perform the first time they access CloudFiles using Salesforce.
- Once you connect your SharePoint here, you should see the newly created Account Folder and Opportunities sub-folder.
- Now create a new opportunity and associate it to the account created earlier.
- Navigate to the ‘Files’ tab. You should be able to see newly created Opportunity Folder.
- You can quickly navigate to SharePoint as shown below.
- You will be able to cross check that the opportunity folder is created within the ‘Opportunities’ sub-folder of respective account folder.
These steps are illustrated in the GIF below -

Congratulations! You've successfully created Nested folders based on object relationships using Salesforce flows.
---
# Automatically moving files from Salesforce storage to external storage
https://help.cloudfiles.io/salesforce/automatically-moving-files-from-salesforce-storage-to-external-storage
# Automatically moving files from Salesforce storage to external storage
Learn to transfer files from SFDC storage to external storage using CloudFiles, automatically moving uploaded files while deleting originals.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, we will demonstrate how to automatically move files uploaded to Salesforce storage to an external storage system while deleting the originally uploaded files using Salesforce-CloudFiles integration. We will utilize CloudFiles flow actions to facilitate the file movement process. Files in Salesforce can come from a variety of source, for example - from your document generation tool, e-signature tool, email to case, or manual uploads by your users.
## What to Expect
By the end of this tutorial, you can expect to -
- Copy the files uploaded in Salesforce storage to Account’s parent folder in external storage automatically
- Automatically delete the original file stored in Salesforce storage.
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 10 minutes.

Our final setup involves a number of flow actions added to a Salesforce flow as shown below. In the sections below, we cover each of these actions and how to configure them.

## 1- Pre-requisites
Before you start with the set-up, please ensure these steps are completed.
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation Guide to know more.

### Connect your Cloud Storage to Salesforce using CloudFiles
All automations in CloudFiles are activated through Salesforce Flow Builder, utilizing account-wide authentication for external storage libraries through a service (admin) user. To connect your service user, access the setup, click on the external storage of choice and log into your account. For detailed steps, refer to the GIF below for a clearer understanding.

### Add CloudFiles Widget to Account Record
To add the CloudFiles widget to the Account record in Salesforce, first, navigate to the Account page and click on the "Edit Page" button. Once in the Lightning Builder, insert a new tab and drag and drop the "CloudFiles" widget onto the page. Save the changes and exit the builder. Refresh the Salesforce record page, and the widget should now be visible, allowing easy access to view files and folders within Salesforce.

## 2- Create a Record-Triggered Flow
In this step, we will create a record-triggered flow on the CloudFiles Event custom object. This flow is triggered whenever a CloudFiles Event record is created and meets the defined entry conditions.
This flow will handle two key operations:
- Copying files from Salesforce storage to external storage
- Deleting the original files from Salesforce storage after a successful copy
Refer to the GIF below for a visual walkthrough of creating the record-triggered flow and configuring the start conditions.

CloudFiles generates event records for multiple types of actions. To ensure the flow runs only for relevant scenarios, we will configure entry criteria so the flow is triggered only when a CloudFiles Event record is created.
The detailed handling of different event types—such as file uploads and file copy confirmations—is managed later in the flow using Decision elements. Each event type is processed in a separate branch, which we will configure step by step in the following sections.
## Copy Uploaded files from Salesforce storage to External storage
CloudFiles event records can be generated for a variety of actions. In this section, we will focus on filtering events triggered when a file is attached to the Notes & Attachments section of an Account.
When such an event is detected, the flow will:
- Retrieve the Account’s connected folder in the external storage system, and
- Copy the uploaded file from Salesforce storage to the corresponding Account folder in external storage.
In addition to handling file uploads, the flow also includes a second condition to detect successful file copy events. This condition is used to initiate the cleanup process by deleting the original file from Salesforce storage, ensuring that files are retained only in the external storage system.
These conditions are implemented using Decision elements, with each outcome handled in a separate branch. The configuration of each branch is explained step by step in the sections that follow.
### 1 - Use a Decision Element to Identify Salesforce File Attached Events
Start by adding a Decision element to the flow. This element is used to filter CloudFiles Event records and ensure that the flow proceeds only when a file is uploaded to Salesforce storage.
Create a new outcome specifically for file upload events and configure the condition as follows:
- $Record → Type equals salesforce-file-attached
This condition ensures that only events generated when a file is attached in Salesforce are processed in this branch of the flow.
This is how the Outcome Details configuration looks.

Once the file upload event is identified, we need to determine which Account the file was uploaded to. To retrieve the required Account and folder information, we will use two CloudFiles actions:
- Get Event Details
- Get Connected Folder
These actions allow us to extract the Account ID from the event and locate the corresponding Account folder in external storage.
### 2 - Get Salesforce File Attached Event Details Using the Get Event Details Action
To retrieve detailed information about the Salesforce File Attached event, add the Get Event Details action to the flow. This action provides key metadata related to the event, including the Salesforce record ID (Account ID) associated with the file upload.
This Account ID is required in the subsequent steps to locate the Account’s connected folder in external storage.
When configuring the action:
- Add the Get Event Details CloudFiles action
- In the Event (Custom Object) placeholder, select Triggering Record
Refer to the GIF below for a visual walkthrough of configuring the Get Event Details action.

### 3 - Get Account Folder Details Using the Get Connected Folder Action
The previous step returns several outputs, including the Salesforce record (Account) ID associated with the file upload event. To locate the corresponding Account folder in external storage, we will use the Get Connected Folder action.
When configuring this action:
- Add the Get Connected Folder CloudFiles action
- In the Parent ID field, select Get File Attached Event Details -> SalesforceFiles Details → ParentId
This configuration allows CloudFiles to identify and retrieve the connected external storage folder associated with the Account.
Refer to the GIF below for a visual walkthrough of configuring the Get Connected Folder action.

Once the Account’s parent folder details are retrieved, we can proceed to copy the uploaded files from Salesforce storage to the external storage system.
### 4 - Copy Uploaded Files to External Storage Using the Copy Salesforce Files Action
To copy files from Salesforce storage to an external storage system (such as SharePoint, Google Drive, or other supported providers), we will use the Copy Salesforce Files action.
Add the Copy Salesforce Files CloudFiles action to the flow and configure the following parameters:
- Content Document IDs Specify the Salesforce IDs of the uploaded files. Select Get File Attached Event Details -> SalesforceFiles Details → ContentDocumentIds from the output of the Get Event Details action.
- Drive ID Identify the external storage drive where the file should be copied. Select DriveId from the output of the Get Connected Folder action.
- Folder ID Specify the target folder in the external storage system where the file should be copied. Select the appropriate Folder ID from the output of the Get Connected Folder action.
- Library Select the external storage provider (for example, SharePoint, Google Drive, etc.).
- Salesforce Record ID Specify the Salesforce record to which the original file was attached. Select Get File Attached Event Details -> SalesforceFiles Details → ParentId from the output of the Get Event Details action.
This configuration ensures that the uploaded file is copied to the correct Account folder in external storage and remains properly associated with the Salesforce record.
This is how the Copy Salesforce Files action is configured in the flow.

Refer to the GIF below for a visual walkthrough of this step.

## Delete files from the Salesforce storage
Once the files have been successfully copied from Salesforce storage to the external storage system, the final step is to delete the original files from Salesforce storage. This ensures that files are retained only in external storage, helping reduce Salesforce storage usage.
To achieve this, we will add another branch to the existing Decision element in the flow. This branch will handle events that confirm a successful file copy and will initiate the deletion process.
The detailed configuration of this branch is covered in the steps that follow.
### 1 - Use a Decision Element to Identify Successful File Copy Events
Add a new outcome to the existing Decision element to determine when a file has been successfully copied from Salesforce storage to external storage.
Configure the outcome with the following condition:
- $Record → Type equals salesforce-file-copied
This condition ensures that the flow proceeds only after CloudFiles confirms that the file copy operation has completed successfully.
This is how the Outcome Details configuration looks.

### 2 - Get Copied File Event Details Using the Get Event Details Action
To retrieve details of the Salesforce File Copied event, add the Get Event Details action to the flow. This action provides information related to the copied file, including the Content Version ID, which is required for identifying and deleting the original file in Salesforce storage.
When configuring this action:
- Add the Get Event Details CloudFiles action
- In the Event (Custom Object) dropdown, select Triggering Record
This is how the Get Event Details action is configured in the flow.

### 3 - Get the Content Version of the Original Salesforce File Using Get Records
To identify the original file uploaded to Salesforce storage, we need to retrieve its Content Version record. A Content Version represents a specific version of a file stored in Salesforce and contains the reference required to delete the associated document.
To do this, add a Get Records element to the flow and configure it as follows:
- Object: ContentVersion
- Condition: ContentVersionId equals Get File Copied Event Details -> SalesforceFileCopied → ContentVersionId (This value is obtained from the output of the previous Get File Copied Event Details action.)
This configuration allows the flow to locate the correct Content Version associated with the copied file.
Refer to the GIF below for a visual walkthrough of configuring the Get Records element.

### 4 - Delete original file using 'Delete Records' action
Once the Content Version of the original file has been retrieved, the final step is to delete the corresponding Content Document from Salesforce storage.
To do this, add a Delete Records element to the flow and configure it as follows:
- Object: ContentDocument
- Condition: ContentDocumentId equals Get Content Version -> ContentDocumentId (This value is obtained from the output of the previous Get Records action.)
This step permanently removes the original file from Salesforce storage after it has been successfully copied to external storage.
Refer to the GIF below for a visual walkthrough of configuring the Delete Records element.

That's it! Save and activate the flow to complete the setup.
## Test the flow in action
Now that the setup is complete, let's test the flow to verify that files are automatically moved from Salesforce storage to the Account folder in external storage.
Follow the steps below to validate the configuration:
- Upload a file to an Account
- Create a new Account record or open an existing one.
- Upload a file in the Notes & Attachments section.
- Verify the file in external storage
- Navigate to the Files tab.
- The flow may take a few seconds to execute, so click the refresh icon in the top-right corner of the CloudFiles widget if needed.
- Confirm that the uploaded file appears in the Account's folder in external storage.
- Confirm deletion from Salesforce storage
- Navigate back to Notes & Attachments.
- Verify that the original file has been removed from Salesforce storage.
Congratulations! You've successfully configured the automation to move files from Salesforce storage to the corresponding Account folder in external storage.
---
# Copy Email Attachments to Case Folders in external storage if Email-to-Case is activated
https://help.cloudfiles.io/salesforce/copy-email-attachments-to-case-folders-in-external-storage-if-email-to-case-is-activated
# Copy Email Attachments to Case Folders in external storage if Email-to-Case is activated
Guide to automatically copy Case email attachments to corresponding Case record folders in external storage using CloudFiles-Salesforce Integration when Email-to-Case is enabled.
> Kind: Tutorial · Updated: Jul 4, 2026
## What to Expect
By the end of this tutorial, you can expect to -
- Have Case folders created in external storage automatically whenever a new case record is created.
- If your Org has been enabled to create Case records through Email-to-Case, then copy the Case email attachments into corresponding case folder in external storage.
The GIF below shows the expected output.

The configuration for this involves a few Salesforce flows with CloudFiles actions in them. In the sections below, we cover each of these Salesforce flows , the actions used in them and how to configure them.
## Pre-requisites
Before you start with the set-up, please ensure these steps are completed.
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation guide to know more.

### Connect your Cloud Storage to Salesforce using CloudFiles
All automations in CloudFiles are activated through Salesforce Flow Builder, utilizing account-wide authentication for external storage libraries through a service (admin) user. To connect your service user, access the setup, click on the external storage of choice and log into your account. For detailed steps, refer to the GIF below for a clearer understanding.

### Set Up Email-to-Case
Set up Email-to-Case to have Salesforce automatically create case records when email messages are sent to the configured support email addresses. If you haven't yet, you can follow this Set Up Email-to-Case Salesforce Help Doc.
### Add CloudFiles Widget to Case Record Page
To add the CloudFiles widget to the Case record page in Salesforce, first, navigate to any Case page and click on the "Edit Page" button. Once in the Lightning Builder, insert a new tab and drag and drop the "CloudFiles" widget onto the canvas. Save the changes and exit the builder. Refresh the Salesforce record page, and the widget should now be visible, allowing easy access to view files and folders within Salesforce.

## Flow 1 - Create and Attach Case Folder on new Case creation
We will create a record-triggered flow to automatically create Case folder whenever a new Case is created.
This is how the final flow looks like -

### 1 - Configure the Record Triggered Flow on 'Case' Object
To configure the record-triggered flow on the 'Case' Object, follow these detailed instructions:
- Create a new flow and select 'Record-Triggered' as the flow type.
- Specify the object as 'Case'.
- Choose the trigger option 'A record is created'.
- Optimize the flow for 'Actions and Related Records'.
- Check the 'Include Asynchronous Path' checkbox to enable the 'Run Asynchronously' path in the flow.
> **NOTE** — NOTE - In Record-triggered flows, make sure you run CloudFiles actions only in 'Run Asynchronously' path.
Refer to the GIF below for a visual understanding of this step -

### 2 - Create Case Folder using ‘Create Folder’ Action
In the 'Run Asynchronously' path add a Create Folder action to create Case folders at any desired location in connected external storage.
Once you add this action, it will ask you to fill in certain parameters.
- Library - This is the desired Cloud storage where you wish to create the folder. Input sharepoint for SharePoint, google for Google Drive, onedrive for OneDrive Personal & OneDrive for business, dropbox for Dropbox, box for Box, cloudfiles for AWS s3.
- Folder name - Input the Folder name you wish to give your created Folder.
Here, we input the Case number {!$Record.CaseNumber}but you can also use a complex text formula if you wish to.
- The next two parameters i.e. Parent Folder ID and Drive ID help specify where the target folder should be created. E.g. in SharePoint, which site, drive and parent folder should this folder get created in. These parameters can be easily copied from within Salesforce using the 'Content Library' tab on CloudFiles.
- Parent Folder ID -This is the cloud drive generated ID of the folder where you want to create this folder in.
- Drive ID -This is important for google drive & sharepoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
These parameters can be copied by accessing your Cloud storage using CloudFiles from within Salesforce. Follow these steps -
- Click on App Launcher on top left. Search for the “CloudFiles” App.
- In the CloudFiles App, select the Content Library Tab.
- Go to your preferred cloud storage. Go to the target folder where you would like to place the created folders in.
- Click on ‘View metadata’ button as shown below. A dialog box opens up which shows all the IDs. Copy the ID from here.
Refer to the GIF below to get a visual understanding of this step.

For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. This flow action returns various values related to the newly created Case folder. We will use the newly created folder’s details in the next step to attach it to the Case, so that the folder is visible in the Case record page's CloudFiles widget.
### 3 - Attach created Case Folder to Case record using ‘Create Attachment’ Action
Add a Create Attachment action to attach the created Case folder to Case record. Attaching (or associating) our newly created Case folder is important since this will enable us to see and operate on the folder contents right from the Case record.
Once you add this action, it will ask you to fill in certain parameters.“Drive ID” and “Library” parameters will be same as those input in Create Folder action. Add the remaining parameters as given below - Add the parameters as given below -
- Resource Id - Input the 'resource Id' of the folder to be attached. se the output of “Create Case Folder” action as 'Create Case Folder' > id (resource id)
- Resource Type - Input the Resorce Type of the resource to be attached. Here, simply enter folder.
- Salesforce Record Id: ID of the Salesforce Record Case onto which the resource is to be attached. Here, input the flow triggering Case Record Id i.e. {!$Record.Id}
Refer to the GIF below to get a visual understanding of this step.

### 4 - Save and Activate the flow.
Once the Flow is activated, for every new case record created, this flow automatically creates a Case folder in the external storage at the desired location and attaches it to the Case record.
## Flow 2 - Copy Case Email attachments to Case Folder on new Email message
We will create a record-triggered flow on Email message object to automatically copy Email attachments into corresponding Case folder.
This is how the final flow looks like -

### 1 - Configure the Record Triggered Flow on 'Email Message' Object
To configure the record-triggered flow on the 'Email Message' Object, follow these detailed instructions:
- Create a new flow and select 'Record-Triggered' as the flow type.
- Specify the object as 'Email Message'.
- Choose the trigger option 'A record is created'.
- Set the entry conditions, to trigger the flow only when the Email Message has files attached to it. For this, select 'Condition Requirements' as 'All Conditions Are Met (AND). Set the single condition, with field as 'HasAttachment', operator as 'Equals' and Value as 'TRUE'.
- Optimize the flow for 'Actions and Related Records'.
- Check the 'Include Asynchronous Path' checkbox to enable the 'Run Asynchronously' path in the flow.
> **NOTE** — NOTE - In Record-triggered flows, make sure you run CloudFiles actions only in 'Run Asynchronously' path.
Refer to the GIF below to get a visual understanding of this step.

### 2 - Get 'Content Document Link' records linked to the Email Message
In the 'Run Asynchronously' path add a 'Get Records' element to output all the 'Content Document Link' records linked to the 'Email Message' that triggered the flow.
Refer to the GIF below to get a visual understanding of this step.

This element outputs a 'Content Document Link Record Collection' with all the records associated with the flow triggering Email Message record. The output of this element shall be used in subsequent elements of the flow.
### 3 - Add a pause element to ensure Case Folder creation
Add a 'CloudFiles: Delay' Apex action into the flow, positioned after the 'Get Records' element and before retrieving details of the corresponding Case folder in the subsequent action. The 'CloudFiles: Delay' Apex action functions as a 'pause for a given time' element before the flow proceeds to execute the next action or element.
The execution of "Flow 1", responsible for Case Folder creation and attachment, may encounter delays. To prevent flow errors when fetching Case folder details before the completion of "Flow 1", this delay element is incorporated into the flow.
Once you add the 'CloudFiles: Delay' Apex action, it will ask you to fill in a single parameter.
Delay(milli seconds) - The amount of time the pause acts for in milliseconds.
Refer to the GIF below to get a visual understanding of this step.

> **NOTE** — NOTE - Avoid setting a long pause duration as it may result in flow timeouts and errors. For this specific flow, a delay of 10,000-15,000 milliseconds should suffice.
### 4 - Get Case Folder of the Email Message's corresponding Case
Add a Get Connected Folder action to output the details of corresponding Case record's folder.
Once you add the action, it will ask you to fill in a single parameter.
ParentId - Input the Salesforce Record Id whose connected folder is to fetched.
Here, input the flow triggering Email Message record's Case Id as 'Record' > 'Case ID' i.e. {!$Record.ParentId}
Refer to the GIF below to get a visual understanding of this step.

In case the Salesforce Record has got a single folder attached to it, then Get Connected Folder outputs the attached folder details.
### 5 - Gather the Content Document IDs of all attachments to be copied.
Add a 'Loop' element and set it to loop through the 'Content Document Link Record Collection' output by the 'Get Email Attachments' element. For each 'Content Document Link' in the loop, with an 'Assignment' element, add its corresponding 'Content Document ID' to a text collection variable. After the end of the loop, the text collection variable will contain all the Content Document IDs of the email attachments.
Refer to the GIF below to get a visual understanding of this step.

### 6 - Copy the Email Attachments' Content Documents to the Case Folder
Add a Copy Salesforce Files Apex action to Copy the Email Attachments to the fetched Case folder. Once you add this action, it will ask you to fill in certain parameters. Add the parameters as given below -
- Content Document Ids - Input the Content Document Id Collection which are to be copied.
Here, input the Content Document Id Collection gathered by the Loop.
- DriveId - Input the copy destination's Drive Id (Only for SharePoint and Google Drive)
Here, input the 'Drive Id' of Case Folder output by 'Get Case Folder' action.
- Folder Id - Input the copy destination's Folder Id.
Here, input the 'Folder Id' of Case Folder output by 'Get Case Folder' action.
- Library - Input he copy destination's Cloud storage. Input sharepoint for SharePoint, google for Google Drive, onedrive for OneDrive Personal & OneDrive for business, dropbox for Dropbox, box for Box, cloudfiles for AWS s3. You can even use the outputs of the 'Get Case Folder' action.
Here, input the Cloud Storage or use 'Library' output by 'Get Case Folder' action.
- Salesforce Record Id (Optional) - Optionally input the Record Id from which the files will be copied.
Here, optionally input the Email Message Id from which the files will be copied.
> **NOTE** — NOTE - The 'Content Document Ids' parameter only accepts a text collection as a valid input. Even if you have only one Content Document Id, you must input it as a text collection.
Refer to the GIF below to get a visual understanding of this step.

### 7 - Save and Activate the flow
Once the Flow is activated, for every new Email received , this flow automatically copies the email attachments to Case folder attached to respective Case record.
## Test the Flows in action
Now that everything is setup, lets test our flows. Follow the steps below to see this automation in action.
- To create a case, send an Email to Email address used in Email-to-Case setup.
- Attach a few files to this email. These can be any type or size of files.
- Open the created case. It may take upto a minute for the case to get created by Email-to-Case functionality.
- Within the CloudFiles widget on Case record page:
- Find an automatically created Case folder in the configured external storage.
- Find all the Email attachments copied into the Case Folder.
> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see any changes, try refreshing the CloudFiles widget a couple of times.
Congratulations! You've successfully configured flows to automatically create Case folders for new Case records and copy Case Email Attachments to their respective Case folder in external storage.
---
# Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects
https://help.cloudfiles.io/salesforce/create-automated-folder-hierarchies-for-managing-external-files-from-salesforce-objects
# Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects
Learn to create automated folders & sub-folders in any external storage like sharepoint directly from any Salesforce Object using Salesforce Integration.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, we'll guide you on creating automated folders and sub-folders in any external storage directly from any Salesforce Object using CloudFiles-Salesforce Integration. We will use CloudFiles flow actions to create these automated folders.
If you have a basic grasp of Salesforce flows, you can expect to finish the tutorial in under 10 minutes.
## What to Expect
By the end of this tutorial, you can expect to -
- Create an account object and have a folder created for it automatically in your backend storage.
- Have sub-folders created inside the account folder as per your custom requirement.
- You will be able to see these folders and sub-folders from your record.
- You will also be able to do various file & folder operations such as upload, preview, delete, edit etc.. right from the record.
The GIF below shows the expected output.

Our final setup involves a couple of flow actions added to a Salesforce flow as shown below. In the sections below, we cover each of these actions and how to configure them.

## Tutorial Video
Refer to the quick video if you would like to have a visual guide for this tutorial. Read on if you prefer textual content.
[Watch video](https://youtu.be/Ra5VgB8V_iU)
## 1- Pre-requisites
Before you start with the set-up, please ensure these steps are completed.
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation guide to know more.

### Connect your Cloud Storage to Salesforce using CloudFiles
All automations in CloudFiles are activated through Salesforce Flow Builder, utilizing account-wide authentication for external storage libraries through a service (admin) user. To connect your service user, access the setup, click on the external storage of choice and log into your account. For detailed steps, efer to the GIF below for a clearer understanding.

## 2 - Create Account Folder using 'Create Folder' Action
"Create Folder" action can be used to create folders in any location on any cloud storage platform from Salesforce flows. We will use this action to first create the account's parent folder.
> IMPORTANT - If you use a record triggered flow, make sure you run this action on an asynchronous path as shown below.

Create a new flow in your Salesforce org, select the trigger and add an asynchronous path as shown in the GIF below. We will then add CloudFiles flow actions on the asynchronous path.

To use the "Create Folder" action, simply click on add element button on the asynchronous path and search for 'Create Folder' as shown below. Once you add this action, it will ask you to fill in certain parameters.

This action requires a few parameters. The Library parameter is the desired Cloud storage where you wish to create the folder. Possible values are sharepoint, google (for Google Drive), onedrive, dropbox, box, cloudfiles (AWS S3). The Folder name is the name you wish to give your created Folder. We simply use the Account's name but you can also create a complex text formula variable as well. We also need to enter values for Drive ID & Parent Folder ID. This is covered in the next section.
The GIF below shows how to populate the Library & Folder name parameter.

## 3 - Configure Destination Parameters in Flow Action
In the 'Create Folder' action, There are a few other parameters that help specify where the target folder should be created. E.g. in SharePoint, which site, drive and parent folder should this folder get created in. Here is a quick reference of destination parameters -
- Parent Folder ID - This is the cloud drive generated ID of the folder where you want to create this account folder in.
- Drive ID - This is important for google drive & sharepoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
These parameters can be easily copied from within Salesforce using the CloudFiles Content Library Tab. Follow these steps -
- Click on App Launcher on top left. Search for the "CloudFiles" App.
- In the CloudFiles App, select the Content Library Tab.
- Go to your preferred cloud storage. Go to the target folder where you would like to place the created folders in.
- Click on 'View metadata' button as shown below. A dialog box opens up which shows all the IDs. Copy the ID from here.
Check the GIF below for a quick walkthrough of these steps.

For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. This flow action returns various values related to the newly created folder. We will use the newly created folder's ID in the next step to create a sub-folder.
Here's how our final Create Folder action looks like.

## 4 - Create Sub-Folders using 'Create Folder' Action
To create sub-folders, we can simply use the same 'Create Folder' action that we used above with a couple of simple tweaks.
- Change the 'Folder Name' to reflect the sub-folder you want to create. We are creating 'Proposals' sub-folder inside our account folder.
- Change the 'Parent Folder ID' to the return value of the previous Create Folder Action. This way, this new folder will get created inside the account's folder we created previously.
Here's how your second Create Folder action should look like.

You can choose to have as many sub folders as you want. Simply duplicate the Create Folder action. You can also create sub-sub-folders and even deeper hierarchies using this method. If you have very large or complex folder structure, we recommend using folder cloning method instead.
Now that we have parent and sub-folders created, we want all of this to show up on the Salesforce record. We will use the 'Create Attachment' action to associate the account folder to the Salesforce Account record. Later we will use the CloudFiles widget to actually see and manage the folder from the record.
## 5 - Show Folder on Record using 'Create Attachment' Action
Create Attachment action allows you to attach the created folders and sub-folders to salesforce record. Attaching (or associating) our newly created folder is important since this will enable us to see and operate on the folder contents right from the Salesforce record.
To use this action, simply click on add element button and search for 'Create Attachment' as shown below. Once you add this action, it will ask you to fill in certain parameters. "Drive ID" and "Library" parameters will be same as above. Add the remaining parameters as given below -
- Resource Id - ID of your Parent folder. You can get it from the output of your first "Create Folder" action (The one we created in Step 2 above).
- Resource Type - Simply use the string 'folder' for this (without quotes)
- Salesforce Record Id - ID of the Salesforce record → {!$Record.Id}
That's it. Now our flow configuration is complete. Save and activate the flow. Refer to the GIF below to get a visual understanding of this step.

Here's how our final Create Attachment action looks like -

## 6 - Add CloudFiles Widget to Account Record
Now that folders and sub-folders are created and attached to the record, we will add the CloudFiles widget to the account record in order to view the files and folders within salesforce. Follow the steps below -
- Go to any Account record and click "Edit Page" Button.
- Lightning builder for this page will open. Insert a new tab and drag and drop the "CloudFiles" widget.
- Save and exit the builder. Refresh the Salesforce record page. The widget should now show up.
Refer to the GIF below to get a visual understanding of this step. The inserted widget will show a blank screen but you don't need to worry about it. Move on to the next step.

## 7 - Test the Automated Folders in Action
Now that everything is setup, lets test our flow. Follow the steps below to see this automation in action.
- Simply create a new Account record in Salesforce and then go the 'Files' tab that we added in the previous step.
- The flow may take a few seconds to run so click on the refresh icon on top right of the widget.
- Once the folder is connected, the system might show you a "Connect to SharePoint" button as shown below. This is a one-time login that your users will need to perform the first time they access CloudFiles using Salesforce.
- Once you connect your SharePoint here, you should see the newly created folder and the sub-folders inside.
- You can quickly navigate to SharePoint as shown below.
These steps are illustrated in the GIF below -

Congratulations! You've successfully created an automation to create custom folder and sub-folder hierarchies using Salesforce flows.
We have shown only a very specific part of this automation for the sake of speed. However you can customize these flow actions to a high degree to replicate any process imaginable.
---
# Delete attached folder when Account record is deleted
https://help.cloudfiles.io/salesforce/delete-attached-folder-when-account-record-is-deleted
# Delete attached folder when Account record is deleted
Learn how to automatically delete an attached folder from your external storage system when a Salesforce Account record is deleted, using the CloudFiles-Salesforce Integration.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, we’ll demonstrate how to automatically delete an attached folder from your external storage system (Google Drive / SharePoint / Box / etc.) when a Salesforce record is deleted, using the CloudFiles–Salesforce Integration.
This setup is useful when you want to ensure folders do not remain in external storage after the related Salesforce record is removed. For example, when an Account, Opportunity, or Case is deleted, the corresponding folder and its contents can also be deleted automatically.
## What to Expect
By the end of this tutorial, you can expect to —
- Automatically trigger CloudFiles automation to delete the attached folder from the connected external storage system when an Account is deleted.
- Keep external storage clean and consistent by removing folders tied to deleted Salesforce records.
## Pre-requisites
Before you start with the set-up, please ensure these steps are completed.
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation Guide to know more.

### Connect your Cloud Storage to Salesforce using CloudFiles
All automations in CloudFiles are activated through Salesforce Flow Builder, utilizing account-wide authentication for external storage libraries through a service (admin) user. To connect your service user, access the setup, click on the external storage of choice and log into your account. For detailed steps, refer to the GIF below for a clearer understanding.

### Add CloudFiles Widget to Account page
Add the CloudFiles widget to Account page in order to view the files and folders within salesforce. Follow the steps below -
- Go to any Account record and click “Edit Page” Button.
- Lightning builder for this page will open. Insert a new tab and drag and drop the "CloudFiles" widget.
- Save and exit the builder. Refresh the Salesforce record page. The widget should now show up.
- Follow the above steps and add CloudFiles widget to the Lead record page as well.
Refer to the GIF below to get a visual understanding of this step. The inserted widget may show a blank screen but you don't need to worry about it. Move on to the next step.

### Automatic folder creation for Accounts
For this tutorial, We require automated folders to be created upon the creation of new Account. To accomplish this, we will create a record-triggered flow using CloudFiles actions. For a comprehensive guide on the process of creating automated folders, please refer to our tutorial at Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects
This is how the flow would look like -

## Flow - Folder deletion on record deletion
- In this section, we will create two Salesforce flows:
- Flow 1 captures the Account deletion event and creates a CloudFiles Event (cldfs__CloudFilesEvent__c) record with the Type set to custom-account-deleted.
- Flow 2 listens for this event type and triggers CloudFiles automation to delete the folder attached to the deleted Account in your external storage system.
> **Why two flows?** — Why two flows?Salesforce record-triggered flows that run “A record is deleted” trigger cannot reliably perform external actions (like deleting a folder in Google Drive/SharePoint). That’s why we capture the deletion as an event first, then process the deletion safely using a separate event-driven flow.
### Flow 1 - Capture Account deletion
This flow runs when an Account is deleted and creates a CloudFiles Event record containing the deleted Account’s record Id. This event is later used by Flow 2 to trigger folder deletion.
### 1 - Configure a Record Triggered Flow
- Go to Setup → Flows → New Flow
- Choose Record-Triggered Flow
- Configure the Start element:
- Object: Account
- Trigger the Flow When: A record is deleted

### 2 - Create CloudFilesEvent record
Create a new record of object: cldfs__CloudFilesEvent__c and use the following field values:
- cldfs__Type__c = custom-account-deleted
- cldfs__Request_Id__c = {!$Record.Id}

### Flow 2 – Process Account Folder Deletion
In this flow, we process the CloudFiles Event record created by Flow 1 and delete the folder attached to the deleted Account.
This flow triggers when a CloudFiles Event (cldfs__CloudFilesEvent__c) record is created and the event Type equals custom-account-deleted
### 1 - Configure a Record Triggered Flow
- Create a new Record-Triggered Flow.
- Select the Object as: CloudFiles Event (cldfs__CloudFilesEvent__c)
- Configure the Trigger:
- Trigger the Flow When: A record is created
- Entry Condition: Type Equals custom-account-deleted
- Set Optimize the Flow for: Actions and Related Records
- Enable Run Asynchronously, since CloudFiles actions are executed asynchronously.

### 2 - Get Account Folder
Once the flow is triggered, we need to identify the folder connected to the deleted Account. To do this, we use the CloudFiles Apex Action: CloudFiles: Get Connected Folder.
- Add an Action element and select: CloudFiles: Get Connected Folder
- Set the input value:
- Parent Id = Request Id from the CloudFiles Event ({!$Record.cldfs__RequestId__c})

### 3 - Delete Account Folder
Now that we have the folder details from the previous step, we can delete the folder from external storage using the CloudFiles Apex Action: CloudFiles: Delete Resource.
- Add an Action element and select: CloudFiles: Delete Resource
- Map the required inputs using outputs from Get Account Folder:
- Drive Id = Outputs from Get Account Folder → Drive Id
- Library = Outputs from Get Account Folder → Library
- Resource Id = Outputs from Get Account Folder → Resource Id
- Resource Type = folder

## Save and Activate the Flows
Save and activate both flows. Once they are active, whenever an Account is deleted, Flow 1 creates a CloudFiles Event (cldfs__CloudFilesEvent__c) record with the Type set to custom-account-deleted and stores the deleted Account’s record Id in the event. This triggers Flow 2, which retrieves the connected folder using the CloudFiles Event information and deletes the folder asynchronously from the configured external storage system.
## Test the Flows in Action
Now that everything is set up, let’s test the flows. Follow the steps below to confirm the folder deletion automation is working as expected.
- Create a new Account record. This should create and attach a folder that is visible in the CloudFiles widget on the Account record page.
- Open the Account record and confirm the folder is connected correctly in the CloudFiles widget.
- Delete the Account record.
- Navigate to CloudFiles Events (cldfs__CloudFilesEvent__c) and confirm that a new event is created with Type custom-account-deleted.
- Verify that the connected Account folder has been deleted from your external storage system (Google Drive / SharePoint / Box).
---
# Enable Custom Actions in CloudFiles Widget: Build an Archive Button with Salesforce Flow
https://help.cloudfiles.io/salesforce/enable-custom-actions-in-cloudfiles-widget-build-an-archive-button-with-salesforce-flow
# Enable Custom Actions in CloudFiles Widget: Build an Archive Button with Salesforce Flow
Learn how to use CloudFiles Custom Actions to build an Archive button that triggers a Salesforce Flow, moving selected files or folders into a designated archive folder in your external storage.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, we'll show how to use the Custom Action functionality of CloudFiles to streamline file management directly from within Salesforce. Custom Actions in CloudFiles allow you to define clickable actions, like Archive, Send E-mail etc., enabling users to trigger tailored Salesforce Flows for advanced automation and control without leaving the record page.
We'll demonstrate this by building an Archive feature, where users can click an "Archive" button in the CloudFiles widget to move selected files or folders into a designated archive folder in your external storage. This is especially useful during processes like lead conversion, where you want to clean up and store files without deleting them permanently.
## What to Expect
By the end of this tutorial, you will be able to:
- Automatically create a main folder with custom sub-folders in your external storage when a Lead is created in Salesforce, and access them directly from the Salesforce record using the CloudFiles widget.
- You will be able to see the Custom Resource Action button you created displayed next to each file and folder.
- By clicking the button, you can move the file or folder to a predefined location (e.g., a predefined archive folder).
The GIF below shows the expected output.

## Pre-requisites
Before you start with the set-up, please ensure these steps are completed.
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation guide to know more.

### Connect your Cloud Storage to Salesforce using CloudFiles
All automations in CloudFiles are activated through Salesforce Flow Builder, utilizing account-wide authentication for external storage libraries through a service (admin) user. To connect your service user, access the setup, click on the external storage of choice and log into your account. For detailed steps, refer to the GIF below for a clearer understanding.

### Add CloudFiles Widget to Lead record page
Add the CloudFiles widget to Lead record page in order to view the files and folders within salesforce. Follow the steps below -
- Go to any Lead record and click "Edit Page" Button.
- Lightning builder for this page will open. Insert a new tab and drag and drop the "CloudFiles" widget.
- Save and exit the builder. Refresh the Salesforce record page. The widget should now show up.
Refer to the GIF below to get a visual understanding of this step. The inserted widget may show a blank screen but you don't need to worry about it. Move on to the next step.

### Automatic folder creation for Leads
For this tutorial, We require automated folders to be created upon the creation of new Lead. To accomplish this, we will create two distinct record-triggered flows using CloudFiles actions. For a comprehensive guide on the process of creating automated folders, please refer to our tutorial at Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects
This is how the flow would look like -

## Configure the CloudFiles Widget to Add a Custom Resource Action Button and Link It to the Flow
In this section, we'll walk through how to configure the CloudFiles Widget to add a custom Resource Action button and link it to the Flow we are going to create in the next steps.
You'll learn how to:
- Set up the Resource Action within the widget configuration.
- Link the action to your autolaunched Flow with the appropriate input variables.
Once the configuration is complete, copy the generated Widget Configuration ID and paste it into the CloudFiles widget settings on the Lead record page in Salesforce. This step ensures that the correct Resource Action button appears in the widget, allowing users to trigger the archive functionality.
### Setting Up Widget Flow Actions in CloudFiles Widget
Follow these steps to configure Resource Actions in the CloudFiles widget -
Step 1: Open Widget Configuration
- Navigate to the CloudFiles Document Management App.
- Open the "Widget Configuration" page.
Step 2: Locate Resource Actions Section
Scroll to the bottom of the page, where you'll find the Resource Actions section. Refer to the image below for a visual understanding -

Step 3: Specify Attributes for Actions
For each List Action, provide the following details:
- Label – This is the name that will appear on the widget button (e.g., Archive).
- Flow URL – The URL of the Flow you want to trigger, including input variables.
- Flow Type – Choose the type of Flow from the dropdown.
For this tutorial, select: Autolaunched Flow
```text
flow/Archive_File_or_Folders?resource={!resource}&recordId={!recordId}
```
In this example:
- {!resource} refers to the specific file or folder from which you are invoking the flow through the custom Resource action.
- {!recordId} is the Salesforce record (Lead) from which the action is being triggered.
Step 4: Save and Link the Widget
- After entering all configuration values, click Save.
- Copy the generated Widget Configuration ID.
- Navigate to the Lead record page in Salesforce and paste this ID into the CloudFiles widget configuration panel.
This step enables the Resource Action button to appear within the widget, allowing users to move the file or folder to the Archived folder with just a click.

## Flow – Move a Lead File or Folder to an Archived Folder Using the CloudFiles Resource Action
In this section, we'll create a Custom Resource Action-driven Flow to move folder or files into the Archived folder based on specific business rules — for example, if you want to move a folder to archived storage after a certain period of inactivity or elapsed time.
We'll configure an Autolaunched Flow (no trigger) that runs when the user clicks the Resource Action button next to a specific file or folder in the CloudFiles widget.
The flow will:
- Create a parent folder named after the Lead inside the centralized Archived location in your external storage.
- Move the specific file or folders into that Lead-specific archive folder.
- If a folder with the Lead's name already exists in the Archived location, the Flow will reuse it and place the selected content inside—ensuring organized and non-duplicative storage.
This is how the final flow looks like -

The details of the flow has been given below -
### 1 - Configure a Autolaunched Flow
We'll begin by creating an Autolaunched Flow (No Trigger) to handle the logic for moving file or folder to the Archived location. Follow the detailed instructions below to configure the required input parameters:
- After Created a Autolaunched (No-trigger) flow create a input variable called recordId to get a record id from the lead record page
- Then create a resource variable to get the selected resource from the CloudFiles Widget.
### Create Flow Variables
To pass selected resource (file/folder) and the current record ID to the flow, create the following two variables -
- resource:
- Type - Variable
- Data Type - Apex Defined
- Apex Class - clds__Resource
- Allow Multiple Values (Collection) - False
- Available for Input - True
- recordId:
- Type - Variable
- Data Type - Text
- Allow Multiple Values (Collection) - False
- Available for Input - True
The GIF below provides a visual understanding of this step -

### 2 - Get details of the Lead folder
We will use Get Connected Folder Apex action to retrieve the details of the folder connected to the current Lead record.
Once you add the action to your Flow, it will prompt you to provide a single input parameter:
- ParentId – This is the Salesforce Record ID whose connected folder needs to be fetched. In this case, use the {!recordId} variable (which we configured as Available for Input) to pass the current Lead's Record ID into the action.
We will use this folder information in the next step to move the respective file or folder into the appropriate folder under the Archived location.
Refer to the GIF below to get a visual understanding of this step.

### 3 – Get Lead Folder Details in the Archived Location
We will use Get Resource Details apex action to retrieve the details of the Lead folder that resides inside the Archived location in your external storage.
Once you include this into your flow action, it will ask you to fill in these parameters:
1 - Drive Id
- This is required for Google Drive and SharePoint libraries.
- Input the Drive ID where the Archived folders are stored.
- You can get the Drive ID from the CloudFiles Content Library tab inside the CloudFiles app in Salesforce.
Alternatively, you can use the Drive ID output from another action earlier in the Flow.
In this tutorial, since we already retrieved the Lead folder details in Step 2, we can reuse the output from that step. Use: Get_Lead_Folder > Drive Id
2 - Library
This is the desired Cloud storage where you wish to create the folder. Possible values are sharepoint, google (for Google Drive), onedrive, dropbox, box, cloudfiles (AWS S3).
In our case, the folders reside inside SharePoint, so we will set the input value to: 'sharepoint'.
3 - Resource Id
This parameter is conditionally optional.
- If you don't know the Resource Path, you should provide the Resource ID.
- However, in this tutorial, we do know the path to the Lead folder inside the Archived location, so this can be left blank.
4 - Resource Path
- This is also a conditionally optional parameter but required in our case since we don't have the Resource ID.
- Provide the full path to the Lead folder inside the Archived directory.
Our input will be a formula variable named {!folderPath}, which contains the following string-type formula: /SF Documents/_Archived/& {!Get_Lead_Folder.name}
```text
Example input: '/SF Documents/_Archived/CloudFiles India Private Limited'
```

5 - Resource Type
This is an optional parameter. Since we are retrieving a folder, set the value to: 'folder'.
Refer to the GIF below to get a visual understanding of this step.

### 4 – Collect the Lead Folder ID Residing Inside the Archived Location
In this step, we will store the ID of the Lead folder that resides inside the Archived location of your external storage. This folder ID will be saved into a String-type variable called {!FolderId}, which will be used in the following steps to move files or folders into the archived structure.
Handling Two Scenarios:
Scenario 1: Folder Already Exists in the Archived Location
If the Get Resource Details action from Step 3 successfully finds the Lead folder in the Archived location:
- The folder's metadata (including its ID) will be returned.
- Use an Assignment element to store the folder's Id from the action output ({!Get_Archived_Lead_Folder_Details.id}) into the {!FolderId} variable.

Scenario 2: Folder Does NOT Exist
If the folder does not exist in the Archived location:
- The Get Resource Details action will throw an error.
- Handle this with a Fault Path, where you'll:
- Use the Create Folder apex action to dynamically create a new folder using the Lead's name.
- Place the new folder under your desired archived location.

After creation:
- Capture the newly created folder's ID from the Create Folder action's output.
- Assign it to the same {!FolderId} variable, so you can maintain consistent logic across the Flow.
- Connect the fault path back to the main flow by linking it to the next logical element—ensuring that both success and error paths lead to the same downstream steps.
This step ensures that regardless of whether the Lead folder already exists in the Archived location or needs to be created, you'll always have a valid folder ID ({!FolderId}) to use in the next action.
Refer to the Image below to get a visual understanding of this step.

### 5 – Move the selected resources to Archived Loaction
In this step, we will configure the logic to move a file or folder to the Archived location using the Move Resource flow action, triggered by clicking the button next to the respective resource.
Move Resource – Apex Action Configuration:
1 - Library
This is the target cloud storage provider where the resource should be moved. Possible values are sharepoint, google (for Google Drive), onedrive, dropbox, box, cloudfiles (AWS S3).
In our case, we can dynamically input this value from the resource variable itself using: {!resource.library}.
2 - Drive Id
- This is required for Google Drive and SharePoint libraries.
- Input the Drive ID where the selected resources are stored.
In this tutorial, since we already have access to the resource variable provided as input from the widget, we can directly use the Drive ID from it{!resource.driveId}.
> **Note** — NOTE - If you are using google drive or sharepoint, the Move Resource action can only move those files/folders which exist in the same drive. Simply said, you cannot move files/folders across Drives.
3- Resource Id
This is the ID of the resource that needs to be moved. In this tutorial, since we already have access to the selected resource, we can directly use the Resource ID from the variable {!resource.id}.
4 - Resource Type
This is the type of the resource which is to be moved, whether it's a 'folder' or 'file'.
Valid Inputs for this parameter:
- folder if the resource you want to move is a folder.
- file if the resource you want to move is a file.
In this tutorial, since we already have access to the selected resource, we can directly retrieve the Resource Type from the variable {!resource.type}.
5 - Destination
This is the Id of the folder in to which the resource is to be moved. To be more specific, this is the 'Resource Id' of the folder into which the resource (the resource whose Id has been input in the 'Resource Id' parameter) is to be moved. Since we've already collected the Lead's folder ID (which resides inside the Archived location) into the variable {!folderId}, we can directly use this as the destination to move the selected resource into the corresponding Lead folder.
Refer to the GIF below to get a visual understanding of this step.

### 6 - Save and Activate the flow
Once the Flow is activated, you can proceed to create a widget configuration and set up a Resource Action button within the CloudFiles widget. This will allow users to access the configured Resource Action directly from the Lead's record page.
Using this button, users can trigger the Flow to move a file or folder into the appropriate Archived location—all directly from within the CloudFiles widget.
## Test it in action
To test the complete functionality, follow the steps below:
- Create a New Lead
Once the Lead is created, the folder structure will be automatically generated by the pre-configured flow responsible for Lead folder creation.
- Upload Files to the Lead Folder
Using the CloudFiles widget on the Lead record page, upload some test files and folders into the newly created Lead folder.
- Select and Archive Unwanted Files or Folders
Suppose you've reached a certain stage in the Lead lifecycle and no longer need some of the uploaded resources. Simply click the Resource Action button beside the unwanted file or folder in the CloudFiles widget to archive it using the custom Resource Action you configured earlier.
- Verify the Move in the Widget
After triggering the Resource Action, you'll notice that the resource is no longer visible in the CloudFiles widget on the Lead record. This confirms that the move action has taken place successfully.
- Confirm Archival in External Storage
Now, go to the CloudFiles Document Management App and navigate to the _Archived folder location in your connected external storage (e.g., SharePoint). You will find a new folder named after the Lead, and inside it, all the selected files and folders will be stored—indicating successful archival.
> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see any changes, try refreshing the CloudFiles widget a couple of times.
Congratulations! You've successfully set up a custom Resource Action button in the CloudFiles widget, allowing users to seamlessly move unwanted Lead files or folders into a centralized Archived folder in your external storage. You've also configured the supporting Flow to trigger this action based on specific business conditions—such as before converting a Lead or after reaching a certain stage—helping keep your Salesforce records clean, organized, and audit-ready.
---
# Move Lead folder to Account folder on conversion (Tutorial)
https://help.cloudfiles.io/salesforce/move-lead-folder-to-account-folder-on-conversion
# Move Lead folder to Account folder on conversion
Guide to automatically move a Lead's folder into its converted Account's folder in external storage using CloudFiles flow actions in Salesforce.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, we'll guide you on moving Lead folders into their respective Account folders in any external storage automatically on conversion of Lead. We will use CloudFiles flow actions to create these automated folders.
## What to Expect
By the end of this tutorial, you can expect to -
- Have an Account folder created in your external storage for every new Account.
- Have a Lead folder created in your external storage for every new Lead.
- Automatically Move Lead folders into their respective Account folders on conversion of Lead.
The GIF below shows the expected output.

## Pre-requisites
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation guide to know more.

### Connect your Cloud Storage to Salesforce using CloudFiles
All automations in CloudFiles are activated through Salesforce Flow Builder, utilizing account-wide authentication for external storage libraries through a service (admin) user. To connect your service user, access the setup, click on the external storage of choice and log into your account. For detailed steps, refer to the GIF below for a clearer understanding.

### Add CloudFiles Widget to Account and Lead record pages
Add the CloudFiles widget to Account and Lead record pages in order to view the files and folders within salesforce. Follow the steps below -
- Go to any Account record and click “Edit Page” Button.
- Lightning builder for this page will open. Insert a new tab and drag and drop the "CloudFiles" widget.
- Save and exit the builder. Refresh the Salesforce record page. The widget should now show up.
- Follow the above steps and add CloudFiles widget to the Lead record page as well.
Refer to the GIF below to get a visual understanding of this step. The inserted widget may show a blank screen but you don't need to worry about it. Move on to the next step.

### Automatic folder creation for Accounts and Leads
For this tutorial, We require automated folders to be created upon the creation of both new Account and new Lead. To accomplish this, we will create two distinct record-triggered flows using CloudFiles actions. For a comprehensive guide on the process of creating automated folders, please refer to our tutorial at Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects. This is how the flow would look like -

## Flow - Move Lead folder into Account folder on Lead conversion
In this section, we will create a flow to automatically move the previously created Lead folder into the corresponding Account folder upon lead conversion. Firstly, we'll configure a Record Triggered Flow to initiate the automation process. Then, we'll retrieve the details of the Lead folder. To ensure that the Account folder has been created, we'll implement a pause. Subsequently, we'll gather details of the Account folder. Finally, using CloudFiles action, we'll execute the movement of the Lead folder into the associated Account folder.This is how the final flow looks like -

The details of the flow has been given below -
### 1 - Configure a Record Triggered Flow
We will start by creating a record-triggered flow on the 'Lead' Object. Follow the detailed instructions below for the input parameters -
- In the 'Configure Start' window, select Lead as the object
- Configure trigger of the flow when a A record is updated
- For setting the Entry Conditions, follow the following steps
- Condition Requirements -> select All Conditions Are Met (AND)
- Define the condition as Field-> IsConverted, Operator-> Equals, Value -> TRUE
- For When to Run the Flow for Updated Records, select Only when a record is updated to meet the condition requirements.We have selected this option since we want the Flow to run only when the triggered record is changed from not meeting the entry conditions to meeting the entry conditions. Above conditions ensure that the lead folder moves to account folder only once when the conditions for the lead's conversion are met for the first time.
- For Optimize the Flow For, select Actions and Related Records
- Check the Include a Run Asynchronously path checkbox.
The configuration looks like below -

The GIF below provides a visual understanding of this step -

> **NOTE** — NOTE - In Record-triggered flows, make sure you run CloudFiles actions only in 'Run Asynchronously' path.
### 2 - Get details of the Lead folder
We will use Get Connected Folder Apex action to retrieve the details of triggering record's corresponding Lead folder. Once you add the action, it will ask you to fill in a single parameter. ParentId - Input the Salesforce Record Id whose connected folder is to be fetched. Here, input the flow triggering Lead record Id as 'Record' > 'Lead ID' i.e. {!$Record.Id}Refer to the GIF below to get a visual understanding of this step.

In case the Salesforce Record, whose Id is input into the action has got a single folder attached to it, then Get Connected Folder will give the attached folder details as output. Here, by inputting the Record Id of the Lead that triggered the flow, the action yields the details of he folder attached to the Lead record. We will use this details in the next step to move the lead folder to account folder.
### 3 - Pause to ensure Account Folder creation
To ensure seamless execution and prevent flow errors, a delay element is introduced into the flow. This delay accommodates potential delays in the execution of the pre-requisite flow responsible for creating and attaching the Account folder, which occurs concurrently with the conversion of the Lead record. By incorporating this delay, we mitigate the risk of fetching incomplete or erroneous Account folder details before the completion of step -1. Add a 'CloudFiles: Delay' Apex action into the flow, positioned after the 'Get Lead Folder' element and before retrieving details of the corresponding Account folder in the subsequent action. The 'CloudFiles: Delay' Apex action functions as a 'pause for a given time' element before the flow proceeds to execute the next action or element. Once you add the 'CloudFiles: Delay' Apex action, it will ask you to fill in a single parameter -Delay(milli seconds) - The amount of time the pause acts for in milliseconds.Refer to the GIF below to get a visual understanding of this step.

> **NOTE** — NOTE - Avoid setting a long pause duration as it may result in flow timeouts and errors. For this specific flow, a delay of 10,000-15,000 milliseconds should suffice.
### 4 - Get details of Account folder
We will again use Get Connected Folder Apex action, this time to fetch the details of triggering record's corresponding Account folder. Once you add the action, it will ask you to fill in a single parameter. ParentId - Input the Salesforce Record Id whose connected folder is to be fetched. Here, input the flow triggering Lead record's converted Account Id as 'Record' > 'Converted Account ID' i.e. {!$Record.ConvertedAccountId}Refer to the GIF below to get a visual understanding of this step.

Here, as we input the converted Account Record Id of the Lead that triggered the flow, the action outputs the details of the folder attached to the Account record. In the next steps, we will see how this is useful.
### 5 - Move Lead folder into Account folder
Move Resource action can be used in a flow to relocate a Resource (file or folder) in any Cloud storage from one location to other.Once we have fetched the details of Lead folder and account folder in our previous steps, we will add a Move Resource Apex action to move the fetched Lead folder from step 2 into the fetched Account folder from step 4. Once you add the action, it will ask you to fill in these parameters:1 - LibraryThis is the desired Cloud storage where you wish to create the folder. Possible values are sharepoint, google (for Google Drive), onedrive, dropbox, box, cloudfiles (AWS S3)2 - Drive IdThis is required only for Google Drive & SharePoint libraries. Input the Drive Id in which the folders are stored. For this you can simply enter the 'Drive Id' in which the Account folders and Lead folders are stored. You can get this parameter by accessing your Cloud storage from within Salesforce , using CloudFiles app's 'Content Library' tab . OR You can even use the 'Drive Id' output by other Actions in the flow.In this tutorial, in step 2 and step 4 as we already added actions to output the Lead folder details and it's Account folder details, we can use any of these action's output to input this parameter. As 'Get Account Folder' > 'Drive Id' or 'Get Lead Folder' > 'Drive Id'
> **NOTE** — NOTE - If you are using google drive or sharepoint, the Move Resource action can only move those files/folders which exist in the same drive. Simply said, you cannot move files/folders across Drives.
3- Resource IdThis the Id of the resource which is to be moved. For this you can use the outputs of other Actions in the flow. In this tutorial, as we want to move the Lead folder (this folder is the resource to be moved), input the 'Resource Id' output by the action you have added in step 2 as 'Get Lead Folder' > 'Resource Id'.4 - Resource TypeThis is the type of the resource which is to be moved, whether it's a 'folder' or 'file'. Valid Inputs for this parameter:
- folder if the resource you want to move is a folder.
- file if the resource you want to move is a file.
In this tutorial, since we are moving a folder (Lead folder), input folder.5 - Destination - This is the Id of the folder in to which the resource is to be moved. To be more specific, this is the 'Resource Id' of the folder into which the resource (the resource whose Id has been input in the 'Resource Id' parameter) is to be moved. You can get this parameter by accessing your Cloud storage from within Salesforce , using CloudFiles app's 'Content Library' tab . OR You can even use the outputs of other Actions in the flow.In this tutorial, as as we want to move the Lead folder into Account folder (destination), input the 'Resource Id' from the output of action added in step 4 as 'Get Account Folder' > 'Resource Id'.Refer to the GIF below to get a visual understanding of this step.

### 6 - Save and Activate the flow
Once the Flow is activated, whenever a Lead is converted into a new Account or existing account , this flow should automatically move the triggering Lead record's Lead folder into it's converted Account folder.
## Test the Flows in action
Now that everything is setup, lets test our flows. Follow the steps below to see this automation in action.
- Create a new Lead. This should create a Lead folder visible in the 'CloudFiles' widget on Lead record page.
- Click 'Convert' on the Lead record.
- In the 'Convert Lead' form, For Account, choose 'Create New' or 'Choose Existing' (If you are choosing this make sure you have a folder connected to Account record).
- Once converted, check the Account folder visible in the 'CloudFiles' widget on Account record page.
- You will find the Lead Folder moved into the Account folder.
> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see any changes, try refreshing the CloudFiles widget a couple of times.
Congratulations! You've successfully configured flows to automatically move Lead folders into their respective Account folders on conversion.
---
# Renaming a folder in SharePoint when the Record is updated
https://help.cloudfiles.io/salesforce/renaming-a-folder-in-sharepoint-when-the-record-is-updated
# Renaming a folder in SharePoint when the Record is updated
Learn how to use CloudFiles flow actions to automatically rename a SharePoint Account folder in Salesforce whenever the linked Account's name changes.
> Kind: Tutorial · Updated: Jul 4, 2026
In this guide, we'll show you how to rename an Account folder in SharePoint linked to an Account record. We'll use CloudFiles flow actions to rename SharePoint Account folders automatically when the Account name changes.
## What to Expect
By the end of this tutorial, you can expect to -
- Have an Account folder created in SharePoint for every new Account.
- Rename SharePoint Account folders automatically when the Account name changes.
The GIF below shows the expected output.

## Pre-requisites
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation guide to know more.

### Connect your Cloud Storage to Salesforce using CloudFiles
All automations in CloudFiles are activated through Salesforce Flow Builder, utilizing account-wide authentication for external storage libraries through a service (admin) user. To connect your service user, access the setup, click on the external storage of choice and log into your account. For detailed steps, refer to the GIF below for a clearer understanding.

### Add CloudFiles Widget to Account page
Add the CloudFiles widget to Account page in order to view the files and folders within salesforce. Follow the steps below -
- Go to any Account record and click “Edit Page” Button.
- Lightning builder for this page will open. Insert a new tab and drag and drop the "CloudFiles" widget.
- Save and exit the builder. Refresh the Salesforce record page. The widget should now show up.
- Follow the above steps and add CloudFiles widget to the Lead record page as well.
Refer to the GIF below to get a visual understanding of this step. The inserted widget may show a blank screen but you don't need to worry about it. Move on to the next step.

### Automatic folder creation for Accounts
For this tutorial, We require automated folders to be created upon the creation of new Account. To accomplish this, we will create a record-triggered flow using CloudFiles actions. For a comprehensive guide on the process of creating automated folders, please refer to our tutorial at Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects.
This is how the flow would look like -

## Flow - Account Folder Renaming on Account Name Change
In this section, we will create a flow to automatically rename the previously created and attached Account folder into the changed name. Firstly, we'll configure a Record Triggered Flow to initiate the automation process whenever an update is made to the Account name. Then, we'll retrieve the details of the Account folder. Finally, using CloudFiles action, we'll update the name of the folder into the new Account name.
This is how the final flow looks like -

The details of the flow has been given below -
### 1 - Configure a Record Triggered Flow
We will start by creating a record-triggered flow on the 'Account' Object. Follow the detailed instructions below for the input parameters -
- In the 'Configure Start' window, select Account as the object
- Configure trigger of the flow when a A record is updated
- For setting the Entry Conditions, follow the following steps
- Condition Requirements -> select All Conditions Are Met (AND)
- Define the condition as Field-> Name, Operator-> Is Changed, Value -> TRUE
- For When to Run the Flow for Updated Records, select Every time a record is updated and meets the condition requirements
We have selected this option since we want the Flow to run everytime when the triggered record's name is changed.
- For Optimize the Flow For, select Actions and Related Records
- Check the Include a Run Asynchronously path checkbox.
The configuration looks like below -

The GIF below provides a visual understanding of this step -

### 2 - Get details of the Account folder
We will use Get Connected Folder Apex action to retrieve the details of triggering record's corresponding Account folder. Once you add the action, it will ask you to fill in a single parameter.
ParentId - Input the Salesforce Record Id whose connected folder is to be fetched.
Here, input the flow triggering Account record Id as 'Record' > 'Account ID' i.e. {!$Record.Id}
Refer to the GIF below to get a visual understanding of this step.

In case the Salesforce Record, whose Id is input into the action has got a single folder attached to it, then Get Connected Folder will give the attached folder details as output. Here, by inputting the Record Id of the Lead that triggered the flow, the action yields the details of he folder attached to the Lead record. We will use these details in the next step to move the lead folder to account folder.
### 3 - Check Account folder connection
We will add a decision element to check whether there is any folder connected to the account record or not. This will be simple null check over the outputs the Get Connected Folder action used in previous step.
- Add a decision element with one configured oucome and a default outcome.
- Configure the first outcome i.e. in case of no folder connected to the account record.
- Enter a Label for the outcome.
- Condition Requirements to execute -> select All Conditions Are Met (AND)
- Define the condition as Resource-> Outputs from Get_Account_Folder > id, Operator-> Is Null, Value -> TRUE
- When to Execute Outcome, select If the condition requirements are met
We have selected this option since we want the Flow to run everytime when the triggered record's name is changed.
- Enter a Label for the Default outcome. This path shall execute the upcoming actions.
Refer to the GIF below to get a visual understanding of this step.

### 4 - Create a CloudFiles Resource Variable
For execution of upcoming actions, we will have to create a CloudFiles Resource Variable.
- Create a new flow resource:
- Resource Type -> Variable
- Data Type -> Apex-Defined
- Apex Class -> cldfs__Resource
- Allow multiple values (collection)-> Unchecked
Refer to the GIF below to get a visual understanding of this step.

### 5 - Assign the Account Folder to CloudFiles Resource Variable
In the default outcome path, we will have to assign the Account Folder details output by action in step 2 to the created CloudFiles Resource Variable of step 4. For this:
- Add an Assignment element in the default outcome path.
- Map the Variable Values as:
- Cldfs_Resource > driveId -> Outputs from Get_Account_Folder > driveId
- Cldfs_Resource > id -> Outputs from Get_Account_Folder > id
- Cldfs_Resource > library -> Outputs from Get_Account_Folder > library
- Cldfs_Resource > path -> Outputs from Get_Account_Folder > path
- Cldfs_Resource > type -> Outputs from Get_Account_Folder > type
Refer to the GIF below to get a visual understanding of this step.

### 6 - Update Name of the Account Folder
We will use Set Resource Property Apex action to update the name property (Property API Name : name) of the Account folder. Once you add the action, it will ask you to fill in few parameters.
- Enter a Label for the Set Resource Property Action.
- Set Resource -> Cldfs_Resource (the variable used in the steps 4,5)
- Set only one property as: Name -> name== Value -> {!$Record.Name}
Refer to the GIF below to get a visual understanding of this step.
### 7 - Save and Activate the flow
Once the Flow is activated, whenever an Account's name is changed , this flow should automatically update the Account record connected Account folder name.

## Test the Flows in action
Now that everything is setup, lets test our flows. Follow the steps below to see this automation in action.
- Create a new Account. This should create a Account folder (Folder name = Account Name) visible in the 'CloudFiles' widget on Account record page.
- Now change the Account name.
- Refresh the widget. You will find that the SharePoint Account folder's name is automatically changed to the new Account name.
> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see any changes, try refreshing the CloudFiles widget a couple of times.
Congratulations! You've successfully configured flows to Rename SharePoint Account folders automatically when the Account name changes.
---
# Setting Up a Custom List Action in the CloudFiles Widget
https://help.cloudfiles.io/salesforce/setting-up-a-custom-list-action-in-the-cloudfiles-widget
# Setting Up a Custom List Action in the CloudFiles Widget
Learn how to set up a Custom List Action (e.g., Bulk Delete) in the CloudFiles widget that links to a Salesforce Flow, allowing users to permanently delete selected files or folders from connected external storage directly from a Salesforce record page.
> Kind: Tutorial · Updated: Jul 4, 2026
Custom List Actions in the CloudFiles widget let you create clickable action buttons that appear when a user selects one or more files or folders within the widget on a Salesforce record page. These buttons are linked directly to Salesforce Flows, allowing you to trigger powerful, customized automation —without leaving the record view.
In this tutorial, we’ll walk through creating one such action called “Bulk Delete”. You’ll set it up so that when users select multiple files or folders in the CloudFiles widget and click the Bulk Delete button, those items will be permanently removed from your connected external storage (e.g., SharePoint, Google Drive) and disappear from the Salesforce record page widget.
By the end of this guide, you’ll have a working Custom List Action that you can configure yourself—ready to streamline file management, reduce clutter, and give your users a one-click way to keep Salesforce clean and organized.
## What to Expect
By the end of this tutorial, you will be able to:
- Automatically generate a main folder with custom sub-folders in your external storage whenever a new Account is created in Salesforce, and access these folders through the CloudFiles widget on the corresponding record.
- Create and configure a Custom List Action (e.g., Bulk Delete) that appears in the CloudFiles widget when users select one or more files or folders on a Salesforce record page.
- Use this button to permanently delete selected files or folders from your connected external storage (e.g., SharePoint, Google Drive), directly from Salesforce.
The GIF below illustrates the expected outcome once everything is set up.

## Pre-requisites
Before you start with the set-up, please ensure these steps are completed.
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation guide to know more.

### Connect your Cloud Storage to Salesforce using CloudFiles
All automations in CloudFiles are activated through Salesforce Flow Builder, utilizing account-wide authentication for external storage libraries through a service (admin) user. To connect your service user, access the setup, click on the external storage of choice and log into your account. For detailed steps, refer to the GIF below for a clearer understanding.

### Add CloudFiles Widget to Account record page
Add the CloudFiles widget to Account record page in order to view the files and folders within salesforce. Follow the steps below -
- Go to any Account record and click “Edit Page” Button.
- Lightning builder for this page will open. Insert a new tab and drag and drop the "CloudFiles" widget.
- Save and exit the builder. Refresh the Salesforce record page. The widget should now show up.
Refer to the GIF below to get a visual understanding of this step. The inserted widget may show a blank screen but you don't need to worry about it. Move on to the next step.

### Automatic folder creation for Accounts
For this tutorial, We require automated folders to be created upon the creation of new Account. To accomplish this, we will create two distinct record-triggered flows using CloudFiles actions. For a comprehensive guide on the process of creating automated folders, please refer to our tutorial at Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects
This is how the flow would look like -

## Configure the CloudFiles Widget to Add a Custom List Action Button and Link It to the Flow
In this section, we’ll walk through how to configure the CloudFiles Widget to add a custom List Action button and link it to the Flow we are going to create in the next steps.
You’ll learn how to:
- Set up the List Action within the widget configuration.
- Link the action to your Screen Flow with the appropriate input variables.
Once the configuration is complete, copy the generated Widget Configuration ID and paste it into the CloudFiles widget settings on the Account record page in Salesforce. This step ensures that the correct Resource Action button appears in the widget, allowing users to trigger the delete functionality.
### Setting Up Widget Flow Actions in CloudFiles Widget
Follow these steps to configure Resource Actions in the CloudFiles widget -
Step 1: Open Widget Configuration
- Navigate to the CloudFiles Document Management App.
- Open the "Widget Configuration" page.
Step 2: Locate List Actions Section
Scroll to the bottom of the page, where you'll find the List Actions section. Refer to the image below for a visual understanding -

Step 3: Specify Attributes for Actions
For each List Action, provide the following details:
- Label – This is the name that will appear on the widget button (e.g., Bulk Delete).
- Flow URL – The URL of the Flow you want to trigger, including input variables.
- Flow Type – Choose the type of Flow from the dropdown.
For this tutorial, select: Screen Flow
```text
flow/CloudFiles_Mass_Delete_Resources?resources={!resources}&recordId={!recordId}
```
In this example:
- {!resources} refers to the files or folders selected by the user in the CloudFiles widget at the time of clicking the defined Custom List Action button.
- {!recordId} is the Salesforce record (Account) from which the action is being triggered.
Step 4: Save and Link the Widget
- After entering all configuration values, click Save.
- Copy the generated Widget Configuration ID.
- Navigate to the Account record page in Salesforce and paste this ID into the CloudFiles widget configuration panel.
This step enables the List Action button to appear within the widget, allowing users to permanently delete the selected file or folder with just a click.

## Flow – Delete Unwanted Resources Using the CloudFiles Custom List Action
In this section, we’ll create a Custom List Action – driven Screen Flow to permanently delete selected files or folders from your connected external storage when triggered by the user. This is especially useful for cleanup operations—for example, removing outdated files from an Account after a project is completed.
We’ll configure a Screen Flow that launches when the user clicks the Custom List Action button after selecting one or more files or folders in the CloudFiles widget.
The Flow will:
- Permanently remove the selected resources from your connected external storage (e.g., SharePoint, Google Drive).
- Immediately update the CloudFiles widget so the deleted files or folders no longer appear on the Salesforce record page.
- Ensure secure deletion while keeping your file structure clutter-free.
Once the Flow is activated, you can proceed to configure the widget and link the Custom List Action. This will allow users to access the Bulk Delete function directly from the CloudFiles widget on the Salesforce record page.
By using this button, users can delete unwanted files or folders in bulk with confirmation, simplifying file management and ensuring that only relevant, up-to-date resources remain accessible.
This is how the final flow looks like -

The details of the flow has been given below -
### 1 - Configure a Screen Flow
We’ll begin by creating a Screen Flow to handle the logic for bulk deleting files or folders from your connected external storage. Follow the steps below to set up the required input parameters:
- Create a new Screen Flow in Salesforce to manage the bulk deletion process.
- Add an input variable called recordId to capture the Salesforce record ID (e.g., Account ) from which the action is being triggered via the CloudFiles widget.
- Create another input variable called resources variable to get the selected resource from the CloudFiles Widget.
### Create Flow Variables
To pass selected resource (file/folder) and the current record ID to the flow, create the following two variables -
- resources:
- Type - Variable
- Data Type - Apex Defined
- Apex Class - clds__Resource
- Allow Multiple Values (Collection) - True
- Available for Input - True
- recordId:
- Type - Variable
- Data Type - Text
- Allow Multiple Values (Collection) - False
- Available for Input - True
The GIF below provides a visual understanding of this step -

### 2 - Get Connected Folder
We will use Get Connected Folder Apex action to retrieve the details of the folder connected to the current Account record.
Once you add the action to your Flow, it will prompt you to provide a single input parameter:
- ParentId – This is the Salesforce Record ID whose connected folder needs to be fetched. In this case, use the {!recordId} variable (which we configured as Available for Input) to pass the current Account's Record ID into the action.
We’ll use the folder information retrieved here in the next step to locate and delete the selected file(s) or folder(s) from the appropriate location in your external storage.
Refer to the GIF below to get a visual understanding of this step.

### 3 – Collect the Selected Resource ID's to Delete
In this step, the resources variable will already contain details of all the files or folders the user has selected in the CloudFiles widget. To prepare them for deletion, go through each item in this list and pick out just the ID for that file or folder. As you do this, add each ID to another variable, for example ResourceIds. You can gather these IDs using an assignment step called Populate ResourceIds Variable, so by the end you have a single list containing only the IDs of the selected items, ready for the deletion step.

### 4 – Delete the selected Resources
In this step, we’ll configure the Delete Resource Apex action to remove the selected resources (files & folders) from your connected external storage by passing the required input values.
Delete Resource – Apex Action Configuration:
- Library
This is the target cloud storage provider where the resource should be deleted. Possible values are sharepoint, google (for Google Drive), onedrive, dropbox, box, cloudfiles (AWS S3).
In our case, we can dynamically input this value from the Get Connected Folder action itself using: {!Get_Connected_Folder.library}.
- Drive ID
This is required for Google Drive and SharePoint libraries. Enter the Drive ID where the selected resources are stored. In this tutorial, since we already have access to the Get Connected Folder action, we can directly use the Drive ID from it: {!Get_Connected_Folder.driveId}
- Resource ID
We can skip this field because either Resource ID or Resource IDs is required—not both. In our case, we are deleting a list of resources, so we’ll toggle off Resource ID and use Resource IDs instead.
- Resource IDs
In this field, enter the list of IDs for the files or folders you want to delete from your external storage. Since we have already collected the selected resource IDs into a list variable named ResourceIds in the earlier step, simply pass that variable here. This will ensure that all the selected items are deleted in one go when the flow runs.
- Resource Type
In our case, this parameter is not required because we are performing a bulk deletion of resources that may include both files and folders in a single operation. For bulk deletion, this field is optional, so you can simply toggle it off.
Once all these fields are filled in correctly, the action will delete the selected items both from the external storage and from the CloudFiles widget on the Salesforce record page.

### 5 - Save and Activate the flow
Once you’ve finished configuring all elements, save your Flow and then activate it.
After activation, the Flow can be triggered directly from the Custom List Action button in the CloudFiles widget. This button was configured earlier in the CloudFiles Widget Configuration, and its Configuration ID was added to the record page in edit mode.
When users select one or more files or folders and click this button, the Flow will run and permanently delete the selected resources from your connected external storage. The same resources will also be removed from the CloudFiles widget on the Salesforce record page.
## Test it in action
To verify that everything is working as expected, follow these steps:
- Create a New Account
Once the Account is created, the folder structure will be automatically generated by the pre-configured flow responsible for Account folder creation.
- Upload Files to the Account Folder
Using the CloudFiles widget on the Account record page, upload some test files and folders into the newly created Account folder.
- Select and Delete Unwanted Files or Folders
When you no longer need certain files or folders, select them in the CloudFiles widget and click the Custom List Action button (Bulk Delete) you configured earlier.
- Verify Deletion in the Widget
After triggering the action, the deleted resources will no longer appear in the CloudFiles widget on the Account record page—confirming that the deletion was successful.
- Confirm Deletion in External Storage
Open your connected external storage (e.g., SharePoint, Google Drive) and navigate to the same location where the files were stored. The deleted files or folders should no longer be present.
> Flow execution and folder creation may take some time (a few seconds to a minute). If you don't see any changes, try refreshing the CloudFiles widget a couple of times.
Congratulations! You’ve successfully set up a Custom List Action button in the CloudFiles widget, allowing users to easily bulk delete unwanted Account files or folders directly from Salesforce. You’ve also configured the supporting Screen Flow to handle the deletion process—removing selected items from both your connected external storage and the CloudFiles widget—helping keep your Salesforce records clean, organized, and up to date.
This setup streamlines file management, reduces clutter, and ensures that only relevant, current files remain visible to your team—improving efficiency and maintaining a well-structured workspace.
---
# Setting Up a Custom Resource Action in the CloudFiles Widget
https://help.cloudfiles.io/salesforce/setting-up-a-custom-resource-action-in-the-cloudfiles-widget
# Setting Up a Custom Resource Action in the CloudFiles Widget
Learn how to set up a Custom Resource Action (e.g., Internal Sharing Link) in the CloudFiles widget that links to a Salesforce Screen Flow, letting users fetch a single selected file or folder's external URL — its Google Drive sharing link — and display it directly on the Salesforce record page.
> Kind: Tutorial · Updated: Jul 31, 2026
Custom resource actions in the CloudFiles widget let you create clickable action buttons that appear when a user selects a single file or folder within the widget on a Salesforce record page. These buttons are linked directly to Salesforce flows — a resource action always passes exactly one file/folder.
In this tutorial, we'll walk through creating a resource action called “Internal Sharing Link.” Today, if someone wants to share a Google Drive file or folder with a colleague — e.g., pasting a link into an email or Teams message — they have to leave Salesforce, open Google Drive directly, re-find the same file they were already looking at in the CloudFiles widget, and use Google Drive's native “Copy link” feature. That's a full context switch just to copy a link for something they're already looking at.
We'll set up a resource action that lets users grab that link from inside the CloudFiles widget itself: select a file or folder, click “Internal Sharing Link,” and a screen flow fetches the item's external URL — its Google Drive sharing link — and displays it right there, ready to copy and paste.
> This is the file or folder's external URL — a permissioned sharing link, the kind Google Drive generates for people who already have access within your organization. It's a shortcut to something a permissioned colleague could already reach directly in Google Drive.
By the end of this guide, you'll have a working custom resource action you can configure yourself — ready to save your users a context switch every time they need to share a file link.

## What to Expect
By the end of this tutorial, you will be able to:
- Add a custom resource action button (e.g., “Internal Sharing Link”) that appears in the CloudFiles widget when a user selects one file or folder on a Salesforce record page.
- Use that button to fetch the selected resource's external URL (its Google Drive sharing link — the File/Folder's URL from the external storage) and display it directly in the widget — without anyone needing to open Google Drive separately.
## Resource Action vs. List Action
Before starting, it's worth being clear on the distinction:
- List action — appears when a user selects one or more items in the widget; the flow receives a collection variable (resources).
- Resource action — appears when a user selects a single item in the widget; the flow receives a single, non-collection variable (resource).
Use a resource action whenever your automation logic only makes sense against one file at a time — such as looking up a single file's metadata or, as in this tutorial, its sharing URL.
## Pre-requisites
Before you start with the set up, please ensure these steps are completed.
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation guide to know more.

### Connect your Cloud Storage to Salesforce using CloudFiles
All automations in CloudFiles are activated through Salesforce Flow Builder, utilizing account-wide authentication for external storage libraries through a service (admin) user. To connect your service user, access the setup, click on the external storage of choice and log into your account. For detailed steps, refer to the GIF below for a clearer understanding.

### Add CloudFiles Widget to Account record page
Add the CloudFiles widget to Account record page in order to view the files and folders within salesforce. Follow the steps below -
- Go to any Account record and click “Edit Page” Button.
- Lightning builder for this page will open. Insert a new tab and drag and drop the “CloudFiles” widget.
- Save and exit the builder. Refresh the Salesforce record page. The widget should now show up.
Refer to the GIF below to get a visual understanding of this step. The inserted widget may show a blank screen but you don't need to worry about it. Move on to the next step.

### Automatic folder creation for Accounts
For this tutorial, We require automated folders to be created upon the creation of new Account. To accomplish this, we will create two distinct record-triggered flows using CloudFiles actions. For a comprehensive guide on the process of creating automated folders, please refer to our tutorial at Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects
This is how the flow would look like -

## Configure the CloudFiles Widget to Add a Custom Resource Action Button and Link It to the Flow
In this section, we'll walk through how to configure the CloudFiles widget to add a custom resource action button and link it to the flow we're going to build in the next step.
Step 1: Open Widget Configuration
Navigate to the CloudFiles Document Management app and open the “Widget Configuration” page.
Step 2: Locate the Resource Actions Section
Scroll to the bottom of the page, past List View Controls, where you'll find the Resource Actions section (“Define custom actions in the widget at the resource level”), with List Actions just below it.

Step 3: Specify Attributes for the Action
For the resource action, provide the following details:
- Label — the name that will appear on the widget button. For this tutorial: Internal Sharing Link.
- Flow URL — the URL of the flow to trigger, including input variables.
- Flow Type — choose the type of flow from the dropdown. For this tutorial, select Screen Flow.
Flow URL used in this tutorial:
```text
/flow/Get_Internal_Sharing_Url?resource={!resource}&recordId={!recordId}
```
> Note the singular {!resource} here — for a resource action this refers to the single file or folder selected by the user in the CloudFiles widget at the time of clicking the button. {!recordId} is the Salesforce record from which the action is being triggered. (You can name these input variables whatever you like — resource and recordId are just what this tutorial's flow uses.)
Step 4: Save and Link the Widget
- After entering all configuration values, click Save.
- Copy the generated Widget Configuration ID.
- Navigate to the Account record page in Salesforce and paste this ID into the CloudFiles widget configuration panel.
This step enables the Resource Action button to appear within the widget, allowing users to get the external URL of the selected file or folder with just a click.

## Flow - Get Internal Sharing Url
In this section, we'll create a Custom Resource Action – driven Screen Flow to get the external URL for a file or folder from your connected external storage when triggered by the user. This is especially useful when the user wants to copy this link and send to colleagues via chat or email, without having to switch to the external storage.
We'll configure a Screen Flow that launches when the user clicks the Custom Resource Action button on a file/folder in the CloudFiles widget.
The Flow will:
- Get the external URL from your connected external storage (e.g., Google Drive).
- Immediately show a pop-up on the Salesforce record page displaying this link.
- Let you copy this link and share it with your team-members.
Once the Flow is activated, you can proceed to configure the widget and link the Custom Resource Action. This will allow users to access the Internal Sharing Link function directly from the CloudFiles widget on the Salesforce record page.
By using this button, users can copy the link and send it to their colleagues via chat or email, without having to switch to the external storage.
This is how the final flow looks like - a Screen Flow with three elements: Get the External URL for the Folder (Apex Action) followed by the Sharing Link screen.

The details of each element are given below.
### 1. Configure a Screen Flow and Its Input Variables
We'll begin by creating a Screen Flow to handle the logic for getting the url of files/folders from your connected external storage. Follow the steps below to set up the required input parameters:
- Create a new Screen Flow in Salesforce to manage the logic of getting the external url.
- Add an input variable called recordId to capture the Salesforce record ID (e.g., Account ) from which the action is being triggered via the CloudFiles widget.
- Create another input variable called resource variable to get the selected resource from the CloudFiles Widget.
### Create Flow Variables
To pass selected resource (file/folder) and the current record ID to the flow, create the following two variables -
- resource:
- Type - Variable
- Data Type - Apex Defined
- Apex Class - clds__Resource
- Allow Multiple Values (Collection) - False
- Available for Input - True
- recordId:
- Type - Variable
- Data Type - Text
- Allow Multiple Values (Collection) - False
- Available for Input - True
> This is the key structural difference from a custom list action: resource is a single, non-collection variable (not a collection like resources), because a resource action only ever passes one selected item.


### 2. Get the External URL for the Folder
In this step, we'll add the apex action that fetches the resource's external URL — labeled Get the Internal Link for the Folder in this flow (feel free to name yours “Get the External URL for the Folder” instead). It uses the CloudFiles Get Resource Property flow action to fetch the selected resource's external URL (externalUrl), by passing the required input values.
Get Resource Property – Apex Action Configuration
Property Name
This is the API name of the property whose value you want to fetch. Since we want the resource's external URL, we use the standard property name externalUrl — this returns the cloud drive URL of the resource, i.e., its Google Drive (or SharePoint) sharing link.
> The externalUrl property is only returned for Google Drive and SharePoint connected storage. It is not available for Azure Blob Storage or Amazon S3 storages, so this resource action won't return an external URL for files or folders stored there.
Resource
This is the file or folder whose property you want to fetch. In our case, we can dynamically pass in the resource selected by the user in the widget using {!resource} — this is the single item the user picked in the CloudFiles widget, passed straight into the flow.
Type (Optional)
We can skip this field. It's only needed if you want to explicitly specify the resource's type; since we're passing the resource variable directly, CloudFiles already knows what it's working with.
Once these fields are filled in correctly, the action will fetch the resource's external URL and make it available as a text output — named after the action's label, Text from Get the Internal Link for the Folder — ready to be displayed to the user in the next step.
### 3. Display the Link on Screen
Add a Screen element called Sharing Link. On this screen, add a Display Text (or similar) component labeled Internal Sharing Link, and set its value to the output from the previous step:
```text
{!Get_the_Internal_Link_for_the_Folder}
```
This surfaces the sharing URL directly inside the widget's flow screen, so users can copy it and send it to a colleague via chat or email — without ever needing to open Google Drive themselves.

### 4. Save and Activate the Flow
Once you've finished configuring all elements, save your flow and then activate it. After activation, the flow can be triggered directly from the custom resource action button in the CloudFiles widget. This button was configured earlier in the CloudFiles widget configuration, and its configuration ID was added to the record page in Edit mode.
When a user selects a single file or folder and clicks this button, the flow will run and display that item's external URL right there in the widget — ready to copy and share with a colleague.
## Test It in Action
To verify that everything is working as expected, follow these steps:
- Create a New Account Once the Account is created, the folder structure will be automatically generated by the pre-configured flow responsible for Account folder creation.
- Upload Files to the Account Folder Using the CloudFiles widget on the Account record page, upload some test files and folders into the newly created Account folder.
- Select a file or folder you'd like to share the link for.
- Click the custom resource action button (Internal Sharing Link) you configured earlier.
- Verify the link appears — a screen will pop up showing the file or folder's external URL (its Google Drive sharing link).
- Copy the link and paste it into an email or Teams message, then confirm it opens the correct file or folder directly in Google Drive for a colleague who already has permission to access it.
> Flow execution and folder lookups may take a few seconds. If you don't see the link appear right away, try refreshing the CloudFiles widget a couple of times.
Congratulations! You've successfully set up a custom resource action button in the CloudFiles widget, allowing users to grab a file or folder's external URL directly from Salesforce. You've also configured the supporting screen flow to handle the lookup — fetching the external URL for exactly the resource selected in the widget, and surfacing it on screen — saving your users a full context switch every time they need to share a file with a colleague. This setup keeps sharing quick and consistent, without exposing any files publicly or requiring anyone to leave Salesforce to go find a link.
---
## Salesforce: Document Generation
---
# Document Generation (Document Generation · Salesforce)
https://help.cloudfiles.io/salesforce/document-generation
# Document Generation
CloudFiles Document Generation integrates with Salesforce to simplify document creation using the CloudFiles add-in, the Document Generation Lightning Web Component, and flow actions. Set up, design templates, and generate documents manually and automatically.
> Kind: Guide · Updated: Jul 9, 2026
CloudFiles Document Generation integrates with Salesforce to simplify document creation and management. Using the CloudFiles add-in, the CloudFiles Document Generation Lightning Web Component (LWC), and flow actions, users can efficiently generate, customize, and automate documents using Salesforce data. This guide offers a comprehensive walkthrough on setting up CloudFiles Document Generation, designing templates, and generating documents both manually and automatically.
Get started with these key sections:
- Installation: How to set up CloudFiles Document Generation in your Salesforce instance — installing the package from the Salesforce AppExchange, understanding the included components, and reviewing the technical requirements for compatibility.
- Configuration: Set up CloudFiles in Salesforce, connect your account, and manage permissions. Install the CloudFiles add-in for Microsoft Office and link it to Salesforce for creating templates, and manage user roles and licenses.
- Template Creation: Create templates for use with CloudFiles Doc Gen. Templates are built using Microsoft Word, Excel, and PowerPoint with the CloudFiles Word add-in — insert merge fields, preview with sample data, and publish the template for use within Salesforce.
- Features: The powerful features of CloudFiles Document Generation in Salesforce, including DocuSign integration.
> If you're on a paid plan, reach out to the CloudFiles support team for further assistance at support@cloudfiles.io.
---
# Installation (Document Generation)
https://help.cloudfiles.io/salesforce/installation
# Installation
The Installation section guides you through setting up CloudFiles Document Generation in your Salesforce org, enabling automated creation and management of business documents.
> Kind: Guide · Updated: Jul 4, 2026
The Installation section guides you through setting up CloudFiles Document Generation in your Salesforce org, enabling automated creation and management of business documents. It integrates with Microsoft Word, Excel, and PowerPoint, allowing you to create templates directly within these applications, and supports template-based document generation in .pdf and .docx formats.
This section is divided into two key sub-sections -
1. **Installing from the Salesforce AppExchange** — The CloudFiles managed package is available on the Salesforce AppExchange. This subsection covers:Pre-requisites – System Administrator access is required.Step-by-step installation guide – Instructions for finding CloudFiles on AppExchange and approving third-party access.Post-installation steps – Configure your CloudFiles account.
2. **What's In the Package?** — Installing CloudFiles provides access to tools and features for AI-powered document processing. This subsection covers:CloudFiles Lightning App – Available in Salesforce’s App Launcher.Custom Permissions – Manage user access with predefined roles .Flow Actions & Components – Automate document processes using Salesforce Flows, CloudFiles Flow Actions and Platform Events.Apex Support – Extend functionality with custom Apex code.
> **Note** — If you're on a paid plan, reach out to the CloudFiles support team for further assistance, at - support@cloudfiles.io
---
# Installing from the Salesforce AppExchange (Salesforce: Document Generation)
https://help.cloudfiles.io/salesforce/QKC1-installing-from-the-salesforce-appexchange
# Installing from the Salesforce AppExchange
CloudFiles Document Generation is available to install from the Salesforce AppExchange.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles Document Generation | Create & Manage PDF, Word & more is available to install from the Salesforce AppExchange.

> **Prerequisite** — You must have System Administrator credentials to install an application from the AppExchange.
## Installation Steps
- Go to the CloudFiles Document Generation | Create & Manage PDF, Word & more listing on the Salesforce App Exchange, and click on "Get It Now".

- Log in to the AppExchange.
- Specify where you want to install
- Click Install in production to install in your production instance.
- Click Install in sandbox to install in a sandbox.

- Confirm the Installation Details
- Check "I have read and agree to terms and conditions"
- Click "Confirm and Install"

- This redirects you to Salesforce login page to continue the installation.
- Choose who to install CloudFiles for, Select "Install for Admins Only".

- Don't worry, all your users will be able to access CloudFiles. We select this option to better control the permissions for all users.
- Approve Third-Party Access
- Check "Yes, grant access to these third-party websites"
- Click "Continue"

- Read Why are various third party accesses asked during installation for information.
- The App may sometimes take long time to install, click "Done". You will recieve an email after the installation is completed.

> **Post Installation** — After installing, you must finish the steps listed in Configuration based on your business use case.
---
# What's In the Package?
https://help.cloudfiles.io/salesforce/whats-in-the-package
# What's In the Package?
An overview of the CloudFiles Document Generation package components, including the Lightning Experience app, Lightning Web Component, Microsoft Add-Ins, permission sets, Flow actions, events, and Apex extensibility.
> Kind: Guide · Updated: Jul 4, 2026
When you install the CloudFiles Document Generation | Create & Manage PDF, Word & more you can create templates directly within Microsoft Word, Excel, and PowerPoint to automate document generation. It also integrates with Salesforce Lightning pages, allowing you to generate documents from Salesforce records using predefined templates.
## CloudFiles Lightning Experience App
The CloudFiles app is accessible via the App Launcher in Lightning Experience. This app enhances productivity by allowing users to seamlessly switch between apps and includes all admin related pages.

The Lightning app includes Lightning page tabs of utilities like "Document Generation", "Content Library" and "Settings". You can even append other navigation items to the Lightning app that you find relevant.

Manage the App: Edit and configure the app in App Manager under Lightning Experience Setup.

## Lightning Web Component (LWC)
The CloudFiles Doc-Gen widget is a Lightning Web Component that integrates into any Salesforce standard or custom Lightning page. It allows users to attach and utilize multiple Doc Gen templates to generate various documents in .docx and .pdf format directly from Salesforce records, enabling template-based document creation.

## Microsoft Add-Ins
The CloudFiles Add-in integrates with Microsoft Word, Excel, and PowerPoint, enabling users to create and manage templates across various document types. With dynamic fields, templates automatically populate with Salesforce data. Users can efficiently design and generate documents directly within their preferred Microsoft Office applications.

## CloudFiles Permission Sets
The CloudFiles app includes custom permissions to control access to its features. These permissions are grouped into three predefined permission sets:
- CloudFiles Admin User: Full access, including admin-level settings.
- CloudFiles Standard User: Full functionality for internal users, excluding admin features.
- CloudFiles External User: Suitable for Experience Cloud (community) users.
Permission sets are auto-assigned upon installation but can be manually reassigned via Setup > Permission Sets > Manage Assignments. You can also create custom permission sets tailored to your needs.
## Flow Actions and Components
The package includes CloudFiles Flow Actions and Screen Flow Components, enabling Process automation through Flow Builder and Dynamic user interfaces with Screen Flows.

## CloudFiles Events
CloudFiles supports event-driven automation with:
- Platform Events: Trigger events for operations related to CloudFiles functionality.
- Event Records: Automatically create custom "CloudFiles Event" records, which can be leveraged in workflows and triggers.
## Apex
Extend CloudFiles functionalities using Apex to build advanced, custom integrations for your Salesforce org.
---
# Configuration (Document Generation)
https://help.cloudfiles.io/salesforce/zGbV-configuration
# Configuration
Overview of the Salesforce Configuration section covering CloudFiles Account Setup, Doc Gen Widget Setup, Template Builder Setup, Usage, and User Management.
> Kind: Guide · Updated: Jul 4, 2026
This section is the foundation for using CloudFiles in Salesforce. It guides you through setting up your CloudFiles Account, building Templates in Microsoft Word, excel and Powerpoint, Managing Users and much more.
1. **CloudFiles Account Setup** — This guide walks you through setting up a CloudFiles Account in Salesforce after installation. You'll learn how to access the CloudFiles App, connect your Salesforce Org, and verify the integration.
2. **Doc Gen Widget Set-up** — In this article, we cover how CloudFiles Document Generation helps create DOCX and PDF files using Salesforce data. It allows users to select templates directly from Salesforce records and generate documents, using the CloudFiles Word Add-in for template design and field mapping.
3. **Template Builder Setup** — This guide explains how to install the CloudFiles Add-in in Microsoft Word, Excel, and PowerPoint via Microsoft AppSource and connect it to Salesforce. It covers the setup process, including signing into your Sandbox Org, and authenticating with Salesforce
4. **Usage** — This guide covers the Usage Dashboard under Document Generation in Salesforce. It provides real-time visibility into document generation activities, consumption trends, and credit usage analytics.
5. **User Management** — Controlling user access and permissions is crucial for maintaining security and efficiency. This section covers:User Permissions – Define and assign roles to control access.License Management – Manage CloudFiles user licenses to ensure only authorized users have access.
---
# CloudFiles Account Setup (Salesforce: Document Generation)
https://help.cloudfiles.io/salesforce/XZw1-cloudfiles-account-setup
# CloudFiles Account Setup
How to set up a CloudFiles Account for your Salesforce Org after installing the CloudFiles Document Generation app.
> Kind: Guide · Updated: Jul 4, 2026
Once the CloudFiles Document Generation | Create & Manage PDF, Word & more is installed succesfully in your Salesforce instance, you will need to setup a CloudFiles Account for the Salesforce Org.
You can setup the CloudFiles app from within Salesforce by following the below steps.
- Click on the App Launcher (9 dots icon) on top left of Salesforce and search 'CloudFiles'.

- You will land on the "Home" Tab of the CloudFiles App
- Before connecting your Salesforce org to CloudFiles, select your preferred data region from the dropdown. Your data will be stored in your selected data region's data centers. We currently support the following regions:
- USA (default)
- Australia
- European Union
- United Kingdom
> **Note** — This region selection determines where all your CloudFiles data (accounts, attachments, resource details, etc.) is stored and ensures your data never leaves the selected region for compliance with data residency requirements.

- Once you've selected your region, click on "Setup" button to connect your Salesforce org to CloudFiles.

- This pops the "Allow Access ?" prompt. Click "Allow".

- This connects your Salesforce Org with CloudFiles.
You can confirm the Account details and connection status in the "Settings" Tab.

---
# Doc Gen Widget Set-up
https://help.cloudfiles.io/salesforce/doc-gen-widget-set-up
# Doc Gen Widget Set-up
CloudFiles Document Generation is used to generate DOCX and PDF documents using Salesforce data, integrating directly within Salesforce record pages.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles Document Generation is used to generate DOCX and PDF documents using Salesforce data. It integrates directly within Salesforce record pages, displaying all published templates related to a specific object. Users can select a template, generate a document, and download it in DOCX or PDF format. This functionality relies on the CloudFiles Word Add-in, which is used to design and manage document templates with Salesforce fields, and must be connected to your Salesforce Org for full functionality.
## Widget Configuration
After setting up the CloudFiles Word Add-in, the Document Generation Widget can be configured within Salesforce using the Lightning App Builder. The widget supports several configuration options -
- Widget Placement: You can add the widget to any record detail page, making it accessible directly from relevant Salesforce objects.
- Template Display: The widget automatically pulls in and displays all published templates related to the specific Salesforce object, allowing users to select the appropriate template quickly.
- Document Settings: Users can choose between DOCX and PDF output formats when generating documents.
- Automatic Download: Once a document is generated, it is automatically downloaded to the user's device.
- Field Mapping: Templates created using the Word Add-in are dynamically populated with Salesforce data based on field mappings configured within the template.

## CloudFiles Document Generation Widget Set-up
The CloudFiles Doc Gen LWC can be easily added to any object's record detail page in Salesforce. Once added, this widget will display all the published templates related to that object. Users can then generate documents in either DOCX or PDF format, which will be automatically downloaded upon generation.
Follow the steps below to add CloudFiles Doc Gen widget to any page -
- Go to any Object's record detail page and click “Edit Page” Button.
- Lightning builder for this page will open. Drag and drop the "CloudFiles Doc Gen" widget into the desired location.
- Save and exit the builder.
- Refresh the Salesforce record page.
- The widget displays all the published templates for that object.
For visual understanding, refer to the video below -
[Watch video](https://youtu.be/PPvVbst2dwE)
> **Note** — If you're on a paid plan, reach out to the CloudFiles support team for further assistance, at - support@cloudfiles.io
---
# Template Builder Setup
https://help.cloudfiles.io/salesforce/template-builder-setup
# Template Builder Setup
This guide walks you through installing the CloudFiles add-in in Microsoft Word, Excel, or PowerPoint and connecting it to your Salesforce account.
> Kind: Guide · Updated: Jul 4, 2026
This guide will walk you through the process of installing the CloudFiles add-in in Microsoft Word, Excel, or PowerPoint and connecting it to your Salesforce account. By completing these steps, you'll be able to create document templates within Microsoft apps using Salesforce data.
1. **How to Install CloudFiles Add-In** — This article guides you through installing the CloudFiles Add-in in Microsoft Word, Excel, and PowerPoint via Microsoft AppSource.
2. **Connect CloudFiles Add-in to Salesforce** — This article explains how to connect the CloudFiles Add-in to your Salesforce Org. It walks through the sign-in process, and authenticating with Salesforce.
---
# How to Install CloudFiles Add-In
https://help.cloudfiles.io/salesforce/how-to-install-cloudfiles-add-in
# How to Install CloudFiles Add-In
The CloudFiles add-in connects CloudFiles with your Salesforce Org, enabling template creation with Salesforce data.
> Kind: Guide · Updated: Jul 4, 2026
The CloudFiles add-in connects CloudFiles with your Salesforce Org, enabling template creation with Salesforce data You can install the add-in for Microsoft Word, Excel, and PowerPoint, allowing you to design templates directly.
> A valid Microsoft account is necessary to complete the installation successfully and access the CloudFiles add-in.
## Steps to Install the CloudFiles Add-in in Microsoft Word, Excel, or PowerPoint:
- Open Microsoft Word, Excel, or PowerPoint on your PC.
- Navigate to the Home tab and click on Add-ins to explore the available options.
- In the Add-ins window, select + More Add-ins to open the Office Add-ins marketplace.
- Click on Microsoft AppSource, which will redirect you to the AppSource page.
- In the search bar, type CloudFiles and look for the relevant add-in in the search results.
- Click on Get it now to begin the installation process. Follow the on-screen prompts to complete the installation.
- Once the installation is complete, click on Open in Word/Excel/PowerPoint to launch the CloudFiles add-in.
- The New Office Add-in sidebar will appear. Click on Allow and Continue to grant the necessary permissions and enable the add-in for use.
Your CloudFiles add-in is now successfully installed and ready to be used within your Microsoft Office applications.
[Watch video](https://youtu.be/0Kzyf8FzEhI)
> Since the CloudFiles add-in is linked to your Microsoft account, once installed in one application (Word, Excel, or PowerPoint), it will automatically be available in the other two.
The following two images diaplay the CloudFiles Add in Microsoft Excel and Powerpoint respectively


---
# Connect CloudFiles Add-in to Salesforce
https://help.cloudfiles.io/salesforce/connect-cloudfiles-add-in-to-salesforce
# Connect CloudFiles Add-in to Salesforce
Integrating the CloudFiles Add-in with your Salesforce Org allows you to create and manage document templates directly within Microsoft Word, Excel, and PowerPoint using Salesforce data.
> Kind: Guide · Updated: Jul 4, 2026
## Connecting CloudFiles Add-in to Salesforce
Integrating the CloudFiles Add-in with your Salesforce Org allows you to create and manage document templates directly within Microsoft Word, Excel, and PowerPoint using Salesforce data. Follow these steps to connect the add-in and start building dynamic templates:
- Open Microsoft Word, Excel, or PowerPoint and navigate to the Add-ins section.
- Launch the CloudFiles add-in from the available options.
- Click Sign in and select your Salesforce Org to enable document generation.
- In the Sign-in sidebar, choose one of the following:
- Production to connect to a Production Org.
- Sandbox to connect to a Sandbox Org.
- A Salesforce sign-in window will appear. Enter your Salesforce credentials and follow the on-screen instructions to complete authentication.
- Once successfully signed in, you can start designing document templates directly in Word, Excel, or PowerPoint, embedding Salesforce fields for automated data population.
With CloudFiles integrated, you can efficiently generate documents from Salesforce data while working within familiar Microsoft applications.

Your CloudFiles add-in is now connected to Salesforce, allowing you to create and automate document generation.

The following two images diaplay the CloudFiles Add in Microsoft Excel and Powerpoint respectively.


---
# Usage (Salesforce: Document Generation)
https://help.cloudfiles.io/salesforce/9GOC-usage
# Usage
The Usage section under Document Generation in Salesforce provides a dashboard to monitor document generation activities, credit consumption, and usage trends using CloudFiles.
> Kind: Guide · Updated: Jul 4, 2026
The Usage section under Document Generation in Salesforce provides an intuitive dashboard to monitor your document generation activities using CloudFiles. It offers real-time visibility into how document-related flow actions are being utilized, helping administrators and users understand their consumption trends and credit usage patterns.
## What Is Tracked?
The dashboard displays the total number of documents generated using the following flow actions:
- CloudFiles: Generate Document Used for standard document generation via flows, typically for one record at a time. Each time this action is executed in a flow, 1 credit is consumed per document generated, and 1 count is added to the usage metric.
- CloudFiles: Generate Document (Batch) This flow action supports bulk generation and adds 1 credit and 1 document count for each document generated, even when multiple doc-gen template inputs are used. The dashboard reflects the total number of individual documents, not just the batch trigger.
- CloudFiles: Generate Document (Sync) Each execution of this action results in the generation of 1 document, adding 1 count to the usage dashboard, and consuming 1 credit.
## Dashboard Overview
The dashboard presents:
- A bar graph showing the number of credits across time (daily/weekly/monthly intervals).
- Total count of Doc-Gen actions executed within a selected time frame.
- Filter options:
- Interval Selector: Day, Week, Month
- Date Range Selector: Last 7, 30, 90, 180 days, 1 year
For instance, in the screenshot provided, 14 documents were generated between June 21 and July 21, with visible peaks on specific days, representing flow executions.

---
# User Management (Salesforce: Document Generation)
https://help.cloudfiles.io/salesforce/GyWH-user-management
# User Management
User Management in CloudFiles ensures that users have the right access, licenses, and permissions to create templates and generate documents within Salesforce.
> Kind: Guide · Updated: Jul 4, 2026
User Management in CloudFiles ensures that users have the right access, licenses, and permissions to create templates and generate documents within Salesforce. It covers two key areas:
1. **User Permissions** — Defines the specific actions a user can perform, such as creating templates and generating documents. Administrators can customize these permissions to control access levels based on user roles.
2. **License Management** — Controls the activation and assignment of licenses to Salesforce users. It ensures that only authorized users can access CloudFiles features based on their assigned licenses.
---
# User Permissions (Salesforce: Document Generation)
https://help.cloudfiles.io/salesforce/9MqH-user-permissions
# User Permissions
CloudFiles Document Generation package includes custom permissions and predefined permission sets to manage access to key features like template creation and document generation.
> Kind: Guide · Updated: Jul 4, 2026
The CloudFiles Document Generation | Create & Manage PDF, Word & more package includes custom permissions to manage access to key features like template creation and document generation. To simplify user management, CloudFiles provides predefined permission sets tailored to common roles and access requirements.
## CloudFiles Custom Permissions
CloudFiles offers granular permissions to manage access and functionality.
- Superadmin - Allows a user to manage everything with regard to CloudFiles Document Generation.
- Update Account Settings - Allows modifications to account-wide settings, including CloudFiles account name, billing, and defaults (recommended for admins only).

## Permission Sets
CloudFiles comes with few pre-packaged permission sets. You can always create a custom permission set using CloudFiles permissions described above.
1 - CloudFiles Admin User - This permission set is suitable for admins who should have access to all CloudFiles functionality within Salesforce, including billing, creating templates and generating documents.
2 - CloudFiles Standard User - This permission set is suitable for all internal users (company employees) who should have access to all CloudFiles functionality except admin level features.
3 - CloudFiles External User - This permission set is suitable for all external users who can generate documents from already available templates.
## Permission Set Assignment
To reduce the setup time, CloudFiles automatically assigns following permission sets on installation -
- CloudFiles Admin User - This is assigned to all users with "System Administrator" profile
- CloudFiles Standard User - This is assigned to all internal users except administrator
- CloudFiles External User - This permission set is suitable for experience cloud users(community users).
You can manage these assignments according to your needs.
> When new users are added to your Salesforce org, they would need to be assigned CloudFiles permissions manually. You can also setup a flow to automatically do it when users are added. Please feel free to reach out to us for any help regarding this.
To manually assign permission sets, please follow the steps below
- Go to Setup > Permission Sets.
- Select appropriately among the available default package permission sets or custom permission sets.
- Click on Manage Assignments. Then Click Add Assignment. Choose the users you want to add the selected permission set for.
- Follow the prompts to finish the assignment process.
---
# License Management (Salesforce: Document Generation)
https://help.cloudfiles.io/salesforce/Sps9-license-management
# License Management
CloudFiles License Management in Salesforce allows admins to monitor license usage and control which users have access to CloudFiles features.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles License Management in Salesforce allows admins to monitor license usage and control which users have access to CloudFiles features.
Once the necessary permissions are assigned to Salesforce users, any interaction with the CloudFiles Lightning App or its Lightning Web Components (LWCs) will create a corresponding CloudFiles User. Alternatively, Admins can also explicitly assign licenses to users directly from the User Management page using the Manage Users option.
## Viewing CloudFiles Users
You can view all CloudFiles users from the User Management page under the Document Generation tab of the CloudFiles app. The page shows the total number of active licenses and the total licenses allocated to your org.
Each user entry displays their name, email address, and current license status (Active or Inactive).

A Salesforce user must have an "Active" CloudFiles User status to access CloudFiles functionalities. If an "Inactive" user attempts to interact with a CloudFiles LWC, they will receive a "You need CloudFiles license to access this widget" message.

To activate or deactivate a user:
- Click the pencil (edit) icon next to the License Status column.
- Select Active or Inactive from the dropdown.
- Click Save to apply the changes.

> **Note** — If despite having an active license the user is not able to interact with the widget, please confirm if the permission set has been correctly assigned to the user. Having either the 'CloudFiles Admin User' or 'CloudFiles Standard User' permission set is mandatory for any user to be able to interact with CloudFiles functionality.
## Managing Users
Clicking Manage Users on the User Management page opens a detailed view of all Salesforce users in your org. This view includes additional columns: Profile and Role, and supports filtering by both columns to help you find and manage users more efficiently.

To activate or deactivate a user, locate them in the list and toggle their license status accordingly.
## License Limitations
The number of active CloudFiles users cannot exceed the total licenses allocated to your Salesforce org. If you try to activate more users than your license count allows, you will be prompted to purchase additional licenses.

## Buying Licenses
You can add CloudFiles product licenses directly from the User Management page by clicking the Buy Licenses button in the top right. Any new licenses are immediately available for use and will be reflected in your billing as per your invoice. This lets you scale usage instantly without waiting for manual provisioning.

---
# Template Creation
https://help.cloudfiles.io/salesforce/template-creation
# Template Creation
Creating a template is the first step in generating documents using CloudFiles Doc-Gen. This is a step-by-step guide on how to create, preview, and publish templates using Microsoft Word and the CloudFiles Word add-in.
> Kind: Guide · Updated: Jul 4, 2026
Creating a template is the first step in generating documents using CloudFiles Doc-Gen. Here's a step-by-step guide on how to create, preview, and publish templates using Microsoft Word and the CloudFiles Word add-in.
## Guideline for Creating Effective Templates
A well-crafted template determines how a merged document will appear and what information it will contain. To create a functional template in Microsoft Word, familiarity with document creation in Word is essential. The more proficient you are with Word, the easier it will be to style the final output effectively.
### Using Existing Documents as Sources
Most likely, you'll have source documents to work from, either electronic or printed, that you need to reproduce as templates. These source documents can quickly give you a list of data fields to collect. If you don't have an existing document, you can mock up a template and list the fields, their object, and any special formatting required.
### Identifying Repeating Data & Conditional Content
Your template may include content common across all generated documents. For example, in a quote, you might want to insert your company logo, which should be present in every generated quote. Identify such content and build templates accordingly.
You may also want to set up conditions for including specific content in the generated document based on certain criteria. For example, different agreement points might be included in a contract based on an Account's ACV.
### Gathering Information
Identify and gather all the information you want to display on the merged documents. For instance, if your final document is an invoice, you'll need data about the account, order number, inventory levels, shipping information, price, and the sales representative. Data contained in the Salesforce Master Object where the CloudFiles Doc-Gen is placed will be automatically available to the Builder. All other data must be gathered by creating Resources.
By following these guidelines, you can create effective templates that ensure consistent and accurate document generation.
## Stages of Setting Up CloudFiles Doc-Gen Templates
You can build as many templates as you need for any Salesforce object, preview them once built, and then publish them to make them available in your Salesforce Org for document generation.
> **Note** — 'Stage Progress Bar' at the top in the add-in will help you track and navigate between different stages.
Below are the stages involved in setting up templates using CloudFiles Doc Gen -
### 1 - Building Template
In the Build stage, you select the Salesforce object you want to create a template for. Using various actions, you can insert object fields, related data, and custom resources. Besides field insertions, you can add pictures, tables, and set conditions for content insertion. You can also specify the title of the generated documents. Through the building stage, you will be able to utilize Template - Resources to retrieve data from connected Salesforce Org and design the template with these resources using Template - Actions.
Once the CloudFiles Word Add-in is installed and the Salesforce Org is connected, follow the walkthrough instructions given below to start building your own template-
- Select CloudFiles add-in > Login to your Salesforce account.
- Select platform as Salesforce and pick the record based on relevancy. (Here we will be using Account as the record)
- Platform > Salesforce and Record > Account
- Once you click on Submit, you will be directed to the next stage of selecting Template - Actions and utilizing various Template - Resources. You can use specific resources and appropriate actions according to your use case.
Refer to the GIF below to have a visual understanding of these steps -

We will create the template by inserting placeholders using actions. These placeholders will automatically be populated with the selected resources once the document is generated later in the process.
### 2 - Preview the Template
Once we have finished building the template, you can preview it for a particular record to ensure it produces the desired output before publishing. Follow the steps below -
- Click on 'Preview' in the stage progress bar.
- Enter the Record Id.
- Click on 'Generate preview'.
A "Preview is generated successfully" message will prompt once the preview is generated. You can download and see the document by clicking 'Open' against the message prompt. Refer to the GIF below to have a visual understanding of these steps -

### 3 - Publish the Template
After building a template in the 'Build' stage and reviewing it in the 'Preview' stage, the final step is to publish the template. Publishing makes the template available in your Salesforce Org for document generation on the specified object. Here's how you can publish the template:
- Go to 'Publish' from the Stage Navigation Bar.
- Select the appropriate publish option.
- Click 'Publish' to publish the template.
> **Note** — To publish as a new template for the object, check the 'Publish as a New Template' checkbox.To publish as an update to an existing template for the object, check 'Select an existing template' and choose an existing template from the drop-down.
Once the template is published, you can check the newly created or updated template from the 'CloudFiles Doc-Gen' widget on the object's page or from the 'Document Generation' tab of the CloudFiles app.
---
# Template - Resources
https://help.cloudfiles.io/salesforce/template-resources
# Template - Resources
An overview of the resource types available in the Builder — Record Single Variable, Record Collection Variable, Runtime Variable, and Recipients — and how they can be combined for advanced template logic.
> Kind: Guide · Updated: Jul 4, 2026
The Builder automatically retrieves all fields (both standard and custom) from the selected Master Object. In addition to these, you may need data from other records, record collections, or use variables with predefined values, or store a value that can be used in the building process.
To achieve this, you create resources by clicking "+ Create New Resource" in the Resources section of the Builder. Depending on the type, configure its object type, filters, limits, or values.
The available types of resources:
1. **Record Single Variable** — A Record Single Variable represents a single record and holds all its field values. It is ideal for working with a specific data entry, such as a Contact, Opportunity, or Account. The record can either be related to the main template object or be an independent record fetched using filter criteria.
2. **Record Collection Variable** — A Record Collection Variable represents a group or list of records from a Salesforce object. It stores multiple records that meet defined criteria and is typically used when you need to work with repeating data entries, such as a list of Products, Contacts, or Tasks within your document.
3. **Runtime Variable** — Documents can also be generated from Salesforce Flows. Runtime Variables allow you to pass dynamic values from a Flow into the document at runtime. They can hold values such as a user’s email, record ID, or other flow inputs. You can assign a default value or override it using field data or constants.
4. **Recipents** — The Recipients resource allows you to define the individuals who will receive and sign generated documents via DocuSign. This resource holds information such as the recipient’s name and email address, which are critical for routing the document to the right person for e-signature.
## Combining Resources for Advanced Logic
You can combine different types of resources to create more dynamic templates. For example, a Runtime Variable can serve as a filter input for both Record Single Variable and Record Collection Variable. Similarly, field values from a Record Single Variable can be used to filter a Record Collection Variable, allowing you to narrow down the collection based on a specific record’s attributes.
---
# Record Single Variable (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/record-single-variable
# Record Single Variable
A Record Single Variable retrieves an entire record and its field values based on defined filter conditions, similar to retrieving an Object Record with conditions set on fields.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
A Record Single Variable contains an entire record and all of the field values on that record. Creating a Record Single Variable is like retrieving an Object Record with conditions set on the fields. For example, creating a Contract document from the Contract Object may require details from other associated or unassociated records, such as Opportunity amount or Account ACV. These Account or Opportunity records can be retrieved as a Record Single Variable with conditions set like Opportunity Id = Contract > Opportunity Id.
To create a Record Single Variable, follow the steps below -
- Click 'Resources'; the Resource Manager opens up.
- In the 'New Resource' pane, select Resource type from the drop-down as 'Record Single Variable'.
- Enter a Label, and the API Name will automatically populate.
- Select the Object.

## Filters
To determine which record is retrieved, you must define filter conditions. These conditions are used to compare values from the selected object and determine if a record meets the required logic to proceed.
Begin by selecting the main operator that controls how multiple conditions will be evaluated:
- AND: All conditions must be true
- OR: At least one condition must be true
- Custom: Allows for advanced expressions (e.g., (1 AND 2) OR 3)
Once the main operator is set, define one or more filter conditions. Each condition includes:
- A Field from the selected object
- A comparison Operator
- A Value to compare against
Click + Add Condition to include additional filter rows. The overall filter logic follows the main operator you selected (AND/OR/Custom)

### Add Conditions
### Field:
The Field dropdown allows you to select a specific field from the chosen object to filter or identify a record based on matching criteria. (e.g., Email, FirstName, Status, Custom_Field__c)
### Operator:
Choose a logical operator from the dropdown:
- Equals: Matches records with a field exactly equal to the specified value (e.g., for String, Picklist, Number, Boolean).
- Not Equals: Matches records where the field does not equal the given value(e.g., for String, Picklist, Number, Boolean).
- Greater Than: Matches records where the field value is numerically greater (e.g., for Integer, Decimals, Currency).
- Greater Than or Equals: Matches records where the value is greater than or exactly equal (e.g., for Integer, Decimals, Currency).
- Less Than: Matches records with a value lower than the specified input (e.g., for Integer, Decimals, Currency).
- Less Than or Equals: Matches records with a value that is less than or exactly equal (e.g., for Integer, Decimals, Currency).
- In: Matches records where the field value is one of multiple specified values (e.g., for Picklist, Multi-Select Picklist).
- Not In: Excludes records that match any of the specified values (e.g., for Picklist, Multi-Select Picklist).
- Like: Matches records based on partial text (e.g., for Text, Email, URL).
### Value:
The Value field is used to specify what the selected Field should be compared against. This can take multiple forms, depending on your use case:
- Global Variables: Field value from the same object record ({!$Record.Id}).
- Record (Single) Variables: Field value from related records.
- Runtime Variable: Dynamic Runtime Variable value passed into or generated within the flow that allows conditions to adapt based on the data being processed during execution.
- Global Constants: A direct input like the following:
- {$GlobalConstant.False} - Boolean false
- {$GlobalConstant.True} - Boolean true
- {$GlobalConstant.EmptyString} - Represents a blank or empty value
- {$GlobalConstant.CurrentTime} - Dynamically inserts the exact timestamp when the Document is generated
- Collection Variable: Record Collection Variable are now supported as filter values when using the IN or NOT IN operators, allowing records to be matched dynamically against a list of values at runtime.
## Order By (Optional)
You can optionally define the order in which matching records should be sorted by selecting a field. Sorting can be done in ascending (e.g., oldest to newest, A–Z) or descending (e.g., newest to oldest, Z–A) order. Once sorted, only the first record in the resulting list will be fetched and stored in the variable.
> Use case:A company uses CloudFiles to generate contract documents automatically. Each Contract is related to an Opportunity, and the business team wants the generated contract to include the most recent Opportunity Amount linked to the same Account.Goal: Retrieve the latest Opportunity associated with the Account at the time of contract generation and display its Opportunity Amount within the document.Below is the video demonstration of this use case.
[Watch video](https://www.youtube.com/embed/vYk_HdvtSls)
---
# Record Collection Variable (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/record-collection-variable
# Record Collection Variable
A Record Collection Variable is a collection of records, created by selecting an Object type and setting filter, order-by, and group-by conditions on its fields.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
A Record Collection Variable is a collection of records. Creating a Record Collection Variable involves selecting the Object type and setting conditions on the record fields.
To create a Record Collection Variable, follow the steps below -
- Click 'Resources'; the Resource Manager opens up.
- In the 'New Resource' pane, select Resource type from the drop-down as 'Record Collection Variable'.
- Enter a Label, and the API Name will automatically populate.
- Select the Object.
- You can limit the number of output records using the 'Limit Rows' option.

## Filters
To determine which records are retrieved in a Record Collection Variable, you must define filter conditions. These conditions help narrow down records from the selected object based on field values and matching criteria.
Begin by selecting the main operator that controls how multiple conditions will be evaluated:
- AND: All conditions must be true
- OR: At least one condition must be true
- Custom: Allows for advanced expressions (e.g., (1 AND 2) OR 3)
Once the main operator is set, define one or more filter conditions. Each condition includes:
- A Field from the selected object
- A comparison Operator
- A Value to compare against

### Condition:
### Field:
The Field dropdown allows you to select the specific object field that should be used to filter or identify a record based on matching criteria. (e.g., Email, FirstName, Status, Custom_Field__c)
### Operator:
Choose a logical operator from the dropdown:
- Equals: Matches records with a field exactly equal to the specified value (e.g., for String, Picklist, Number, Boolean).
- Not Equals: Matches records where the field does not equal the given value(e.g., for String, Picklist, Number, Boolean).
- Greater Than: Matches records where the field value is numerically greater (e.g., for Integer, Decimals, Currency).
- Greater Than or Equals: Matches records where the value is greater than or exactly equal (e.g., for Integer, Decimals, Currency).
- Less Than: Matches records with a value lower than the specified input (e.g., for Integer, Decimals, Currency).
- Less Than or Equals: Matches records with a value that is less than or exactly equal (e.g., for Integer, Decimals, Currency).
- In: Matches records where the field value is one of multiple specified values (e.g., for Picklist, Multi-Select Picklist).
- Not In: Excludes records that match any of the specified values (e.g., for Picklist, Multi-Select Picklist).
- Like: Matches records based on partial text (e.g., for Text, Email).
### Value:
The Value field is used to specify what the selected Field should be compared against. This can take multiple forms, depending on your use case:
- Global Variables: Field value from the same object record ({!$Record.Id}).
- Record (Single) Variables: Field value from related records.
- Runtime variable: Dynamic Runtime Variable value passed into or generated within the flow that allows conditions to adapt based on the data being processed during execution.
- Global Constants: A direct input like the following:
- {$GlobalConstant.False} - Boolean false
- {$GlobalConstant.True} - Boolean true
- {$GlobalConstant.EmptyString} - Represents a blank or empty value
- {$GlobalConstant.CurrentTime} - Dynamically inserts the exact timestamp when the Document is generated
Click + Add Condition to include additional filter rows. The overall filter logic follows the main operator you selected (AND/OR/Custom).
## Order By (Optional)
You can optionally define the order in which matching records are sorted by selecting a field. Sorting can be done in ascending or descending order. The sort order directly determines which records are fetched when a limit is applied. For example, if a limit is set (e.g., 10 records), the top records based on the specified order will be added to the collection variable.

## Group By (Optional)
Grouping lets you summarize records by one or more selected fields and return aggregated values—such as Sum, Average, Maximum, Minimum, and Count—calculated from numeric fields within each group.
- Sum – Total of all numeric values in the field across the collection
- Average – Mean of the field's values across the collection
- Maximum / Minimum – Highest or lowest value of the field in the collection
- Count – Total number of records in the collection
Follow the steps below to group and summarize values:
- Select one or more Group By Fields (e.g., Stage, Status)
- Define aggregations for grouped data:
- Field: Select a field to aggregate (e.g., Amount)
- Function: Choose an aggregation method (e.g., Sum, Avg, Max, Min, Count)
- Alias: This will be automatically generated based on the selected field and function (e.g., Amount_SUM)
Click + Add Aggregation to define more.
> **Important** — Aggregation functions (e.g., Sum, Avg, Max, Min, Count) can only be applied to number-type fields. When grouping a Record Collection, results will only be returned if the selected aggregation fields are numeric.Non-numeric fields (like text or dates) are not supported for these functions and will not produce valid aggregated results.Once records are grouped, only the Group By field and the aggregated fields will be available for use in your template. Other fields from the original ungrouped records will not be accessible in the output.
To use the fields from the Record Collection Variable, you will need to use the Insert Loop or Insert Table actions available in the template editor.
> Use Case:An account management team generates a monthly summary report for each customer using CloudFiles. They want to include a breakdown of all related Opportunities, grouped by Stage, along with the total Opportunity Amount in each stage.Goal: Use a Record Collection Variable to fetch all Opportunities linked to the same Account, group them by Stage, and calculate the sum of Opportunity Amount for each stage. This allows for dynamic summarization within the generated document.Below is the video demonstration of this use case.
[Watch video](https://www.youtube.com/watch?v=oEcOwkyqqCw)
---
# Runtime Variable (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/runtime-variable
# Runtime Variable
A Runtime Variable stores a value passed from a Salesforce Flow, generated dynamically during execution, that can be used to drive document logic and content at generation time.
> Kind: Guide · Updated: Jul 4, 2026
A Runtime Variable stores a value that can be passed from a Salesforce Flow, generated dynamically during execution. It acts as a holder for data that may be used or modified throughout the document generation. It enables the flow to pass values—such as a user’s email, record ID, or custom input—into the document logic at runtime.
You can set a default value or override it with field data or constants. Runtime Variables are ideal for passing values from flows, filtering or selecting records conditionally, and driving template decisions (e.g., showing/hiding sections) using flow action Generate Document.
## Single Runtime Variable
To create a Variable, follow the steps below -
- Click 'Resources'; the Resource Manager opens up.
- In the 'New Resource' pane, select Resource type from the drop-down as 'Runtime Variable'.
- Enter a Label, and the API Name will automatically populate.
- Assign a Value Type based on your requirement such as String, Integer, Double, etc.
- You can assign Default Value if needed.

### Value Types
Value types should be selected based on the field type or variable type available in the Salesforce Flow from which the value is passed.
String:
All text-based fields from Salesforce can be passed as strings.
Examples: RecordId, Text, Pickist, Textarea, Email, URL, Phone
Integer:
All number fields without decimals can be passed in as integers.
Examples: Number, Phone, any field declared as Integerin Salesforce.
Double:
All numeric fields that allow decimal values can be passed as doubles.
Examples: Currency, Percent, Number(with Decimals)
Boolean:
True/False fields can be passed as Boolean values. This includes any Checkbox values from a Screen Flow or Boolean fields from Salesforce records. Examples: Checkbox
Date:
Fields that store only the calendar date (without time) can be passed as Date.
DateTime:
Fields containing both date and time components should be passed as DateTime.
Examples: CreatedDate, LastModifiedDate - Datetime
Time:
Fields that store only time (without date) can be passed as Time
Rich Text Area:
Fields storing formatted text content can be passed in as Rich Text, which includes styling such as bold, italic, and underline; paragraph formatting like line breaks, bullet points, and numbered lists; embedded hyperlinks; and basic HTML tags (e.g
,, , , ).
> Use Case - Single variable1. Pass Email from Flow to DocumentGoal: Dynamically display user-specific data—such as the email ID—by passing it from a Salesforce Flow into the CloudFiles Template during document generation.To achieve this, begin by defining a Runtime Variable of type String in the CloudFiles Template through the New Resource pane. Then, within your Salesforce Flow, create a flow variable with Apex-Defined type and choose the class 'cldfs_CloudFilesVariable'. Set the following fields in the Assignment step of the Flow:key: This should match the API name of the Runtime Variable in the template.valueString: This holds the value you wish to pass (e.g., an email or name). You can assign the value from the screen input element 'Email'.Once set, the Runtime Variable will carry the Flow-provided value into the document generation process, allowing the content to reflect dynamic runtime data.2. Fetch a Record Using Runtime VariableGoal: Use a Runtime Variable to fetch a specific record dynamically based on input (such as an email address) provided from a Salesforce Flow. To dynamically fetch a single Contact record, a Runtime Variable can be created in the CloudFiles template to hold the Contact’s email address, which is passed as input from a Salesforce Flow. This enables Document Generation to use the provided email to filter and retrieve the matching Contact record (Record Single Variable). A CloudFiles variable in the Flow is used to pass this email value at runtime. Once the record is fetched, its fields can be dynamically merged into a document template for personalized document generation.
> Assigning Value in Flow Create a variable of data type Apex-Defined, and select the Apex class as 'cldfs_CloudFilesVariable' 2. This variable has key and valueString as parameters, which must be assigned using the Assignment element in the flow. key is the API name of the Runtime Variable as defined in the CloudFiles template.valueString is the actual value you want to assign and pass to the Runtime Variable at runtime.Add it to the collection variable Use the cldfs_variables as the Flow action (Generate Document) input - CloudFiles Variables.
## Collection Runtime Variable
To store and pass multiple runtime values, enable the Allow multiple values option while creating the Runtime Variable in the template. This option allows the variable to hold a list of values rather than just one, so that multiple entries can be assigned and processed during flow execution. This is useful when you expect repeated or grouped inputs from Salesforce Flows, such as lists of names, or other dynamic content that needs to appear in loops or tables within the document.
> Use Case - CollectionPassing Runtime Variable collection from FlowGoal: Display a list of values, such as multiple product names, by passing a collection from a Salesforce Flow into a CloudFiles document.Enable "Allow multiple values" while creating a Runtime Variable in the template. In Flow, assign each item’s value to valueString, add that variable to a CloudFiles collection variable, and then map the entire collection to valueCollection (after defining the key).Refer to the callout below for detailed steps on how to configure Flow variables to assign values to display them dynamically in a loop or table within the document.
> Assigning Values in FlowIn the CloudFiles template, create a Runtime Variable of type String with Allow multiple values enabled.To pass a list of items (e.g., products) into this Runtime Variable, configure the following Apex-defined Flow variables (Apex Class: cldfs_CloudFilesVariable):var_ProductSingle – to hold one item at a time. var_ProductCollection – to gather all items. var_ProductList – to map the values to the Runtime Variable defined in the template.Use an Assignment element to build the collection:Set the current product value on the single variable:Add that single variable into the collection:Repeat this step for each product (manually or inside a Flow Loop).Use another Assignment element to map the collection to the template variable:Set the key to the Runtime Variable API Name:Assign the collected values:Add var_ProductList to the CloudFiles Variable collection used as the Flow action input - CloudFiles Variables.
---
# Recipients (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/recipents
# Recipients
The Recipients resource lets you define the individuals who will receive and sign generated documents via DocuSign, holding info such as name and email for routing documents for e-signature.
> Kind: Guide · Updated: Jul 4, 2026
The Recipients resource allows you to define the individuals who will receive and sign generated documents via DocuSign. This resource holds information such as the recipient’s name and email address, which are critical for routing the document to the right person for e-signature.
This is a key part of using DocuSign with Word documents. It allows you to assign each signature space to the correct recipient.
A Recipient is a configuration that holds:
- Label – An internal name you assign (e.g., Primary Approver or Client Contact).
- Name Field – A merge field from your record that dynamically inserts the recipient’s name.
- Email Field – A merge field pointing to the recipient’s email address, used to send the signature request via DocuSign.
## ➕ How to Create a Recipient Resource
To create a new recipient:
- Navigate to the Template → Resources tab and click + Create New Resource.
- Set the Resource Type to Recipient.
- Enter the following fields:
- Label – Custom name for this recipient.
- Name Field – Select a dynamic field (e.g., {$Record.Owner.Name}).
- Email Field – Select the email field (e.g., {$Record.Owner.Email}).
- Click Save.

> **Important** — Make sure the email field contains a valid email. Otherwise, DocuSign won’t be able to deliver the signing request.
Once a recipient is configured, you can assign them to a signature field inside your Word template. To insert a signature field and link it to a recipient, you’ll need to use the Insert Form Field action.
---
# Template - Actions
https://help.cloudfiles.io/salesforce/template-actions
# Template - Actions
Overview of template actions available in Word, Excel, PowerPoint, and PDF templates for dynamically inserting Salesforce data.
> Kind: Guide · Updated: Jul 4, 2026
Now that we have created resources, the next step is to build templates using template actions. We offer templates in Word, Excel, and PowerPoint, each with its own set of unique actions, which we will explore in this article.
1. **Excel Template Actions** — Template actions in Excel enable dynamic insertion of fields and tables based on Salesforce data. These actions facilitate structured content, automate document generation, and streamline file organization by setting document titles. By utilizing these features, you can improve accuracy, flexibility, and efficiency in template creation.
2. **Pdf Template Actions** — PDF template actions let you insert field values or select checkboxes in fillable PDF forms using Salesforce data. These actions are useful for filling tax forms or agreements, where the layout stays fixed but values come from Salesforce records.
3. **PowerPoint Template Actions** — PowerPoint template actions allow you to dynamically insert fields and tables using Salesforce data. They facilitate structured content, automate document creation, and help manage files by defining document titles. Leveraging these features enhances accuracy, adaptability, and efficiency in template design.
4. **Word DocX Template Actions** — Template actions in Word allow you to dynamically insert fields, images, tables, loops, and conditions based on Salesforce data. These actions enable structured content, automate document generation, and help organize files by setting document titles. By leveraging these features, you can enhance accuracy, flexibility, and efficiency in template creation.
---
# Word DocX Template Actions (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/word-docx-template-actions
# Word DocX Template Actions
Overview of Word DocX Template Actions in CloudFiles Doc Gen, covering Insert Field, Insert Picture, Insert Table, Insert Loop, Insert Condition, Insert Link, and Document Title actions for building document templates.
> Kind: Guide · Updated: Jul 4, 2026
In the Actions section, you can customize your document templates using various operations. These actions allow you to insert fields, pictures, tables, apply conditions, and set document titles based on your requirements.
After setting up your resources, you can use the following actions to build your template:
- Insert Field – Add standard or custom fields from the Master Object, or create and insert resources as needed.
- Insert Picture – Insert images from URL fields directly into your document template.
- Insert Table – Create and customize tables based on Salesforce records, adjusting structure and content as required.
- Insert Loop – Repeat a section of the template dynamically for a set of records or a record collection.
- Insert Condition – Apply conditional logic to insert text, tables, or pictures based on specific field values.
- Inser Link - The Insert Link action adds a hyperlink to your document using a stored URL. The link can have a custom label and dynamically update if the URL is stored in a record.
- Document Title – Assign a title to the generated document by selecting a relevant field for better organization.
## Video Overview
The image below illustrates the process of generating a receipt using CloudFiles Doc Gen.

The video guides the user through the process of creating a Word template for document generation in CloudFiles Doc Gen. It explains how to structure the template and map Salesforce record fields for automated receipt generation.
[Watch video](https://youtu.be/yR75QbsCFc8)
---
# Insert Field (Word · Salesforce)
https://help.cloudfiles.io/salesforce/XuxX-insert-field
# Insert Field
This action allows you to insert any field (standard or custom) retrieved from the Master Object, User Object, Record Variable, or Runtime Variable.
> Kind: Guide · Updated: Jul 31, 2026
This action allows you to insert any field (standard or custom) retrieved from the Master Object, User Object, Record Variable, or Runtime Variable.
To insert data from the following:
- Master Object: The source record selected at the start, containing all its fields.
- User Object: Holds context of the user generating the document / running the flow.
- Record Variable: Holds a record and its field values, created by selecting an object type and setting conditions.
- Runtime Variable: Stores a value for reuse or modification, using field or constant values with an optional default.
## Follow the steps below to insert a field:
- Select Insert Field from the Select Action drop-down menu.
- Choose the desired field from the drop-down menu.
- Master Object fields are listed under "Record" (Global Variables).
- User Object fields are listed under "User" (Global Variables).
- Record Variables appear under "Variable".
- Runtime Variables and constants are listed under "Global Constants".
- Click Insert to place the field at the cursor's location in the work area. You can also copy and paste inserted fields as needed.
## Formatting Options:
Text: You can choose to capitalize (first letter in uppercase), use lowercase, or uppercase for the text.

Font: All inserted fields can be formatted like regular text in Word, including changes to font, size, and style.
Date Formatting: Date and datetime fields have a Format dropdown with four presets and a Custom option.

| Option | Output |
|---|---|
| Short | 08/23/2024 |
| Medium | Aug 23, 2024 |
| Long | August 23, 2024 |
| Full | Friday, August 23, 2024 |
| Custom | Any pattern you define |
Select Custom when you need a time component, a non-US date order, or a format the presets do not cover.
- Set Format to Custom.
- Enter a pattern in the Pattern box, such as MMM dd, yyyy.
- Check the Preview line below the box. It shows your pattern applied to a sample date, so you can confirm the output before inserting.
- Click Insert.

Select Tokens next to Pattern to see every supported token with an example of its output.

Separators such as /, -, , and spaces are printed exactly as you type them.
> **Tokens are case sensitive.** — MM is the month and mm is minutes, so dd/mm/yyyy prints the minutes value where you expect the month. Use dd/MM/yyyy. Pair hh with a so a 12 hour time shows AM or PM.
Patterns accept tokens and separators only. Literal words are not supported, and single quotes do not work as escape characters, so a pattern such as dd 'of' MMMM will not produce the result you expect.
Number Formatting: Number, currency, and percent fields accept a format pattern that controls decimal places, separators, and any currency symbol. Enter the pattern in the Format box.

A pattern describes a shape, not an example value. Only four characters control the number:
| Character | What it does |
|---|---|
| 0 | Always shows a digit. Inserts a zero if the value has none. |
| # | Shows a digit only if the value has one. |
| , | Thousands separator. |
| . | Decimal separator. |
Anything else you type, such as $, £, or GBP, is printed as-is around the number.
How decimals behave
Characters after the . set the maximum number of decimal places, and the value is rounded half-up to fit. 0 and # then decide whether each digit is shown.
- .00 always shows two decimals. 9,503.1 prints as 9,503.10.
- .## shows up to two decimals and drops trailing zeros. 9,503.10 prints as 9,503.1, and 10,000.00 prints as 10,000.
The same logic applies before the decimal point. With ###,###.##, a value of 0.89 prints as .89 because the leading zero is dropped. Ending the whole number part with 0, as in #,##0.00, always keeps at least one digit.
Recommended patterns
| Use case | Pattern | Value | Output |
|---|---|---|---|
| Currency | £#,##0.00 | 9503.11 | £9,503.11 |
| Currency | £#,##0.00 | 10000 | £10,000.00 |
| Whole numbers | #,##0 | 1234.6 | 1,235 |
| Percent, field stores 0.1234 | 0.00% | 0.1234 | 12.34% |
| Percent, field stores 12.5 | 0.00\% | 12.5 | 12.50% |
Use 0 for every digit you want guaranteed. For currency, £#,##0.00 is almost always the correct pattern.
A % placed after the digits multiplies the value by 100 before printing. Salesforce percent fields already store 12.5 rather than 0.125, so write the sign as \% to print it without multiplying.
Other separator styles
Always write the pattern with , for grouping and . for decimals. To print a different convention such as 1.234.567,89, set the Group Separator and Decimal Separator dropdowns below the Format box. These change the printed characters only. The pattern itself stays in standard notation.
Go to 0:27 to see the Insert Field action being used to create a sample receipt in Microsoft Word.
[Watch video](https://youtu.be/yR75QbsCFc8?t=20)
---
# Insert Picture (Word · Salesforce)
https://help.cloudfiles.io/salesforce/insert-picture
# Insert Picture
This action enables you to insert a picture from either a URL field or a Salesforce Content Version ID.
> Kind: Guide · Updated: Jul 4, 2026
This action enables you to insert a picture from either a URL field or a Salesforce Content Version ID. You can retrieve the image link or ID from a record field, a resource, or enter it manually. Follow the steps below to insert a picture:
There are two ways to provide the image source:
- Using a URL – Add a direct link to a public image. The link can come from a field in your records, a resource, or be entered manually.
- Using a Salesforce Content Version ID – Use the unique ContentVersionId of an image stored in Salesforce. This allows you to insert images securely from your Salesforce library.
## Inserting an Image Using a URL
- Select "Insert Picture"
- From the Select Action drop-down menu, choose Insert Picture.
- Choose the Picture Source
- In the Picture Source drop-down, select URL.
- Select the URL Field
- In the URL drop-down, choose the field that contains the public link to the image.
- This field can dynamically insert images based on URLs retrieved from record fields or other variable resources.
- Insert the Image
- Click Insert to place the image at the desired location.
- Adjust the Image
- Resize or reposition the image as needed.
- Apply formatting options, such as adding a border, for a polished appearance.

## Inserting an Image Using a Salesforce Content Version ID
- Select "Insert Picture"
- From the Select Action drop-down menu, choose Insert Picture.
- Choose the Picture Source
- In the Picture Source drop-down, select Salesforce Content Version.
- Select the Content Version ID Field
- In the Salesforce Content Version ID drop-down, choose the field containing the ContentVersionId of the image you want to insert, or enter a static ContentVersionId.
- Insert the Image
- Click Insert to place the image at the desired location.
- Adjust the Image
- Resize or reposition the image as needed.
- Apply formatting options, such as adding a border, for a polished appearance.

Go to 0:17 to see the Insert Picture action being used to create a sample receipt in Microsoft Word.
[Watch video](https://youtu.be/yR75QbsCFc8?t=20)
---
# Insert Table (Word · Salesforce)
https://help.cloudfiles.io/salesforce/WRbK-insert-table
# Insert Table
Learn how to insert a table into a Microsoft Word template using a Salesforce Record Collection Variable, including defining structure, inserting fields, sorting, and applying filters.
> Kind: Guide · Updated: Jul 4, 2026
You can insert a table into a Microsoft Word template using data from Salesforce records. These records are stored as a Collection Variable Resource, which allows you to retrieve and display structured data within the document.
- Select the Action:
- In the "Select Action" dropdown, choose "Insert Table."
- Choose a Record Collection Variable:
- In the "Resource Type" field, select a Record Collection Variable Resource.
- Ensure that a resource is created before inserting the table.
- Only one collection variable is supported per table. Multiple collection variables are not currently supported.
- Define Table Structure:
- Set the resource type as a collection.
- Specify the number of columns and rows required.
- You can define or later modify the number of rows and columns using the built-in table editing tools (similar to Excel).
- Insert Fields and Manage Rows:
- Insert relevant fields into the table. You can insert multiple fields into the same cell.
- To create dynamic rows, set them as data rows by placing the cursor in any cell of the required row and click the Make Data Row option that appears under the Insert Table action.
- Sort Records :
- You can control the order of records displayed in the table.
- For example, to display orders in ascending order of amount, select the "Amount" field and set the order to Ascending.
- Apply Filters and Limits:
- Set filters to refine the records inserted into the table.
- Limit the number of records displayed.
- Define the order in which records appear.
> Data rows repeat themselves for the selected collection. For example, the first row represents the first order item, the second row represents the second order item, and so on.
> While using the Insert Field action, the created Record Collection Variable is only available when you enter the Data row.Fields, conditions, and links can only be inserted within a designated Data Row
By following these steps, you can dynamically insert and manage tables in Salesforce based on record collections.

> You can customize and format the table using standard Word formatting options, including font styles, alignment, borders, and shading.
Go to 1:29 to see the Insert Table action being used to create a sample receipt in Microsoft Word. Tables are useful for presenting hierarchical data, such as master-detail relationships, in a structured and organized manner.
[Watch video](https://youtu.be/yR75QbsCFc8?t=20)
---
# Insert Loop (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/insert-loop
# Insert Loop
The Insert Loop action repeats a template section with fields dynamically populated from records in a Record Collection.
> Kind: Guide · Updated: Jul 4, 2026
The Insert Loop action allows you to repeat a specific section of a template with fields dynamically populated from object records. This repeated section is added consecutively in the template, with each iteration using field values from the next record in a collection. The records used for the loop can be retrieved from any Record Collection in Salesforce.
## How to Insert a Loop-
### Step 1- Prepare a Record Collection Resource
To insert a loop, first create a Record Collection Resource that defines the collection of records over which the loop will be performed.
Example:
If your base object is Account and you want to loop through related Opportunities , create a Record Collection Resource that retrieves all Opportunities where:
- Account Id = Record.Id (i.e., the current Account record's Id).

### Step 2- Insert the Loop in the Template
- Use the Select Action dropdown and choose Insert Loop .
- In the Resource Type dropdown, select the Record Collection Resource you just created.

### Step 3- Customize the Loop Content
- The inserted loop will appear in the template with a placeholder section labeled "Click or tap here to enter text.”

- Click the placeholder to select it, erase the placeholder text, and begin creating the content for the loop using fields from the selected Record Collection. Use the Insert Field action to add fields dynamically within the loop.
### Example:
In the image below, the loop iterates over related Opportunities. Inside the loop, two fields — Name and Opportunity Id — have been inserted as dynamic text.

### Preview the Generated Document
When the document is generated, the loop content will repeat for each record in the collection. Each iteration will populate the fields with data from a single record in the collection.
Example Output:
For an Account with two related Opportunities, the content inside the loop will repeat twice, once for each Opportunity.
Generated Document Sample:

Go to 4:36 to see the Insert Field action being used to create a sample receipt in Microsoft Word.
[Watch video](https://youtu.be/yR75QbsCFc8?t=20)
---
# Insert Condition (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/insert-condition
# Insert Condition
This action allows you to conditionally insert any content (text, table, picture) into the template.
> Kind: Guide · Updated: Jul 4, 2026
This action allows you to conditionally insert any content (text, table, picture) into the template. Follow the steps below to insert a condition -
- Select "Insert Condition" in the "Select Action" drop-down menu.
- Select the content to be inserted based on the condition.
- Set Up the Rules:
- Add multiple rules using "+ Add condition".
- Rule Parameters:
- Field: Choose the field or variable whose value you want to evaluate.
- Operator: Select an operator based on the data type of the resource.
- Value:
- Select an existing variable, constant, or field.
- Manually enter a literal value or merge field.

- Set Up the Rules:
- Logic Between Rules:
- AND:
- All rules must be met.
- OR:
- Any rule must be met.
- Custom: Custom rule logic. Provide the rule logic by entering characters:
- Use numbers to refer to each rule.
- Use AND, OR, or NOT to identify which combination of rules must be true.
- Use parentheses to group parts of the string together.
- Example: For
- Insert the Condition:
- Once the condition is set up, click "Insert" to apply the condition to the selected content.
- If the condition evaluates to true, the content is inserted in the generated document; otherwise, it will not be inserted.
Go to 4:12 to see the Insert Condition action being used to create a sample receipt in Microsoft Word.
[Watch video](https://youtu.be/yR75QbsCFc8?t=20)
---
# Insert Link (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/insert-link
# Insert Link
The Insert Link action adds a hyperlink to your document using a stored URL, with a custom label and dynamic updating if the URL is stored in a record.
> Kind: Guide · Updated: Jul 4, 2026
The Insert Link action adds a hyperlink to your document using a stored URL. The link can have a custom label and dynamically update if the URL is stored in a record.
- Select "Insert Link"
- From the Select Action drop-down menu, choose Insert Link.
- Add a Label
- Enter a descriptive label for the link (e.g., "Company Website").
- This label will be displayed as the clickable text in the generated document.
- Select the URL Source
- Choose the field containing the website URL; if stored in a record, the link will dynamically update for different records.
- Insert the Link
- Click Insert to add the hyperlink to your document.
- Adjust as Needed
- Modify the placement, formatting, or text style to fit the document’s layout.

Go to 1:08 to see the Insert Link action being used to create a sample receipt in Microsoft Word.
[Watch video](https://youtu.be/yR75QbsCFc8?t=20)
---
# Document Title (Word · Salesforce)
https://help.cloudfiles.io/salesforce/wDj0-document-title
# Document Title
Explains the Document Title action, which lets you set which generated-document field is used as the file's title.
> Kind: Guide · Updated: Jul 4, 2026
This action allows you to assign a title to the documents generated from a given template. Follow the steps below to set a Document Title -
- Select "Document Title" in the "Select Action" drop-down menu.
- Choose a field to be set as the Document Title.
- Click "Save" to set the selected field as the Document Title. The generated document will have this name.

---
# Insert Form Field (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/insert-form-field
# Insert Form Field
Insert Form Field lets you add a signature placeholder inside your Word document to mark where someone needs to sign when the document is sent using DocuSign.
> Kind: Guide · Updated: Jul 4, 2026
Insert Form Field lets you add a signature placeholder inside your Word document. This shows where someone needs to sign when the document is sent using DocuSign.
You can use this action with the CloudFiles Word Add-in to prepare documents for e-signature using Recipents.
## How to Insert a Form Field
- In the Resources Panel, set the action to 'Insert Form Field'.
- Set the Type to 'Signature'
- Under Recipient, select the individual the signature should be assigned to. This list includes all recipients configured under the Recipients resource.
- Click the location in your Word document where the signature should appear.
- Press Insert.
- A placeholder with the word "signature" will appear at the selected location.

These fields are non-editable placeholders in the generated document the actual signing happens in DocuSign. For more details, refer Sending Documents for Signature
---
# Excel Template Actions (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/excel-template-actions
# Excel Template Actions
In the Actions section, you can customize document templates by inserting fields and tables, and setting document titles.
> Kind: Guide · Updated: Jul 4, 2026
In the Actions section, you can customize your document templates using various operations. These actions allow you to insert fields, tables and set document titles based on your requirements.
After setting up your resources, you can use the following actions to build your template:
- Insert Field – Add standard or custom fields from the Master Object, or create and insert resources as needed.
- Insert Table – Create and customize tables based on Salesforce records, adjusting structure and content as required.
- Document Title – Assign a title to the generated document by selecting a relevant field for better organization.
The video guides the user through the process of creating an Excel template for document generation in CloudFiles Doc Gen. It explains how to structure the template and map Salesforce record fields .
[Watch video](https://youtu.be/U-KHEykEyY8)
---
# Insert Field (Excel · Salesforce)
https://help.cloudfiles.io/salesforce/XWOD-insert-field
# Insert Field
This action allows you to insert any field (standard or custom) retrieved from the Master Object, Record Variable, or Runtime Variable.
> Kind: Guide · Updated: Jul 4, 2026
This action allows you to insert any field (standard or custom) retrieved from the Master Object, Record Variable, or Runtime Variable.
To insert data from the following:
- Master Object: The source record selected at the start, containing all its fields.
- Record Variable: Holds a record and its field values, created by selecting an object type and setting conditions.
- Runtime Variable: Stores a value for reuse or modification, using field or constant values with an optional default.
## Follow the steps below to insert a field:
- Select Insert Field from the Select Action drop-down menu.
- Choose the desired field from the drop-down menu.
- Master Object fields are listed under "Record" (Global Variables).
- Record Variables appear under "Variable".
- Runtime Variables and constants are listed under "Global Constants".
- Click Insert to place the field at the cursor's location in the work area. You can also copy and paste inserted fields as needed.
## Formatting Options:
Text: You can choose to capitalize (first letter in uppercase), use lowercase, or uppercase for the text.

Font: All inserted fields can be formatted like regular text in Word, including changes to font, size, and style.
Date Formatting: You can format dates as Short (08/23/2024), Medium (Aug 23 2024), Long (August 23, 2024), or Full (Friday, August 23, 2024).
Number Formatting: For number fields (like int or double), you can apply custom formats:
- # – shows digit only if present (e.g., ###,###.### → 1,234.56)
- 0 – always shows digit, even if zero (e.g., 000,000.000 → 001,234.560)
- , – thousands separator
- . – decimal separator

Go to 0:29 to see the Insert Field action being used to create a sample file in Microsoft Excel.
[Watch video](https://youtu.be/U-KHEykEyY8)
---
# Insert Table (Excel · Salesforce)
https://help.cloudfiles.io/salesforce/insert-table
# Insert Table
Learn how to insert a table into a Microsoft Excel template using data from a Salesforce Record Collection Variable Resource.
> Kind: Guide · Updated: Jul 4, 2026
You can insert a table into a Microsoft Excel template using data from Salesforce records. These records are stored as a Collection Variable Resource, which allows you to retrieve and display structured data within the document.
- Select the Action:
- In the "Select Action" dropdown, choose "Insert Table."
- Choose a Record Collection Variable:
- In the "Resource Type" field, select a Record Collection Variable Resource.
- Ensure that a resource is created before inserting the table.
- Define Table Structure:
- Set the resource type as a collection.
- Select the desired number of columns in the Excel sheet, click "Insert" ,and a table will be created automatically without specifying the number of rows.
- Insert Fields :
- Rename the columns as needed and insert relevant fields into the table.
- Sort Records :
- You can control the order of records displayed in the table.
- For example, to display orders in ascending order of amount, select the "Amount" field and set the order to Ascending.
- Apply Filters and Limits:
- Set filters to refine the records inserted into the table.
- Limit the number of records displayed.
- Define the order in which records appear.
By following these steps, you can dynamically insert and manage tables in Salesforce based on record collections.
> You can customize and format the table using standard Word formatting options, including font styles, alignment, borders, and shading.

Go to 0:50 to see the Insert Table action being used to create a sample file in Microsoft Excel.
[Watch video](https://youtu.be/U-KHEykEyY8)
---
# Document Title (Excel · Salesforce)
https://help.cloudfiles.io/salesforce/document-title
# Document Title
This action allows you to assign a title to the documents generated from a given template.
> Kind: Guide · Updated: Jul 4, 2026
This action allows you to assign a title to the documents generated from a given template. Follow the steps below to set a Document Title -
- Select "Document Title" in the "Select Action" drop-down menu.
- Choose a field to be set as the Document Title.
- Click "Save" to set the selected field as the Document Title. The generated document will have this name.
Go to 2:40 to see the Document Title action being used to create a sample file in Microsoft Excel.
[Watch video](https://youtu.be/U-KHEykEyY8)
---
# PDF Template Actions
https://help.cloudfiles.io/salesforce/pdf-template-actions
# PDF Template Actions
The PDF Template Builder populates PDF forms with Salesforce data, letting you map text fields and checkboxes and add DocuSign signature fields.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
The PDF Template Builder is used to populate PDF forms with data from Salesforce. It allows you to map fields such as text inputs or checkboxes with values from Salesforce, and add form fields for document signing via DocuSign.
You can upload any fillable PDF form (for example, a tax form or agreement), select the fields or checkboxes that need to be populated, and configure them using data from Salesforce. This setup supports Single, Collection, and Runtime Variables to handle different use cases like simple field inserts or dynamic values.
Once configured, the PDF template can be published and used in flows or embedded in record widgets for document generation.
## Steps to create a PDF template
- Go to the CloudFiles app in Salesforce and open the Document Generation tab.
- Click Upload Template and select the PDF form you want to use.
- Once uploaded, locate the template in the list. Click the menu icon (⋮) next to it and choose Edit.
- In the side panel that opens, select the Salesforce object (Contact) this document is for and click Set Primary Record.
- The PDF will now open in edit mode with four tabs on the right panel: Edit, Resources, Preview, and Publish.
The template is now ready for configuration. Use the actions described below.

## Insert Field
Use Insert Text when you need to place a Salesforce field value into a specific text area of the PDF. It is commonly used for fields like names, dates, addresses, or reference numbers that need to appear in the final generated document. You can select the target field directly from the PDF or from the field list in the bottom panel, then map it to any Salesforce field using the Field API Name selector.
## Insert Checkbox
Use Insert Checkbox when you need to tick a checkbox or radio button in the PDF based on data from the Salesforce record. It is typically used for classification fields, consent indicators, or any yes/no selection that the PDF form requires to be pre-filled. You configure a condition against a Salesforce field value, and the checkbox is automatically marked when that condition is met during document generation.
## Form Field
Use Insert Form Field when you need to place a signable field, such as a signature box or date signed, on the PDF for DocuSign recipients. Unlike Insert Text and Insert Checkbox which pull data from Salesforce, form fields are placeholders that the recipient fills in during the signing process. You select the field type, assign it to a recipient defined in your Resources, and position it anywhere on the PDF before publishing.
## Preview and Publish
Once all fields have been mapped, navigate to the Preview tab and generate a preview using a valid Salesforce record to verify that the template is populated correctly. The Publish tab becomes available only after a successful preview is generated. After reviewing the output and confirming that all fields, checkboxes, and form fields are correctly configured, navigate to the Publish tab and click Publish. The template will then be available for use in CloudFiles Document Generation and Salesforce Flows.
---
# Insert Field (PDF · Salesforce)
https://help.cloudfiles.io/salesforce/insert-field
# Insert Field
Use the Insert Text action to map Salesforce field values into specific text fields in a PDF template so generated documents are auto-filled with record data.
> Kind: Guide · Updated: Jul 4, 2026
Use the Insert Text action to map values from Salesforce into specific text fields in a PDF form. When the document is generated, those fields are filled with data from the Salesforce record.
## Steps to Insert a Field:
- Navigate to the Document Generation tab in the CloudFiles app and open the PDF template in Edit mode using the menu (⋮) next to the template.
- Click the + Insert Text button in the right panel.
- Click on a text field area in the PDF, or select a field from the list in the bottom panel. The selected field will be highlighted.
- In the Insert Field section that appears on the right, choose the Salesforce field from the Field API Name dropdown.
- Optionally, select a Format to control how the value is displayed in the generated document.
- Click Apply to map the field. A green dot will appear on the field to indicate it has been successfully mapped.

> **Use Case** — Let's say you need to generate a W-9 form for each Contact record in Salesforce. Instead of manually entering the contact's name, address, or tax details each time, you can set up the PDF template to automatically fill these fields using the Insert Text action.Steps:Upload the W-9 PDF as a new template in the Document Generation tab.Click the menu (⋮) next to the uploaded file and choose Edit.In the right panel, select Contact as the object and click Set Primary Record to open the PDF editor.Click + Insert Text, then click on Line 1 (under Name of entity/individual) and map it to Contact.Name.For Line 2, map a business or company name (e.g., Contact.Account.Name or a custom field).Insert address details into Lines 5 and 6 using: MailingStreetMailingCityMailingStateMailingPostalCodeAfter mapping all fields, click Publish to save the template.
---
# Insert Checkbox
https://help.cloudfiles.io/salesforce/insert-checkbox
# Insert Checkbox
Use the Insert Checkbox action to mark checkboxes or radio buttons in a PDF form based on conditions defined using Salesforce data.
> Kind: Guide · Updated: Jul 4, 2026
Use the Insert Checkbox action to mark checkboxes or radio buttons in a PDF form based on conditions defined using Salesforce data. When the document is generated, the checkbox is ticked if the condition is met.
You can also apply conditions using values returned from single resources, collections, or runtime variables in the template.
## Steps to Insert a Condition:
- Navigate to the Document Generation tab in the CloudFiles app and open the PDF template in Edit mode using the menu (⋮) next to the template.
- Click the + Insert Checkbox button in the right panel.
- Click on a checkbox in the PDF that needs to be marked based on a condition, or select it from the field list in the bottom panel.
- In the Insert Checkbox section that appears on the right, set the condition using a field from the Salesforce object. Example: Business_Type__c = C corporation
- Click Apply. If the condition is true when the document is generated, the checkbox will be ticked.

> **Use Case** — You are configuring a W-9 form for Contact records. Based on the value in a custom field like Business_Type__c, you want to automatically select the correct classification box, such as "C corporation," "LLC," or "Individual/sole proprietor."Steps:After inserting text fields with Insert Text, scroll to Line 3a of the W-9 form.Click + Insert Checkbox, then click on the checkbox next to "C corporation".Set the condition: Business_Type__c = C corporationDo the same for the remaining options: Individual/sole proprietor → Business_Type__c = IndividualS corporation → Business_Type__c = S corporationPartnership → Business_Type__c = PartnershipLLC → Business_Type__c = LLCTrust/estate → Business_Type__c = TrustOnce each checkbox is configured, click Publish.
---
# Form Field
https://help.cloudfiles.io/salesforce/form-field
# Form Field
Use the Form Field action to place signable Signature, Text, and Date Signed fields on a PDF for DocuSign recipients to fill in during signing.
> Kind: Guide · Updated: Jul 4, 2026
Use the Form Field action to place signable fields on a PDF for DocuSign recipients. Unlike Insert Text and Insert Checkbox which pull data from Salesforce, form fields are interactive placeholders that the recipient fills in during the signing process. Supported field types include Signature, Text, and Date Signed.
Before placing form fields, you must set up at least one Recipient in the Resources tab. The recipient defines who will receive the document for signing via DocuSign.
## Steps to Insert a Form Field:
### Step 1: Add a Recipient Resource
- In the PDF editor, click the Resources tab in the right panel.
- Click + Add or Manage Resources to open the Manage Resources dialog.
- Click + Create New Resource and set the Resource Type to Recipient.
- Fill in the following fields:
- Label — A display name for this recipient (e.g., Sample Recipient Name).
- API Name — Auto-populated based on the label (e.g., sample_recipient_name).
- Type — Select Signer if this recipient needs to sign the document, or Carbon Copy if they should only receive a copy of the completed document without signing.
- Name Field — The Salesforce field that holds the recipient's name, used by DocuSign for communication.
- Email Field — The Salesforce field that holds the recipient's email address, used by DocuSign to send the signing request.
- Click Add to save the recipient.

> **Signing Order** — You can enable Signing Order in the Recipients section to control the sequence in which recipients receive the signing email. Once enabled, each recipient is assigned a number — recipients with a lower number receive the email first. To send the document to multiple recipients simultaneously, assign them the same number. You can reorder recipients by dragging and dropping or by editing the number directly.
### Step 2: Insert Form Fields
- Go to the Edit tab and click + Form Field in the right panel.
- Click anywhere on the PDF to place the form field at that location.
- A sample field is inserted on the PDF. Its appearance will update based on the Field Type selected.
- In the Insert Form Field panel on the right, configure the field:
- Field Type — Choose from one of the following:
- Signature — A box where the recipient signs the document.
- Initial Here — A smaller field for the recipient to place their initials.
- Text — A free-text field the recipient can type into.
- Date Signed — Automatically captures the date on which the recipient signs.
- Checkbox — A checkbox the recipient can tick during the signing process.
- Recipient — Select the recipient this field is assigned to.
- Click Apply to confirm. The field will be labeled with the field type and recipient name on the PDF.
- Repeat for each additional field needed. You can move or remove any placed field as required.

### Step 3: Preview for Signing
- Once all form fields are placed, click the Preview tab.
- Enter a Salesforce Record ID to test the template with real data.
- Click Generate Preview to generate the document.
- Once the preview is generated successfully, click Send for Signing to dispatch the document to the recipient via DocuSign.
- A confirmation message — Document sent for signing successfully — will appear once the document has been sent.

> **Use Case** — You are generating a W-9 form for Account records and need the account representative to sign and date the document before it is submitted. You want the signature and date to be captured via DocuSign.Steps:In the Resources tab, create a Recipient resource with the account contact's name and email fields.On the last page of the W-9 (the Sign Here section), click + Form Field and place a Signature field for the recipient.Add a Date Signed field next to the signature box and assign it to the same recipient.Click Publish to save the template.When the document is generated — either manually through a flow action or automatically via an automation — it will be sent to the configured recipients for signature via DocuSign.
---
# PPT Template Actions (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/ppt-template-actions
# PPT Template Actions
In the Actions section, you can customize your document templates using various operations to insert fields, pictures, and set document titles.
> Kind: Guide · Updated: Jul 4, 2026
In the Actions section, you can customize your document templates using various operations. These actions allow you to insert fields, pictures, set document titles based on your requirements.
After setting up your resources, you can use the following actions to build your template:
- Insert Field – Add standard or custom fields from the Master Object, or create and insert resources as needed.
- Insert Picture – Insert images from URL fields directly into your document template.
- Document Title – Assign a title to the generated document by selecting a relevant field for better organization.


---
# Insert Field (PPT · Salesforce)
https://help.cloudfiles.io/salesforce/_ggs-insert-field
# Insert Field
This action allows you to insert any field (standard or custom) retrieved from the Master Object, Record Variable, or Runtime Variable.
> Kind: Guide · Updated: Jul 4, 2026
This action allows you to insert any field (standard or custom) retrieved from the Master Object, Record Variable, or Runtime Variable.
To insert data from the following:
- Master Object: The source record selected at the start, containing all its fields.
- Record Variable: Holds a record and its field values, created by selecting an object type and setting conditions.
- Runtime Variable: Stores a value for reuse or modification, using field or constant values with an optional default.
## Follow the steps below to insert a field:
- Select Insert Field from the Select Action drop-down menu.
- Choose the desired field from the drop-down menu.
- Master Object fields are listed under "Record" (Global Variables).
- Record Variables appear under "Variable".
- Runtime Variables and constants are listed under "Global Constants".
- Click Insert to place the field at the cursor's location in the work area. You can also copy and paste inserted fields as needed.
## Formatting Options:
Text: You can choose to capitalize (first letter in uppercase), use lowercase, or uppercase for the text.

Font: All inserted fields can be formatted like regular text in Word, including changes to font, size, and style.
Date Formatting: You can format dates as Short (08/23/2024), Medium (Aug 23 2024), Long (August 23, 2024), or Full (Friday, August 23, 2024).
Number Formatting: For number fields (like int or double), you can apply custom formats:
- # – shows digit only if present (e.g., ###,###.### → 1,234.56)
- 0 – always shows digit, even if zero (e.g., 000,000.000 → 001,234.560)
- , – thousands separator
- . – decimal separator

---
# Insert Picture (PPT · Salesforce)
https://help.cloudfiles.io/salesforce/H2_s-insert-picture
# Insert Picture
This action enables you to insert a picture from either a URL field or a Salesforce Content Version ID.
> Kind: Guide · Updated: Jul 4, 2026
This action enables you to insert a picture from either a URL field or a Salesforce Content Version ID. You can retrieve the image link or ID from a record field, a resource, or enter it manually. Follow the steps below to insert a picture:
There are two ways to provide the image source:
- Using a URL – Add a direct link to a public image. The link can come from a field in your records, a resource, or be entered manually.
- Using a Salesforce Content Version ID – Use the unique ContentVersionId of an image stored in Salesforce. This allows you to insert images securely from your Salesforce library.
## Inserting an Image Using a URL
- Select "Insert Picture"
- From the Select Action drop-down menu, choose Insert Picture.
- Choose the Picture Source
- In the Picture Source drop-down, select URL.
- Select the URL Field
- In the URL drop-down, choose the field that contains the public link to the image.
- This field can dynamically insert images based on URLs retrieved from record fields or other variable resources.
- Insert the Image
- Click Insert to place the image at the desired location.
- Adjust the Image
- Resize or reposition the image as needed.
- Apply formatting options, such as adding a border, for a polished appearance.

## Inserting an Image Using a Salesforce Content Version ID
- Select "Insert Picture"
- From the Select Action drop-down menu, choose Insert Picture.
- Choose the Picture Source
- In the Picture Source drop-down, select Salesforce Content Version.
- Select the Content Version ID Field
- In the Salesforce Content Version ID drop-down, choose the field containing the ContentVersionId of the image you want to insert, or enter a static ContentVersionId.
- Insert the Image
- Click Insert to place the image at the desired location.
- Adjust the Image
- Resize or reposition the image as needed.
- Apply formatting options, such as adding a border, for a polished appearance.

---
# Features (Document Generation · Salesforce)
https://help.cloudfiles.io/salesforce/pVNf-features
# Features
Overview of CloudFiles Document Generation for Salesforce, organized into five feature areas: the All-Format Designer, Dynamic Data Layer, Template Governance Hub, Dynamic Document Generation Engine, and Connected Ecosystem Layer.
> Kind: Guide · Updated: Aug 8, 2026
CloudFiles Document Generation turns the data already sitting in your Salesforce org — records, related lists, files — into finished, professional documents: contracts, invoices, proposals, statements, and more. Everything happens natively inside Salesforce, so there's no exporting data to a separate document tool and no stitching together logins or spreadsheets to get a document out the door.
Getting from a blank template to a signed, shared document follows one continuous path, and each feature area below is a stage in that path: you design templates in the tools your team already uses (All-Format Designer), connect them to live Salesforce data (Dynamic Data Layer), manage them centrally as they evolve (Template Governance Hub), generate documents on demand or at scale (Dynamic Document Generation Engine), and extend the finished output into e-signature, other Salesforce surfaces, and other systems (Connected Ecosystem Layer).
## All-Format Designer
Every generated document starts as a template, and All-Format Designer lets your team build those templates inside the applications they already know — Microsoft Word, Excel, and PowerPoint, or Salesforce's own native PDF builder — instead of learning a new design tool. Because templates are built where your team already works, the layouts, tables, and brand styling your organization has already signed off on carry through untouched once Salesforce data is merged in. Learn more in the All-Format Designer guide.
## Dynamic Data Layer
Once a template exists, it needs real Salesforce data behind it — that's the job of the Dynamic Data Layer. It reaches into any Salesforce object or related record, lets you control exactly what data goes into the document, and renders it so tables, conditional sections, and images adjust automatically to each record. The result is one template that produces an accurate, personalized document for every customer or case, instead of a separate template for every scenario. Learn more in the Dynamic Data Layer guide.
## Template Governance Hub
As the number of templates grows, someone needs to keep them accurate and under control — that's what the Template Governance Hub is for. It's a central place to check a template before it goes live, track how it changes over time, and see how it's being used across the org, so admins always know what's live and can trust it. Learn more in the Template Governance Hub guide.
## Dynamic Document Generation Engine
With a governed, data-connected template ready, the Dynamic Document Generation Engine is what actually produces the document — instantly for a single record, or in bulk across thousands of records at once. Every output can be secured and previewed immediately, and multiple files can be merged into a single package before it goes out. Learn more in the Dynamic Document Generation Engine guide.
## Connected Ecosystem Layer
A generated document is rarely the end of the process, and the Connected Ecosystem Layer is what carries it forward — out for e-signature, into the Salesforce surfaces your team already works from, across other CloudFiles products, and into custom systems through APIs. Learn more in the Connected Ecosystem Layer guide.
---
# All-Format Designer
https://help.cloudfiles.io/salesforce/allformat-designer
# All-Format Designer
Explains All-Format Designer, which lets teams build CloudFiles document templates inside native Word, Excel, PowerPoint, and Salesforce's PDF builder.
> Kind: Guide · Updated: Aug 8, 2026
CloudFiles All-Format Designer allows teams to build document generation templates directly within native Microsoft Office apps - Word, Excel, and PowerPoint and Salesforce’s native PDF template builder. Templates are designed to dynamically merge Salesforce object data at runtime, not edited after generation.
By working inside familiar Office environments, users can define layouts, dynamic fields, and tables while preserving native formatting. This eliminates tool switching and ensures consistent, professional, and scalable document generation aligned with Salesforce workflows.
## Multi‑Format Add‑Ons
The Multi-Format Designer Add-Ons put template design directly inside the tools your team already uses every day — Word, Excel, and PowerPoint through native Microsoft Office Add-Ins, plus Salesforce's own PDF form builder for reusing existing PDF forms. Because there's no new editor to learn, template authors keep working exactly the way they always have, while CloudFiles handles merging live Salesforce data in at generation time. Learn more in the Multi‑Format Add‑Ons guide.

## Formatting Controls
Formatting Controls keep every generated document on-brand and easy to read, no matter how the underlying data looks. Fonts, spacing, tables, and layout stay exactly as designed, while values like currency, dates, and percentages are automatically rendered in clean, business-ready formats. The result is a document that looks polished and professional every time, without manual cleanup after generation. Learn more in the Formatting Controls guide.

## Adding Custom Fonts
For teams with brand-specific typography, Adding Custom Fonts makes sure a template's exact fonts carry through to the final generated document instead of being silently swapped out. Embedding a font in the Word template packages it with the file itself, so layouts, spacing, and special characters render precisely as designed — even when generating on a system that doesn't have that font installed. Learn more in the Adding Custom Fonts to your Templates guide.

---
# Multi‑Format Add‑Ons
https://help.cloudfiles.io/salesforce/multiformat-addons
# Multi‑Format Add‑Ons
The Multi-Format Designer Add-Ons let teams design document templates directly inside Microsoft Office, Salesforce PDF forms, and soon Google Workspace, without leaving their familiar tools.
> Kind: Guide · Updated: Jul 4, 2026
The Multi-Format Designer Add-Ons empower teams to design professional, data-driven document templates without changing how they work. By embedding CloudFiles directly into familiar tools, these add-ons eliminate friction between document design and data, helping organizations create accurate, on-brand documents faster and at scale.
Instead of forcing users to learn a new template editor, CloudFiles meets teams where they already work: Microsoft Office, Salesforce, and soon Google Workspace, making document generation intuitive, efficient, and business-ready.
## Office Add-Ins
CloudFiles provides native Microsoft Office Add-Ins for Word, Excel, and PowerPoint, enabling users to build DOCX, XLSX, and PPTX document generation templates directly within the applications they already use. Templates are designed inside familiar Microsoft Office tools, eliminating the need for a separate editor while preserving native layouts and formatting capabilities.
Once the CloudFiles add-in is connected to Salesforce, users can embed Salesforce object data as dynamic fields within Word, Excel, and PowerPoint templates. Data is automatically merged at generation time, ensuring accurate, production-ready documents while maintaining native Office tables, charts, layouts, and styling.

Why this matters
- No learning curve: Business users work in familiar Office tools
- Faster template creation: Reuse existing documents instead of rebuilding layouts
- Live Salesforce data: Insert and control dynamic data directly in the document
- Pixel-perfect output: Formatting, tables, and layouts remain intact
With Office Add-Ins, teams can confidently design templates that look exactly the way they expect, without technical overhead or manual cleanup. Click here to How to Install CloudFiles Add-In.
## PDF Builder
CloudFiles allows you to map Salesforce data directly to fields within uploaded PDF forms using Salesforce's native PDF capabilities. You can control how data is merged and generated—all within the CloudFiles app in Salesforce.
Why this matters
- Reuse existing PDF forms: No need to redesign or recreate documents
- Fully Salesforce-native: Work entirely within Salesforce
- No external tools required: Eliminate dependency on third-party PDF designers
- Reliable, consistent output: Ideal for contracts, forms, and regulated documents
This makes PDF template management simpler, more secure, and easier to maintain over time.

Click here to view how to set up a W-9 form template.
## Google Add-Ins (Upcoming)
Google Workspace Add-Ons will extend CloudFiles template design capabilities to Google Docs, Sheets, and Slides. This upcoming feature is intended for teams that primarily work within Google Workspace and prefer not to switch authoring tools. Once available, it will allow templates to be designed in Google Workspace while using the same CloudFiles document generation engine. This ensures consistency across formats without changing existing workflows.
---
# Formatting Controls
https://help.cloudfiles.io/salesforce/formatting-controls
# Formatting Controls
The Multi-Format Designer Add-Ons let template authors design and maintain document templates directly inside Microsoft Office and Salesforce, preserving layouts, formatting, and structure across all supported output formats.
> Kind: Guide · Updated: Jul 4, 2026
Build document templates using the tools your teams already use every day. The Multi-Format Designer Add-Ons allow template authors to design and maintain document templates directly inside familiar authoring environments, eliminating the need for new design tools or external editors.
By working within Microsoft Office and Salesforce, teams can create reliable, data-driven templates while preserving layouts, formatting, and structure across all supported output formats.
## Style Preservation
Style Preservation ensures that the visual structure of your templates remains intact across all generated outputs, including DOCX, XLSX, PPTX, and PDF.
CloudFiles preserves fonts, font sizes, alignments, margins, spacing, graphics, layout grids, and custom font settings exactly as defined in the template. Even when dynamic or conditional data is injected, the document layout does not shift or break.
This allows teams to design templates with confidence, knowing that every generated document will remain pixel-perfect and visually consistent with brand guidelines.

## Data Formatting
Data Formatting controls how individual values are rendered when Salesforce data is merged into documents.
CloudFiles supports formatted insertion for currency, text case transformations, decimal precision, date and time formats (short, medium, long, or full), percentages, and number formats. These rules ensure that raw data is transformed into clean, readable, and business-ready values.
As a result, documents look polished and consistent without requiring manual cleanup or post-generation edits.

## Table Formatting
Table Formatting ensures that structured data remains readable and well-organized when rendered inside tables.
CloudFiles applies formatting rules within tables, supporting ordered and grouped outputs, text wrapping, and structured row rendering for collections. This makes it easy to generate tables from large or complex datasets while maintaining clarity and alignment.
Whether rendering invoices, reports, or line-item details, tables remain clean, structured, and easy to understand.

## Branding Tools
Branding Tools allow organizations to consistently apply brand elements across all generated documents.
CloudFiles supports logos, headers, footers, watermarks, stamps, and other standard branding components directly within templates. These elements are applied consistently during document generation, ensuring every output reflects the organization’s official branding.
This helps teams deliver customer-ready documents that look professional, compliant, and officially branded, without manual intervention.

---
# Adding Custom Fonts to your Templates
https://help.cloudfiles.io/salesforce/adding-custom-fonts-to-your-templates
# Adding Custom Fonts to your Templates
Embedding custom fonts in a Word (.docx) template ensures CloudFiles Document Generation preserves them exactly in the final generated PDF, avoiding font substitution, layout shifts, or mis-rendered characters.
> Kind: Guide · Updated: Aug 8, 2026
## Overview
One of the benefits of CloudFiles Document Generation is the ability to use your own custom fonts in templates and preserve them perfectly in the final generated PDF. Whether you’re using brand-specific typography, special symbols, or non-standard fonts, embedding them ensures the final output retains exactly what you designed. Without embedding, the conversion process may substitute fonts, altering layout, spacing, or even mis-rendering characters.
## What Embedding Does
When you embed a font in your Word (.docx) template, you’re packaging the font file within the document itself. That means when CloudFiles converts the DOCX to PDF, the original font is used—no fallback or substitution. Microsoft’s official guidance explains that embedding fonts helps when sharing documents with users or systems that might not have the same fonts installed, especially when converting to PDF.
## How to Embed a Custom Font in Your DOCX Template
- Open your Word template and navigate to File → Options → Save.
- Under the section Preserve fidelity when sharing this document, check Embed fonts in the file. You can then select whether to embed only characters used (reduces file size) or embed all characters (better if the file will be edited).
- Ensure your template uses the custom font where needed.
- Save the updated template (consider using a new filename so you keep your original version unchanged).
- Upload or republish this template in CloudFiles Document Generation so it becomes your new active template.
- Generate a test document from that template and verify in the resulting PDF that the custom font appears correctly—no substitution, spacing changes, or missing characters.
For more details on how to embed fonts, you can refer to this help article from Microsoft - https://support.microsoft.com/en-gb/office/benefits-of-embedding-custom-fonts-cb3982aa-ea76-4323-b008-86670f222dbc#officeversion=windows

---
# Dynamic Data Layer
https://help.cloudfiles.io/salesforce/dynamic-data-layer
# Dynamic Data Layer
Explains how CloudFiles Dynamic Data Layer pulls, models, and personalizes Salesforce data inside templates so documents auto-adapt to real customer data.
> Kind: Guide · Updated: Aug 8, 2026
CloudFiles Dynamic Data Layer lets you pull, model, and personalize Salesforce data inside every template. It taps into any object or related data, shapes it with runtime variables and precision controls, and then renders it dynamically using tables, conditions, loops, images, and data-driven titles.
The result is documents that auto-adapt to real customer data - accurate, contextual, and ready to generate at scale. The layer is organized into four parts: how data is accessed, how it's modeled and controlled, how it's rendered into content, and how real-time inputs personalize the final document. See the Doc Gen features overview for how this fits alongside the rest of CloudFiles Doc Gen.
## Universal Salesforce Data Access
Universal Salesforce Data Access is what lets a template reach any data it needs, wherever that data actually lives in your org. It connects to standard and custom objects, every Salesforce field type, and related records across parent-child and lookup relationships, including multi-level paths. That means a single template can pull in complete customer context - not just the fields on one record - without any custom development. Learn more in the Universal Salesforce Data Access guide.
## Data Modelling Layer
The Data Modelling Layer shapes and controls what data actually reaches a template before it's rendered. It lets you define reusable data resources, accept real-time values at the moment of generation, and apply filtering, sorting, and other precision controls so only clean, relevant data goes in. The result is documents built on consistent, well-governed inputs instead of raw, unfiltered records. Learn more in the Data Modelling Layer guide.
## Dynamic Content Builder
The Dynamic Content Builder turns modeled Salesforce data into document content that adapts to what's actually in each record - auto-filling tables, showing or hiding sections, repeating content for collections, inserting images, and generating document titles automatically. Instead of maintaining separate templates for every scenario, one template produces the right output for every customer or case. Learn more in the Dynamic Content Builder guide.
## Real-Time Personalization Inputs
Real-Time Personalization Inputs bring the final, last-mile details into a document at the exact moment it's generated - whether a user is filling them in directly from a List View or Record Page button, or a Screen Flow is passing them in as part of a guided, automated process. This keeps templates broadly reusable while still letting each generated document be finished with context that only exists at generation time. Learn more in the Real-Time Personalization Inputs guide.
---
# Universal Salesforce Data Access
https://help.cloudfiles.io/salesforce/universal-salesforce-data-access
# Universal Salesforce Data Access
Universal Salesforce Data Access lets templates connect to any standard or custom Salesforce object, pull related data across multi-level relationships, and insert every Salesforce field type exactly as stored.
> Kind: Guide · Updated: Jul 30, 2026
Universal Salesforce Data Access is the foundation of the Dynamic Data Layer. It lets templates pull Salesforce data from anywhere - single records, custom objects, system variables, and multi-level relationships - so every generated document reflects live, accurate Salesforce information.
Access any Salesforce object or field to power your document content, with no restrictions on where the data lives or how it is related.
## Any-Object Access
CloudFiles lets templates fetch data from any standard or custom Salesforce object using Master Record variables and User variables. Use any Salesforce data source without limits - the template connects wherever your data lives.
## Field Compatibility
CloudFiles supports all Salesforce field types when merging data into templates, so every field is inserted exactly as stored - no formatting workarounds, no field restrictions. Supported field types include:
- String
- Number
- Currency
- Date/Time
- Boolean
- Picklist
- Rich Text
## Relationship Access
Templates can pull related data across parent-child and lookup relationships, including multi-level relationship paths. This brings complete customer context into documents automatically, even across complex data models.

---
# Data Modelling Layer
https://help.cloudfiles.io/salesforce/data-modelling-layer
# Data Modelling Layer
The Data Modelling Layer lets you define structured Salesforce data resources, accept real-time runtime variables, and apply precision controls that determine exactly what data flows into each generated document.
> Kind: Guide · Updated: Jul 30, 2026
The Data Modelling Layer shapes and controls what data enters a template using resources, runtime values, and selection logic. Before any data is rendered into a document, it passes through this layer, which structures it into reusable resources, accepts real-time inputs, and applies precise selection rules.
This is the preparation step between raw Salesforce data access and the dynamic content that ultimately appears in a generated document — turning any object or field into clean, controlled inputs a template can rely on.
## Data Resources
CloudFiles lets you define Single-Record and Record-Collection resources as structured data inputs for templates. A Single-Record resource brings in one record's fields, while a Record-Collection resource brings in a related list of records, and both act as reusable data sources within the template builder.
Shape data once and reuse it everywhere — defining resources this way gives every field, table, or loop in the template a clean, consistent input, so documents stay accurate no matter how many places a resource is used.
## Runtime Variables
Runtime Variables accept real-time values during document generation, including single-value and multi-value inputs. Instead of hardcoding a value into the template, a Runtime Variable is filled in at the moment a document is created.
Capture last-mile details instantly — Runtime Variables let a template reflect information that only exists at generation time, without ever needing to edit the template itself.
## Precision Data Controls
Precision Data Controls apply filtering, sorting, grouping, row limits, and default values before data is inserted into a template, giving you exact control over which records and values make it into the final document.
Control what appears in every document with precision — these controls produce cleaner outputs and remove the need for manual cleanup after generation.

---
# Dynamic Content Builder
https://help.cloudfiles.io/salesforce/dynamic-content-builder
# Dynamic Content Builder
The Dynamic Content Builder turns modeled Salesforce data into live document content — auto-filled tables, conditional sections, loops, images, and data-driven titles.
> Kind: Guide · Updated: Jul 30, 2026
The Dynamic Content Builder is where modeled Salesforce data becomes live document content. Once resources, runtime variables, and precision data controls have shaped what data is available, the Dynamic Content Builder lets you show, hide, repeat, or populate that content dynamically based on real-time data.
It covers five building blocks you can place directly on the template canvas: auto-fill tables, conditional blocks, loops, images, and dynamic document titles — each rendering differently depending on the record or runtime values behind it.
## Auto-Fill Tables
Auto-Fill Tables auto-populate table rows from record collections or runtime collections with formatted data, so a single table definition expands to fit however many rows the underlying collection contains. This generates invoices, line items, schedules, or statements automatically with clean, consistent tables — no manual row-by-row entry.
## Conditional Blocks
Conditional Blocks show or hide content based on logic applied to Salesforce data or runtime values. Wrapping any part of a template in a condition means only the sections relevant to a given customer or record appear in the final document, so every generated file stays personalized to its context.
## Loops
Loops repeat paragraphs, rows, or sections for each item in a collection. This produces multi-record documents — like repeated line entries or per-record summaries — without copy-paste or manual duplication of content on the canvas.
## Images
Images insert dynamically using URLs or Salesforce Files mapped through variables. This lets templates auto-place signatures, logos, photos, or proof documents directly from Salesforce data, rather than requiring images to be added by hand after generation.
## Dynamic Document Titles
Dynamic Document Titles generate a document's title using Salesforce fields, relationship data, or runtime values instead of a fixed name. Every generated file is automatically named clearly and consistently, without manual effort, which keeps file organization and downstream automation predictable.

---
# Real-Time Personalization Inputs
https://help.cloudfiles.io/salesforce/real-time-personalization-inputs
# Real-Time Personalization Inputs
Real-Time Personalization Inputs let users and Screen Flows supply last-minute values that CloudFiles merges directly into a document at generation time.
> Kind: Guide · Updated: Jul 30, 2026
Real-Time Personalization Inputs capture real-time values from users or flows to finalize each document in context. Instead of a template being limited to whatever data already lives on the record, CloudFiles can inject values supplied at the moment of generation - whether typed in by a user or passed along by a Screen Flow.
This lets a single template stay flexible: the same document can be personalized differently every time it is generated, based on the last-mile details entered right before generation.
## Interactive User Inputs
Interactive User Inputs let users personalize documents on the spot without editing templates. CloudFiles DocGen actions collect these runtime values directly from:
- List View buttons
- Record Page buttons
Values entered through these actions are passed into the template and merged in at generation time, so the resulting document reflects exactly what the user provided in that moment.
## Flow-Driven Inputs
Flow-Driven Inputs accept values from Screen Flows and pass them into templates during generation. This builds guided, automated document experiences powered by real-time flow data - a Screen Flow can walk a user through a series of steps, gather the required inputs, and hand them off to CloudFiles to merge into the document, all as part of the same guided process.

---
# Template Governance Hub
https://help.cloudfiles.io/salesforce/template-governance-hub
# Template Governance Hub
Manage templates end-to-end with pre-publish validation, tag-based organization, version and release control, and usage/audit insights, then discover and reuse templates from a centralized Template Gallery.
> Kind: Guide · Updated: Sep 1, 2026
The Template Governance Hub is CloudFiles' centralized control zone for managing your templates end-to-end. It combines pre-publish validation, tag-based organization, structured version & release management, and usage/audit visibility - so every template stays accurate, brand-safe, and reliably ready for automation.
Use the Template Governance Hub to catch formatting and data issues before a template goes live, keep a clean, traceable version history as templates evolve, and give admins visibility into how templates are used across the org. Its Template Gallery gives teams a centralized library to browse, search, and reuse existing templates instead of rebuilding from scratch. For the broader picture of CloudFiles document generation, see the Document Generation overview.
## Template Management Hub
The Template Management Hub lets you validate templates before publishing, organize a growing library with tags, manage versions and releases cleanly, and track usage for audits and reporting. Learn more in the Template Management Hub guide.
- Pre-Publish Validation: Preview a template using real Salesforce record data and runtime variables, test conditional logic, and verify formatting before publishing - catching issues before anything goes live.
- Template Organization: Classify and label templates with tags so a growing library stays structured, and let automations fetch just the templates carrying a given tag instead of every template published for an object.
- Version & Release Control: Publish new templates, update existing ones, and maintain full version history so you always know what's live, without breaking existing automations.
- Usage & Audit Insights: Track template generation activity and publishing changes, making the data available for audit trails and reporting on usage and ROI.
## Template Gallery
The Template Gallery gives teams a centralized library to discover and reuse templates, with quick search and preview built in. Learn more in the Template Gallery guide.
- Browse & Search Templates: Find the right template quickly by browsing or searching the centralized template library.
- Preview & Reuse Templates: Preview a template before reusing it, so teams standardize on proven designs instead of rebuilding from scratch.
---
# Template Management Hub
https://help.cloudfiles.io/salesforce/template-management-hub
# Template Management Hub
The Template Management Hub validates templates before they publish, organizes a growing library with tags, keeps versions and releases under control, and tracks usage for audits and reporting.
> Kind: Guide · Updated: Sep 1, 2026
The Template Management Hub is where templates are validated, published, and monitored end-to-end. It gives admins a centralized control zone to check a template before it goes live, keep a growing library organized, manage its versions and releases cleanly, and track how it is used once it is in production.
Together, these controls keep every template accurate, brand-safe, and reliably ready for automation.
## Pre-Publish Validation
Pre-Publish Validation lets you preview a template using real Salesforce record data and runtime variables, test its conditional logic, and verify formatting before publishing. Catching issues before anything goes live means every document generates right the first time.
## Template Organization
Template Organization lets you classify and label templates with tags, so a growing library stays structured instead of relying on naming conventions. Automations can then fetch just the templates carrying a given tag, rather than every template published for an object.
## Version & Release Control
Version & Release Control lets you publish new templates, update existing ones, maintain version history, and track template changes across releases. This keeps templates current without breaking automations, so every update stays controlled and traceable.
## Usage & Audit Insights
Usage & Audit Insights tracks template generation activity and publishing changes, making that history available for audit trails and reporting. This makes it possible to see what's being used, what's working, and to prove ROI with clean reporting data.
Part of the Template Governance Hub.

---
# Template Gallery
https://help.cloudfiles.io/salesforce/template-gallery
# Template Gallery
The Template Gallery gives you a centralized library of templates that you can search through quickly, preview, and reuse instead of building from scratch.
> Kind: Guide · Updated: Jul 30, 2026
The Template Gallery is where you discover and reuse templates from a centralized library, with quick search and preview built in.
It sits alongside the Template Management Hub inside the Template Governance Hub, giving you a fast way to find an existing template before building a new one from scratch.
## Browse & Search Templates
Browse & Search Templates puts every template in a centralized library you can search through quickly, so you can locate the right template instead of starting from scratch each time.
## Preview & Reuse Templates
Preview & Reuse Templates lets you preview a template from the gallery to confirm it's the right fit, then reuse it directly rather than rebuilding it.
Part of the Template Governance Hub.

---
# Dynamic Document Generation Engine
https://help.cloudfiles.io/salesforce/document-generation-engine
# Dynamic Document Generation Engine
Generate documents instantly or at scale from live Salesforce data, then apply security, preview, and merging controls to every output.
> Kind: Guide · Updated: Jul 30, 2026
CloudFiles Dynamic Document Generation Engine creates documents in real time or through high-volume automations using dynamic Salesforce data. It applies post-generation controls and consolidates multiple files into one secure, ready-to-send package.
The engine spans four areas — generating a single document on demand, generating documents in bulk through background processing, protecting and previewing documents right after they're created, and merging multiple files into one consolidated PDF. See the Document Generation features overview for how this engine fits alongside template design and data personalization.
## Instant & On-Demand Generation
Generate documents instantly from Salesforce records, screen flows, or actions - delivering data-filled outputs on the spot with no delays. Learn more in the Instant & On-Demand Generation guide.
- One-Click Record Generation: Trigger document creation directly from the CloudFiles widget on any Salesforce record for a quick, simple, Salesforce-native way to generate a polished document instantly.
- Automated Generation (Flows & Apex): Create documents through Record-Triggered Flows, Screen Flows, or Apex actions using real-time data and runtime variables, adding live document creation into any Salesforce automation or guided process.
## Bulk & Background Generation
Create hundreds or thousands of documents asynchronously using scalable background processing — ideal for statements, reports, invoices, and operational batches. Learn more in the Bulk & Background Generation guide.
- Bulk Generation: Generate hundreds or thousands of documents asynchronously from list views, flows, or record collections, automating large-scale document runs in a single step without slowing down users.
- Batch Processing: Executes document generation through distributed batch jobs that handle large data volumes efficiently without hitting Salesforce limits, ensuring reliable, high-performance document creation even at massive scale.
## Post-Generation Controls
Apply security, access, retention, and preview rules immediately after documents are generated to keep them protected, compliant, and easy to review. Learn more in the Post-Generation Controls guide.
- Security & Access Controls: Apply PDF security such as password protection, print/copy restrictions, and lock PDF, plus retention timers that control who can view or download a document after generation - enterprise-grade protection that keeps access strictly in your control.
- Real-Time Preview & Download: Instantly returns a PreviewURL and DownloadURL for generated files, with expiration settings, access rules, and view-only modes, so users can review or retrieve documents immediately without delays.
## Unified Document Merging
Combine multiple templates, PDFs, or external files into a single, consolidated document package. Learn more in the Unified Document Merging guide.
- Unified Document Merging: Merges outputs from multiple templates, previously generated files, uploaded PDFs, or files stored in Salesforce or external systems (SharePoint, S3, Google Drive) into one consolidated PDF - creating complete, professional document packages such as proposals, contracts, and annexures that are ready to share.
---
# Instant & On-Demand Generation
https://help.cloudfiles.io/salesforce/instant-on-demand-generation
# Instant & On-Demand Generation
Instant & On-Demand Generation creates data-filled documents on the spot, either with a single click from a Salesforce record or automatically through Flows and Apex.
> Kind: Guide · Updated: Jul 30, 2026
Instant & On-Demand Generation generates documents instantly from Salesforce records, screen flows, or actions — delivering data-filled outputs on the spot with no delays.
This covers two ways to trigger that instant creation: a manual, one-click action taken directly on a record, and an automated trigger built into a Flow or Apex process.
## One-Click Record Generation
One-Click Record Generation triggers document creation directly from the CloudFiles widget on any Salesforce record.
Generate polished documents instantly — quick, simple, and Salesforce-native.
## Automated Generation (Flows & Apex)
Automated Generation (Flows & Apex) creates documents through Record-Triggered Flows, Screen Flows, or Apex actions using real-time data and runtime variables.
Add live document creation into any Salesforce automation or guided process.
Part of the Dynamic Document Generation Engine.

---
# Bulk & Background Generation
https://help.cloudfiles.io/salesforce/bulk-background-generation
# Bulk & Background Generation
Bulk & Background Generation creates hundreds or thousands of documents asynchronously through scalable background processing, ideal for statements, reports, invoices, and operational batches.
> Kind: Guide · Updated: Jul 30, 2026
Bulk & Background Generation creates hundreds or thousands of documents asynchronously using scalable background processing — ideal for statements, reports, invoices, and operational batches. Instead of generating one document at a time, large runs are queued and processed in the background, freeing up users while CloudFiles handles the volume.
This is the engine behind large-scale document runs, combining asynchronous generation from lists, flows, or record collections with distributed batch processing that scales to massive datasets without hitting Salesforce limits.
## Bulk Generation
CloudFiles can generate hundreds or thousands of documents asynchronously from list views, flows, or record collections. Rather than triggering documents one record at a time, an entire set of records is submitted together and processed as a single bulk run.
Automate large-scale document runs — statements, reports, invoices — in a single step without slowing down users.
## Batch Processing
Document generation is executed through distributed batch jobs that handle large data volumes efficiently, without hitting Salesforce limits. Splitting work across batch jobs keeps large runs reliable even as record and data volumes grow.
Ensure reliable, high-performance document creation even when working with massive datasets.
Part of the Dynamic Document Generation Engine.

---
# Post-Generation Controls
https://help.cloudfiles.io/salesforce/post-generation-controls
# Post-Generation Controls
Post-Generation Controls apply security, access, retention, and preview rules immediately after documents are generated to keep them protected, compliant, and easy to review.
> Kind: Guide · Updated: Jul 30, 2026
Post-Generation Controls apply security, access, retention, and preview rules immediately after a document is generated, keeping every output protected, compliant, and easy to review the moment it's created.
Rather than treating generation as the final step, CloudFiles adds a layer of control right after the document is produced — locking it down, governing who can reach it, and making it instantly available for review or retrieval.
## Security & Access Controls
Security & Access Controls apply PDF security such as password protection, print/copy restrictions, and locked PDFs, set retention timers, and control who can view or download a document after it's generated. Together these settings determine how a file is safeguarded and who is permitted to reach it once it exists.
- PDF password protection
- Print and copy restrictions
- Lock PDF
- Retention timers
- Control over who can view or download the document
Protect every generated document with enterprise-grade security and ensure access stays strictly in your control.
## Real-Time Preview & Download
Real-Time Preview & Download instantly returns a PreviewURL and DownloadURL for generated files, with expiration settings, access rules, and view-only modes available for each. This gives every generated document an immediate, controllable point of access as soon as it's ready.
- Instant PreviewURL and DownloadURL
- Expiration settings
- Access rules
- View-only modes
Let users review or retrieve documents immediately, securely and without delays, to keep workflows moving fast.
Part of the Dynamic Document Generation Engine.

---
# Unified Document Merging
https://help.cloudfiles.io/salesforce/unified-document-merging
# Unified Document Merging
Unified Document Merging combines outputs from multiple templates, previously generated files, uploaded PDFs, or externally stored files into a single, consolidated PDF package.
> Kind: Guide · Updated: Jul 30, 2026
Unified Document Merging combines multiple templates, PDFs, or external files into a single, consolidated document package. Instead of sending several separate files after generation, CloudFiles lets you assemble everything into one ready-to-share PDF.
This is the packaging step that follows document generation in the Dynamic Document Generation Engine - it pulls together outputs from multiple templates alongside previously generated files, uploaded PDFs, or files stored in Salesforce or connected external systems, and consolidates them into one file.
## Unified Document Merging
Unified Document Merging merges outputs from multiple templates, previously generated files, uploaded PDFs, or files stored in Salesforce or external systems - including SharePoint, S3, and Google Drive - into a single consolidated PDF.
Create complete, polished document packages - proposals, contracts, annexures, and supporting files - all combined into one professional, ready-to-share PDF.
Part of the Dynamic Document Generation Engine.

---
# Generating Documents (Guide · Salesforce)
https://help.cloudfiles.io/salesforce/generating-documents
# Generating Documents
Explains how to generate documents in Salesforce from published CloudFiles templates, either manually via the Doc-Gen LWC widget or automatically using CloudFiles Flow Actions.
> Kind: Guide · Updated: Jul 4, 2026
Once you have published templates, you can use them to generate documents from records of the Master Object for which the template was created and published. You can access details of these published templates from the CloudFiles app in Salesforce.
## View Template List
To view the template list and related details, follow these steps:
- Go to the App Launcher in Salesforce.
- From the App Launcher, select the CloudFiles app.
- In the CloudFiles app, go to the 'Document Generation' tab.
By following these steps, you can view the list of published templates and access their details, enabling you to generate documents from the relevant records in Salesforce.
The following details are available for a published template record -
- Template name - The name given to the template when published.
- Source object - The Master Object for which the template is published.
- Template Id - Unique ID assigned to each published template.
- Version Number - The version number of the template.
Below is how the published templates look like -

The published templates will be available for document generation on the desired Salesforce Object. There are two ways to generate documents -
- Manual generation by LWC - The CloudFiles Doc-Gen LWC can be easily added to any object's record detail page in Salesforce. Once added, this widget will display all the published templates related to that object. Users can then generate documents in either DOCX or PDF format, which will be automatically downloaded upon generation.
- Automated Generation by flow actions - The CloudFiles Flow Actions can be utilized in flow builders to build to configure the automation of document generation.
We will cover both the ways of Document generation one by one below -
## Manual Document Generation using CloudFiles Doc Gen LWC
In order to generate documents by CloudFiles Doc-Gen LWC, you need to add the CloudFiles Doc-Gen widget to your desired record layout. You may refer to the Document Generation LWC to set-up the widget on your salesforce account in case, you have not added it yet.
Once the set-up is done and widget is added, follow these steps to generate a document.
- Navigate to the 'CloudFiles Doc-Gen LWC' on the object page.
- Click the drop-down menu next to the template you want to use for generation.
- Select 'Generate DOCX' or 'Generate PDF' for the desired document format.
- The document generation process takes a moment. Once the document is generated, you can download it to your system or can click 'Copy to Salesforce Files' in order to upload the generated document as a Salesforce File and attach it to the record in the 'Files' section.
Refer to the GIF below for visual understanding.

## Automated Document Generation using Flow Actions - Overview
The CloudFiles Flow Actions can be used in Salesforce Flow Builder to configure the automation of document generation. This method streamlines the process and ensures documents are generated based on specific triggers and criteria set in the flow. For example sake, here we are using 'Account' object to generate an automated document populated with required details according to template, whenever an Account record is created. To achieve this we will be using two flows as described below. The detailed steps are given in the next section
### Flow 1 - Record Triggered Flow
To create the Automated Document Generation, we set up a record-triggered flow that activates when a record is created. We used the template ID of a published template to generate the document using the 'Generate Document' action of CloudFiles. This action creates a CloudFiles platform event, which is pushed into the event bus and triggers the next Platform Event - Triggered flow.
Below is how this flow looks like -

### Flow 2 - Platform Event - Triggered Flow
The next flow is triggered when a CloudFiles event of type 'document-generated' is published upon document generation in the first flow. After retrieving all the event details, the flow checks if the generated document belongs to the Account object. If it does, the content version details are fetched from the event data. Using these content version details, the template is populated with the relevant information, and the document is generated.
Below is how the second flow looks like -

## Walkthrough Steps to Automate Document Generation Using Flow Actions
Please refer the steps below to automatically generate and attach files to a Salesforce record using CloudFiles Doc Gen actions
### 1 - Create a Record Triggered Flow
1 - Navigate to Salesforce Setup. Find and select 'flows' from Quick Find Box. Click on 'New Flow'.
2 - Create a Record Triggered Flow for Account object, which will be triggered when an account record is created. Make sure this runs in an asynchronous path.
3 - Add the CloudFiles 'Document Generation' action to the flow with following input parameters. Leave rest of the configuration as is.
Document Type - It is the file format in which you want to generate the document. This could be either pdf or docx according to your preference.
Record ID - It is the record of a particular object for which we want to generate the document. In our case, it should be the record ID belonging to the Account object. Fill the field as Triggering Account > Account ID.
Template - This is the ID of the already created template we want to use for this particular record to generate the document. To fetch and store the template ID, refer to the GIF below -

After filling in the necessary input parameters, your event configuration should look like this. Save and activate the flow once everything is complete.

### 2 - Create a Platform Event Triggered Flow
A 'document-generated' type event will be published as a result of the action in the above flow, triggering this flow. Follow the steps below to set up the flow.
1 - Create a new 'Platform Event - Triggered Flow' type flow and choose Platform Event as 'CloudFiles Event'.
2 - The flow will be triggered for every CloudFiles Event published, but we want to run the flow actions only when a 'document-generated' type event occurs. To achieve this, we will add a decision element to the flow and create a path for 'Document Generated.' Set the following condition to identify the 'Document Generated' event and add the specified resource in the path. Triggering Event > Type Equals document-generated
3 - Add a Get Event Details action and set the input value for the Event parameter as {!$Record}.
4 - To check the object type on which the document is generated we will add a decision element and compare parentID of generated document with the right object.
5 - To get the 'Content Version' record of the generated document follow the steps below -
Add a 'Get Records' element > Put object as 'Content Version' > Add a condition as Id Equals Outputs from Get Event Details > Document Generated > Content Version ID
Below is how the decision element looks like -

6 - We now need to attach the generated document to the record. Follow the steps below -
Add a 'Create Records' element > Select object as Content Document Link > Set the field values as:
- ContentDocumentID ← Content Version from Get_Content_Version > ContentDocument ID > ContentDocument ID
- LinkedEntityId ← Outputs from Get_Event_Details > DocumentGenerated > ParentId
Below is how this decision element looks like -

This is how you can set up the flows to auto generate documents using CloudFiles Doc Gen actions. To test the flows, please refer to the next section
### 3 - Test the automated document generation in action
Create a new account record, and the activated flows will trigger, resulting in an automatically generated document being attached to the record.
Refer to the GIF below to have a visual understanding of these steps -

This is how you can generate documents using CloudFiles Doc Gen, either manually or automatically.
---
# Connected Ecosystem Layer
https://help.cloudfiles.io/salesforce/connected-ecosystem-layer
# Connected Ecosystem Layer
Extend CloudFiles Document Generation beyond templates and generation into e-signature flows, deeper Salesforce experiences, other CloudFiles products, and custom systems via APIs and events.
> Kind: Guide · Updated: Jul 30, 2026
The Connected Ecosystem Layer extends CloudFiles Document Generation beyond templates and generation, across your entire ecosystem — into e-sign flows, Salesforce integrations, CloudFiles products, and custom systems.
Rather than stopping once a document is generated, this layer carries it forward — out to e-signature providers, into the Salesforce surfaces your users already work from (Experience Cloud, mobile, Field Service Lightning, Agentforce), across other CloudFiles products such as Document Management, Sharing, and Document AI, and out to any custom system through Apex, APIs, and events. See the Doc Gen features overview for how this fits alongside template design, data, governance, and generation.
## Integrated e-Signature Support
Integrated e-Signature Support lets you prepare, send, sign, and store documents using your preferred e-signature provider — starting with DocuSign (live) and Adobe Sign (coming soon) — directly from Doc Gen workflows, without leaving Salesforce. Learn more in the e-Signature Support guide.
- Multi-Provider Support — Supports DocuSign today, built on a pluggable provider framework so Adobe Sign and other e-signature systems can be added without architectural changes.
- Template-Level Signature Fields — Add signature, initials, text, checkbox, and date fields directly inside DOCX/PDF templates using Insert Form Field, so documents come out signature-ready. Signature fields are configured at template design time — see All-Format Designer for building the underlying template.
- Automated Recipient Assignment — Populate signer details dynamically through a Recipient Resource, using Salesforce fields, lookups, roles, or runtime inputs so documents route to the correct signers automatically.
- End-to-End Signing Flow — Trigger signing from a widget, Flow, or Apex, track signing events (sent, viewed, completed), and auto-store signed documents to Salesforce Files or connected storage based on your destination rules.
## Deep Salesforce Integrations
Deep Salesforce Integrations bring Doc Gen inside the Salesforce experiences your users already work from — Experience Cloud, Salesforce Mobile, field service apps, and AI-driven actions. Learn more in the Deep Salesforce Integrations guide.
- Experience Cloud Support — Portal users can generate documents through widgets and flows with governed access, extending Doc Gen securely to partners and customers.
- Salesforce Mobile Access — Doc Gen generation flows and outputs are supported inside Salesforce Mobile, so documents can be created and accessed anywhere, not just on desktop.
- FSL Mobile Support — Field Service Lightning users can trigger document generation in the FSL mobile context, giving field teams real-time, job-linked documents on site.
- Agentforce Actions — Doc Gen can be triggered via Agentforce/AI actions as part of a document workflow, letting AI kick off document generation automatically when needed.
## Cross-Product Compatibility
Cross-Product Compatibility connects Doc Gen with CloudFiles Document Management, Document Sharing, and Document AI so teams can build complete, end-to-end document workflows. Learn more in the Cross-Product Compatibility guide.
- Unified Document Management — Store generated documents in Salesforce or any connected external storage, even across multiple destinations, with foldering, metadata, tagging, versioning, retention, and record linking.
- Analytics-Enabled Document Sharing — Send generated documents using CloudFiles Sharing links and track engagement inside Salesforce — views, downloads, time spent, and scroll analytics.
- AI-Driven Document Processing — CloudFiles Document AI extracts structured data from incoming documents (KYC forms, invoices, contracts, and more) and feeds it into Doc Gen templates or Flows for automated document creation.
- Multi-App Workflow Orchestration — Combine Document Management, Document Sharing, Document AI, and Doc Gen in the same Flow or Apex automation to build end-to-end document workflows: upload, extract, generate, and share, all inside Salesforce.
## API & Developer Extensibility
API & Developer Extensibility lets you trigger, control, and scale document generation from code, integrations, or events, connecting Doc Gen to systems beyond Salesforce. Learn more in the API & Developer Extensibility guide.
- Apex Actions — Trigger Doc Gen programmatically inside Salesforce through Apex and invocable actions, so developers can embed document generation into custom Salesforce logic.
- REST APIs — Generate documents from external applications through authenticated API calls, connecting Doc Gen to ERPs, websites, or middleware without rework.
- Event-Driven Triggers — Async and bulk generation is supported through platform events and callbacks, scaling high-volume generation smoothly without slowing operations.
---
# e-Signature Support
https://help.cloudfiles.io/salesforce/e-signature-support
# e-Signature Support
Send generated documents for electronic signature via DocuSign in Salesforce — recipients, signature fields, signing order, branding, and Date Signed / Text fields, for both Word and PDF templates.
> Kind: Guide · Updated: Jul 26, 2026
## Introduction
CloudFiles lets you send generated documents for electronic signature without leaving Salesforce. Signing is provided through DocuSign and works for both Word and PDF templates. You connect DocuSign once under Document Generation → Integrations Tab, then set up signing on your template, and CloudFiles sends the document and returns the signed file to the record.
## Sending Documents for Signature
You add one or more recipients and set each one's type, either a Signer who signs the document or a Carbon Copy who receives the completed copy without signing. You then place a signature field for each signer, set the order in which recipients are notified, and apply your own DocuSign branding to the signing email. See Sending Documents for Signature.
## Date Signed and Text Fields
Alongside the signature, you can add two more field types to the document. A Date Signed field fills in the signing date automatically, and a Text field lets a signer enter custom text while signing. Each field is assigned to a recipient. See Date Signed and Text Fields.
---
# Sending Documents for Signature
https://help.cloudfiles.io/salesforce/docusign-integration-for-word-based-document-generation
# Sending Documents for Signature
The DocuSign integration feature enables you to automatically send generated documents for e-signature directly via DocuSign, using predefined signature fields and recipient mappings.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
The DocuSign integration feature enables you to automatically send generated documents for e-signature directly via DocuSign, using predefined signature fields and recipient mappings.
This works in combination with three key additions to your document generation configuration -
- Recipient Resource - This defines the recipient of the generated PDF. It includes the recipient's name, email, and any other necessary details.
- Insert Form Field Action - This allows you to insert a signature field directly into the Word document template. It determines the position of the signature within the document and links it to a specific recipient.
- Signing Settings - Control the order in which recipients are notified and the branding applied to the signing email.
## Prerequisite
Before using this feature, ensure your DocuSign account is connected.
Navigate to Salesforce → Document Generation → Integrations Tab and connect your DocuSign account. This step is mandatory for the integration to function.

## How to Use This Feature
Follow these steps to configure recipients and signature fields -
### 1 - Create a Recipient Resource
Start by adding a new recipient resource. This resource should include all relevant recipient details — especially the email address where the DocuSign request will be sent.
Each recipient can be added as a Signer or as Carbon Copy. Carbon Copy recipients receive the signed document by email but are not prompted to sign.

### 2 - Insert a Form Field Action
- Open your Word template in the document generation configuration.
- From the Insert Form Field Action dropdown, select the Signature field type.
- Choose the intended Recipient to whom this signature is assigned. This ensures that when the document is sent, the correct person receives the email and is prompted to sign.

### 3 - Visual Placement of Signature Field
Once inserted, a placeholder form field with the word "signature" will appear in your document. This field marks the approximate location where the DocuSign signature box will appear.

> The actual rendering may vary slightly, so we recommend testing a few documents to ensure the signature appears at the ideal spot.
### 4 - Configure Signing Settings (Optional)
Signing settings apply to the recipients you created in step 1 and control how the signing request is sent. Both settings are optional.
- Signing Order: By default, all recipients are notified at the same time. Enable signing order to notify them in sequence, then give each recipient a number. Recipients with a lower number are notified first, and recipients with a higher number are notified only after the earlier ones finish signing. Recipients who share the same number are notified together. For example, with A=1, B=1, C=10, D=100, recipients A and B are notified first, then C once they finish, then D. You can drag recipients into order or type a number for each.

- Brand ID: Set the envelope Brand ID to apply DocuSign branding to the signing email. The brand controls the colors, logo, and email template your recipients see when they open the request.

### 5 - Triggering DocuSign
When you generate a preview or finalize the document, a call is made to DocuSign. The system will:
- Generate the PDF.
- Send an email to the designated recipient with the PDF attached for signature.
> You can assign signature fields to multiple recipients in the same document.
---
# Date Signed and Text Fields
https://help.cloudfiles.io/salesforce/docusign-field-integrations
# Date Signed and Text Fields
The DocuSign integration supports Date Signed and Text field types, expanding document signing capabilities beyond basic signatures to capture signing dates and collect custom text input.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
The DocuSign integration supports Date Signed and Text field types, expanding the document signing capabilities beyond basic signatures. These field types allow one to capture when documents were signed and collect custom text input during the signing process.
This enhancement works with the existing DocuSign integration setup and includes:
- Recipient Resource - This defines the recipient of the generated PDF. It includes the recipient's name and email.
- Form Field Action - This inserts Date Signed and Text fields into your template and links them to a recipient. In Word templates, use the Insert Form Field action. In PDF templates, use the Form Field action.
- Date Signed Field - Automatically captures and displays the signing date.
- Text Field - Enables recipients to enter custom text during document signing.
## Prerequisites
Before using these field types, ensure your DocuSign account is connected to CloudFiles.
Navigate to Salesforce → Document Generation → Integrations Tab and connect your DocuSign account. This connection is required for all DocuSign field types to function properly.

## How to Use These Fields
Follow these steps to add Date Signed and Text fields to your documents:
### 1 - Create a Recipient Resource
Set up a recipient resource with all necessary details, including the email address where the DocuSign request will be sent. This recipient will interact with the new field types during signing.

### 2 - Insert Form Field Actions
- Open your Word template in the document generation configuration.
- From the Insert Form Field Action, you'll now see additional options:
- Select Date Signed field type for automatic date capture
- Select Text field type for custom text input
- Choose the intended Recipient who will interact with this field during signing.
- For PDF templates: use the Form Field action instead of Insert Form Field, then select the same Date Signed or Text field type and choose the recipient. The rest of the behavior is identical. See Form Field.

### 3 - Field Behavior During Signing
- Date Signed Field: Automatically populated when the recipient signs the document in DocuSign, showing the exact signing timestamp.
- Text Field: Presents an input box where recipients can enter custom text as part of the signing process.
### 4 - Visual Placement in Template
Once inserted, placeholder form fields will appear in your document template:
- Date Signed: Shows placeholder text indicating where the signing date will appear.

> **Important** — The actual rendering in DocuSign may vary slightly from your template placement. We recommend testing different positions to ensure fields appear in optimal locations for your specific template layout.
## Additional Notes
- You can use multiple Date Signed and Text fields in the same document
- Each field must be assigned to a specific recipient
- Assign these fields to Signer recipients. Carbon Copy recipients receive the completed document without signing, so they do not fill in fields.
- After you add your fields, set the signing order and envelope brand in Signing Settings. See Sending Documents for Signature.
- Recipient types and signing settings are envelope-level, so they apply the same way whether the template is Word or PDF.
Since field placement can vary between your template and the final DocuSign rendering, test your document with different field positions to achieve the best user experience for your signers.
---
# Deep Salesforce Integrations
https://help.cloudfiles.io/salesforce/deep-salesforce-integrations
# Deep Salesforce Integrations
Deep Salesforce Integrations bring Doc Gen inside the Salesforce experiences your users already work from — Experience Cloud, Salesforce Mobile, Field Service Lightning, and Agentforce.
> Kind: Guide · Updated: Jul 30, 2026
Deep Salesforce Integrations bring Doc Gen into the everyday Salesforce surfaces your users already work from — extending document generation beyond standard record pages and into Experience Cloud portals, the Salesforce Mobile app, the Field Service Lightning mobile context, and Agentforce AI actions.
Instead of confining generation to a desktop record page, these integrations let a document be created wherever the work happens — by a portal partner, a rep on the move, a technician on a job site, or an AI agent acting on its own.
## Experience Cloud Support
Experience Cloud Support lets portal users generate documents through widgets or Flows, with the same governed access controls that apply everywhere else in CloudFiles.
Extend Doc Gen securely to partners and customers — portal users get document generation without needing internal Salesforce access.
## Salesforce Mobile Access
Salesforce Mobile Access supports Doc Gen generation flows and outputs directly inside the Salesforce Mobile app.
Create and access documents anywhere, not just on desktop — mobile support keeps generation available wherever a user is working.
## FSL Mobile Support
FSL Mobile Support lets Field Service Lightning users trigger document generation directly from the FSL mobile context.
Empower field teams with real-time, job-linked documents on site — technicians can produce the documents a job requires without leaving the field app.
## Agentforce Actions
Agentforce Actions allow Doc Gen to be triggered via Agentforce and other AI actions as part of a document workflow.
Let AI kick off document workflows automatically when needed — Agentforce can initiate generation as a step in a larger, autonomous process.
Part of the Connected Ecosystem Layer.
---
# Cross-Product Compatibility
https://help.cloudfiles.io/salesforce/cross-product-compatibility
# Cross-Product Compatibility
Cross-Product Compatibility connects DocGen with CloudFiles Doc Management, Sharing, and Doc AI so storage, distribution, extraction, and generation work together as one document workflow.
> Kind: Guide · Updated: Jul 30, 2026
Cross-Product Compatibility uses DocGen together with CloudFiles Doc Management, Sharing, and Doc AI for complete document workflows. Rather than treating generation as an isolated step, this sub-feature connects what DocGen produces to where documents are stored, how they are shared and tracked, and how incoming documents are turned into new data.
The result is a single connected document lifecycle inside Salesforce: documents are stored and managed consistently, shared with visibility into recipient engagement, generated automatically from data extracted out of other documents, and orchestrated end-to-end across all four CloudFiles products in one Flow or Apex automation.
## Unified Document Management
Generated documents can be stored in Salesforce or any connected external storage system - even across multiple destinations at once - with advanced management features layered on top, including:
- Foldering
- Metadata
- Tagging
- Versioning
- Retention
- Record linking
Keep every generated document organized, compliant, and easy to access, whether it is stored in Salesforce or any connected external system.
## Analytics-Enabled Document Sharing
Generated documents can be sent using CloudFiles Sharing links, with engagement tracking captured inside Salesforce, including:
- Views
- Downloads
- Time spent
- Scroll analytics
See exactly how recipients interact with your documents, helping teams prioritize follow-ups and improve sales effectiveness.
## AI-Driven Document Processing
CloudFiles Document AI extracts structured data from incoming documents - such as KYC forms, invoices, and contracts - and feeds that data into DocGen templates or Flows for automated document creation.
Turn incoming documents into structured data that can instantly generate new records or documents, reducing manual work and speeding up processes.
## Multi-App Workflow Orchestration
Doc Management, Doc Sharing, Doc AI, and DocGen can be combined in the same Flow or Apex automation to create end-to-end document workflows: upload → extract → generate → share, all inside Salesforce.
Build powerful, multi-step document workflows entirely inside Salesforce, without stitching products together manually.
Part of the Connected Ecosystem Layer.
---
# API & Developer Extensibility
https://help.cloudfiles.io/salesforce/api-developer-extensibility
# API & Developer Extensibility
API & Developer Extensibility lets developers trigger, control, and scale CloudFiles document generation from Apex, external applications, and platform events.
> Kind: Guide · Updated: Jul 30, 2026
API & Developer Extensibility lets you trigger, control, and scale document generation from code, integrations, or events, instead of relying only on manual, in-app actions.
This gives developers a programmatic path into CloudFiles Document Generation, whether the trigger comes from inside Salesforce, from an external application, or from an asynchronous platform event.
## Apex Actions
Apex Actions trigger DocGen programmatically inside Salesforce through Apex or invocable actions, so document generation can be embedded into custom Salesforce logic seamlessly.
## REST APIs
REST APIs generate documents from external apps through authenticated API calls, connecting DocGen to ERPs, websites, or middleware without rework.
## Event-Driven Triggers
Event-Driven Triggers support async and bulk generation using platform events and callbacks, scaling high-volume document generation smoothly without slowing operations.
Part of the Connected Ecosystem Layer.
---
# Document Generation Tutorials
https://help.cloudfiles.io/salesforce/document-generation-tutorials
# Document Generation Tutorials
Landing page for the Document Generation tutorials category, linking to guides on building Word templates and generating, automating, and securing documents in CloudFiles.
> Kind: Tutorial · Updated: Jul 4, 2026
Welcome to the Document Generation tutorials category. This section contains a collection of step-by-step guides to help you get the most out of CloudFiles’ document generation features.
Browse through the list below to get started -
- Build a template (Word) - In this tutorial, we’ll show you how to create templates in Microsoft Word using CloudFiles Document Generation and Salesforce data.
- Generate a document manually - In this tutorial, we’ll configure the Doc-Gen widget in Salesforce to generate documents from predefined templates. As an example, we’ll demonstrate how users can add the widget to a record page and manually generate Word, Excel, PowerPoint, or PDF files directly from Salesforce records.
- Generate a document via automation - In this tutorial, we’ll show you how to set up a Salesforce record-triggered flow with CloudFiles to automatically generate documents when specific conditions are met. This allows documents to be created instantly based on record updates, saving time and reducing manual effort.
- Generate a document via Screen Flow - In this tutorial, we’ll show you how to use a Salesforce Screen Flow with CloudFiles to generate documents as part of a guided process. You’ll learn how to batch-generate multiple documents at once, making it easier to create all required files in a single flow.
- Generate a document via Permissioned Templates - In this tutorial, we’ll show you how to build a Salesforce Screen Flow that shows a CloudFiles DocGen template only to the users who are allowed to use it, by registering templates against a Custom Permission and gating them with a Permission Set. Every other user simply never sees the restricted template in the list.
- Generate a document with runtime variables - This tutorial shows how to generate a purchase order using Screen Flow with runtime variables. You’ll learn to create a template, configure variables for user input, and generate dynamic documents that combine Salesforce data with user-entered details using the Generate Document (Sync) action.
- Merge documents - This tutorial explains how to merge multiple files - PDFs, DOCX, PNG, or JPEG into a single PDF using the Merge Documents (Sync) action.
- Secure PDF - In this tutorial, you’ll learn how to keep your PDF documents safe and protected. We’ll explore how to apply security options while generating via automation.
---
# Build a template (Word)
https://help.cloudfiles.io/salesforce/build-a-template-word
# Build a template (Word)
This guide explains how to create a purchase order template using CloudFiles Document Generation with the Salesforce add-in for Microsoft Word.
> Kind: Tutorial · Updated: Jul 4, 2026
This guide explains how to create a template using CloudFiles Document Generation. The CloudFiles add-in feature allows you to build templates in Microsoft Word (DOCX) using Salesforce data. For this tutorial, we will use the Order object to create a sample purchase order template. You will learn how to use the Insert Field, Insert Image, Insert Table, and Insert Condition actions to generate documents with data from Salesforce records.
## What to Expect
By the end of this tutorial, you will know how to:
- Create a DOCX template with fields mapped from Salesforce
- Insert text, image, and table elements into a DOCX template
- Use conditions to show or hide content based on logic
- Preview and publishing document to Salesforce
## Tutorial Video
Refer to the quick video if you would like to have a visual guide for this tutorial. Read on if you prefer textual content.
> Video will be added soon
## Pre-requisites
### Install CloudFiles in Salesforce
CloudFiles Document Generation app is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation guide to know more.

### Template Builder Setup
The CloudFiles add-in connects with your Salesforce Org to enable template creation using Salesforce data. It can be installed in Microsoft Word, Excel, or PowerPoint, allowing you to design templates directly. For installation steps, see Template Builder Setup.

## Stages of Document Generation
Document Generation includes 3 main stages:
- Build
- Preview
- Publish
After logging in to Salesforce through the CloudFiles add-in, set Salesforce as the platform and select the Order object. In this tutorial, we will use the Order object to create a sample Purchase Order template.

> Why use a Purchase Order Template?A purchase order is a common document used to confirm and track product or service purchases. It generally includes the order number, account information, shipping and billing details, and a list of items.In this tutorial, we use the Order object in Salesforce, which contains all the required details for generating the document. For item-level information, we use the OrderItem object, which holds product names, quantities, prices, and totals used to populate tables in the template. We have created a sample purchase order template with placeholder fields for reference (see screenshot below). In the Build stage, we will show how to use each action: Insert Field, Insert Image, Insert Table, Insert Link, and Insert Condition, to replace those placeholders with actual merge fields from Salesforce.
After installing the CloudFiles add-in and setting up Salesforce, you can use the template actions to insert fields and tables from Salesforce data into the document.
### Stage 1 - Build
1 - Global variable
When building templates, you work with global variables that help you pull in Salesforce data. The most common one is $Record, which refers to the record you're generating the document for — for example, an Order in this case. Using this, you can easily bring in fields like OrderNumber, EffectiveDate, and related account fields.

Alongside this, there's also the $User variable. This refers to the Salesforce user who is generating the document. If you're using the document generation widget inside Salesforce, $user will correspond to whoever is running that action. In flows, it picks up the user who is in context at the time — so in a screen flow, it's the person interacting with the flow, and in a record-triggered flow, it's the person who made the record changes. This means you can insert fields not just about the record itself, but also about the user generating the document, such as their name or email address.
2 - Insert Field
Insert the following fields into the purchase order template:
- OrderDate – {{!$Record.EffectiveDate}}
- OrderNo – {{!$Record.OrderNumber}}
- AccName – {{!$Record.Account.Name}}
- BillingStreet – {{!$Record.Account.BillingStreet}}
You can similarly insert other fields such as BillingCity, ShippingStreet, ShippingCity, etc.

Additionally, you can insert fields from other related object records, such as Contract, by creating a Record Single Variable resource and then using template actions to reference and insert those fields into your document.
> **Note** — Note: Ensure that the Integration User has the necessary permissions to access the fields being inserted. If the required access is missing, the fields will not be available for use in the template.
3 - Insert Picture
Use Insert Picture action to add an image to the template. This is ideally used for company logos, product images, etc. Place the cursor where the image should appear in the document, then select the Insert Picture action. Choose a field that contains a valid image URL, such as a logo URL stored in the Account record. You can also adjust the size of the image.
In the purchase order template, insert the custom field Company_Logo__c from the Account object, which holds the image URL.
- Image - {!$Record.Account.Company_Logo__c}

4 - Insert Link
Use Insert Link to add clickable URLs from Salesforce fields into your template.
In the purchase order template, insert the field Website from the Account object, which holds the URL of the website.
- Website – {{$Record.Account.Website}}
This will generate a working hyperlink in the final generated document.

5 - Insert Table
Use Insert Table action to include repeatable rows for lists, such as line items or products.
Before adding a table, create a Record Collection Variable with object set to 'Order Product' which is typically used to represent the line items associated with the order (e.g., products purchased, quantities, and pricing)and add filter Criteria as below.
- Order ID Equals {!$Record.Id}

Now, the record collection OrderItems contains the products of the order.
To configure the table, follow the steps below:
- Place the cursor on the template and select the Insert table action.
- In the Resource Type field, select the collection OrderItems you created.
- Specify the required number of columns and rows.

- Add column labels for Item, Quantity, Unit Price, and Subtotal in the first row.
- Place the cursor on the second row and use the , then click 'Make Data Row' to include the values of the collection.

- Insert the following into the table from the collection OrderItems using the Insert Field action.
- Product Name - {!order_items.Product2.Name}
- Quantity - {!order_items.Quantity}
- Unit Price - {!order_items.UnitPrice}
- Total Price - {!order_items.TotalPrice}
You can insert multiple fields into the same cell. Make sure you insert all the collection fields inside the data row.

6 - Insert Condition
Use Insert Condition to show or hide sections based on values from your record.
In the purchase order template, let's display a message only when the Total Order Amount exceeds $10,000
Steps to Insert a Condition:
- Place the cursor where you want the conditional content to appear.
- Open the CloudFiles Add-in and choose Insert Condition.
- In the Field dropdown, select the relevant field (e.g., TotalAmount or Order Total).
- Set the Operator (e.g., Greater Than) and enter the Value (e.g., 10000).
- Click Insert
- Add the message inside If> to display if the condition is met.

7 - Document Title
Use Document Title action to define the name for your generated document. This title will be automatically applied when the document is generated. You can use values from records and other resources to create dynamic file names. In the template, we have used {!$Record.OrderNumber}to set the document title dynamically based on the order number.
If no Document Title is specified, the document will default to the name of the template.

Global constants
Global constants are predefined values that remain the same for every document. By default, the template includes:
- $GlobalConstant.EmptyString – blank text value
- $GlobalConstant.False – boolean false
- $GlobalConstant.True – boolean true
These constants can be used to add fixed values or control logic.

### Stage 2 - Preview
The Preview feature allows you to test how your document will look using real data before publishing it.
How It Works:
- Enter a valid Record ID (e.g., a Salesforce Order ID) into the input box.
- Click Generate Preview.
- CloudFiles will populate the template with actual values from the record, showing you exactly how the final document will appear.

> Errors at Preview:In the Preview section, if the template has any issues, you may encounter errors, such as 'Preview generation failed,' along with a description of the error.These errors typically indicate problems like malformed queries, etc. Make sure to review the error message and correct the issue accordingly before publishing.
### Stage 3 - Publish
Once you've finished building and previewing your template, use the Publish step to save it for use in your Salesforce org.
Publishing Options:
1 - Publish as a New Template
- Choose this if you're creating a template from scratch.
- Enter a unique Template Name in the input field.
- This will create a new version that will be available for use.

2 - Select an Existing Template
- Choose this option to update or replace a previously published template.
- Select from the list of available templates in the dropdown.
- Your current design will overwrite the selected template with the new version.

Once published, the template will be listed under the Document Generation tab →DocGen Templates. The Template Id can be used in Flow automation to generate documents using the following flow actions: Generate Document, Generate Document (Sync), Generate Document (Batch).

---
# Generate a document manually
https://help.cloudfiles.io/salesforce/generate-a-document-manually
# Generate a document manually
The Doc-Gen widget allows users to manually generate documents (Word, excel, ppt, pdf) from any Salesforce record page using predefined templates.
> Kind: Tutorial · Updated: Jul 4, 2026
The Doc-Gen widget allows users to manually generate documents (Word, excel, ppt, pdf) from any Salesforce record page using predefined templates. Once you create and publish a template using the Build a template (Word) tutorial, you can manually generate documents via a record. To do so, you must add the Doc-Gen widget to the record page. This guide explains how to set up the widget and use it to generate documents.
## What to Expect
By the end of this tutorial, you will know how to:
- Add the Doc-Gen widget to a Lightning record page
- Generate documents manually from a record
- Use the available options after a document is generated
## Tutorial Video
Refer to the quick video if you would like to have a visual guide for this tutorial. Read on if you prefer textual content.
> Video will be added soon
## Pre-requisites
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation and Configuration guides to set up your account and user access.

### Doc-Gen Templates
Ensure that the templates published for the object are listed under the Document Generation tab → DocGen Templates.

## Add the Widget to Record Page
- In Salesforce, go to Lightning App Builder for the record type (e.g., Order).
- From the Components list, find and drag CloudFiles Doc-Gen into the page layout.
- Click Save, and activate the layout if needed.
The GIF below shows how to add the CloudFiles Doc-Gen widget to the record page

Once the widget is added to the record page, the record will automatically display the published templates available for that object within the widget.

## Test the setup
- Navigate to a record where the CloudFiles Doc-Gen widget has been added.
- In the widget, you'll see all published templates available for that object.
- Click the Generate (dropdown) next to the template.
- If the template contains required runtime variables, the menu displays Generate Docx (fill required fields) or Generate PDF (fill required fields).
- If prompted, enter the required values in the Fill in Document Details dialog and click Generate Document.
- After the document is generated, use one of the available actions:
- Download – Downloads the generated document to your computer.
- Preview – Opens the generated document inline within Salesforce.
- Copy to Salesforce Files – Saves the generated document as a Salesforce File related to the current record.
- Copy to External Storage – Copies the generated document to a connected CloudFiles library (such as SharePoint, OneDrive, or Google Drive). Browse the available folders and select the destination without leaving Salesforce.
- Send for e-Signature – Sends the generated document for e-signature directly from the CloudFiles Doc-Gen widget.
> **Note** — Note: Copy to External Storage is only available to users with the fileUpload custom permission and is not supported when Service Account Authentication is enabled for the org.
The GIF below shows how to manually generate a document and copy it to Salesforce attachments.

---
# Generate a document via automation
https://help.cloudfiles.io/salesforce/generate-a-document-via-automation
# Generate a document via automation
Learn how to automatically generate a document when a Salesforce record meets specific criteria by configuring a record-triggered flow with the Generate Document action.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, you’ll learn how to automatically generate a document when a Salesforce record meets specific criteria, such as when a field is updated using a record-triggered flow. After creating and publishing a template (see the Build a template (Word) tutorial), you can configure Salesforce flow to generate documents automatically whenever the defined trigger condition is met.
## What to Expect
By the end of this tutorial, you will know how to:
- Set up a record-triggered flow in Salesforce to automate document generation.
- Optionally define a destination for storing the generated document.
- Add and configure the Generate Document action in the flow.
- Test and validate that documents are generated automatically when a record is updated.
## Tutorial Video
Refer to the quick video if you would like to have a visual guide for this tutorial. Read on if you prefer textual content.
> Video will be added soon
## Prerequisites
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation and Configuration guides to set up your account and user access.

### Doc-Gen Templates
Ensure that the templates published for the object are listed under the Document Generation tab → DocGen Templates. Locate the Template Id for the template you want to use and note it down, as you’ll need it as an input in your flow action.

## Building the Flow
### 1 - Create a Record-Triggered Flow
Since we’re using a Purchase Order template that is published for the Order object, set the Order object as the trigger for the flow. Use the Status field as the triggering criterion, so the document generation starts automatically whenever an order’s status changes to Purchased.
This is how the final flow looks like -

The details of the flow are given below -
- Navigate to Setup → Flows in Salesforce.
- Click New Flow → Select Record-Triggered Flow.

- Set the Object to Order.
- Define the triggering criteria when Status is marked as Purchased.
- Select Optimize Flow as Actions and Related Records.
- Add Asynchronous Path.

### 2 - Adding Destination (Optional)
The Generate Document flow action requires destination parameters if you want to attach the generated document to a specific Salesforce record or store it in external storage. Let's store the document in the Notes & Attachments section of the Order record. If you don’t define a destination, the generated document will be stored by default in the Salesforce Content Library.
Steps to Configure Destination:
- Create an Apex-Defined Variable of Apex Class cldfs__Resource

- To Save in Order's Notes & Attachments,
- Assign the following fields:
- Library: Set to salesforce.
- Id: Set to the Record Id of the Order record

> To Store in External Storage such as SharePoint, GDrive, etcWhen using CloudFiles with the CloudFiles | Document Management & Sharing Platform:Assign the following fields to define the external storage location:Library: Specify the library name.Drive Id: Specify the Id of the connected drive.Id: Specify the Id of the folder or location within the drive. You can assign the above fields either manually (by referring to the Metadata details from Content Library) or by using the Get Connected Folder action to populate the fields from the action output.
### 3 - Add the 'Generate Document' Action
- In the flow, click + and select Action.
- Search for and choose CloudFiles: Generate Document.
- Fill in the following input parameters:
Destination → Provide the previously created Destination variable to specify where the generated file will be stored, either in a Salesforce record or in an external storage location. If left blank, the file will be saved to the Salesforce Content Library by default.
Document Type → Select the format for your output file, such as docx, or pdf. For example, choose pdf for finalized, non-editable documents, or docx if the document will need further editing.
Record ID → Pass the {!$Record.Id} from the triggered record. This tells the action which Salesforce record to use as the data source for generating the document.
Template ID → Enter the 24-digit CloudFiles Template ID of a published template. This ensures the correct template is used for document generation, so that the output is formatted and populated as intended. In this example, a variable (TemplateId) is created to store the Template ID.

You can also use the Parameters input to configure additional settings for the document, such as password protection, locking, or printing permissions. To know more, refer to the Input Parameters section of Generate Document.
> Generate Multiple Documents with Batch ActionYou can also generate multiple documents with different templates using the Generate Document (Batch) action.To do this, you’ll need to create both individual and collection Apex-Defined Variables of the class cldfs__GenerateDocumentFlowInput within the flow. Configure each variable’s fields with the required configuration values (e.g., Template ID, Destination, and Record ID) just as you would for a single Generate Document action.Next, add all the individual variables to the Collection Variable. Finally, pass this Collection Variable into the action’s Inputs parameter.
## Test the setup
Save the flow and activate it.
Test the flow by navigating to an Order record that contains a list of Order Items. Update the Status field to Approved.

The document will then be generated in the backend and stored in the Notes & Attachments section. Refresh the page to view the generated document.

Output Parameters
The CloudFiles: Generate Document action operates asynchronously, meaning it does not provide immediate outputs after execution.
Asynchronous Document Generation: After the action runs, a Document Generated CloudFiles event is published. There is no direct confirmation or result data immediately available. You can use the Document Generated event to initiate other flows or automate additional actions.
---
# Generate a document via Screen Flow
https://help.cloudfiles.io/salesforce/generate-a-document-via-screen-flow
# Generate a document via Screen Flow
Learn how to use a Salesforce Screen Flow to let users select and generate multiple document templates in batch directly from a record page.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, you’ll learn how to use a Salesforce Screen Flow to generate documents as part of a guided process. Unlike the CloudFiles widget, which focuses on quick single-template generation, Screen Flows let you select multiple templates at once and generate them together in batch using the Generate Document (Batch) action. This makes them ideal when different documents such as purchase orders, agreements, need to be created simultaneously based on user selections or workflow logic. Follow this tutorial after first creating your templates using the Build a template (Word) guide.
## What to Expect
By the end of this tutorial, you will know how to:
- Allow users to select document templates directly from a Salesforce record page using a screen flow.
- Generate documents from one or more templates in a single process.
- Decide where generated documents are stored, either in Salesforce or external storage.
## Tutorial Video
Refer to the quick video if you would like to have a visual guide for this tutorial. Read on if you prefer textual content.
> Video will be added soon
## Prerequisites
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation and Configuration guides to set up your account and user access.

### Doc-Gen Templates
Ensure that the templates published for the object are listed under the Document Generation tab → DocGen Templates. Locate the Template Id for the template you want to use and note it down, as you’ll need it as an input in your flow action.

## Create Custom Metadata Types
To make document generation in Flows more flexible, you first need a way to store and reference your template details. Custom Metadata Types provide a structured place in Salesforce to keep this information, so flows can dynamically fetch the right templates instead of relying on hardcoded values.
Define the following fields in your Custom Metadata Type to capture key template information:
- Template Name
- Object
- Template Id
- Type

You can copy the Template Id from the Doc-Gen Templates tab (of the CloudFiles app) and configure metadata types. The Type field is used to store the file extension (pdf, docx, xlsx). This value will be passed into the flow action to define the output document type, ensuring that the generated file matches the required format.

## Building the Flow
To generate documents dynamically, we use a Screen Flow in Salesforce. The flow allows user select the template(s) in the screen.
- Navigate to Setup → Flows in Salesforce.
- Click New Flow → Select Screen Flow.

### 1 - Create a 'recordId' input
Create a recordId variable to capture the Salesforce record ID (Order record) from which the flow is launched. Set its data type to Text and mark it as Available for input so the record ID is automatically passed when the flow runs from a record page.

### 2 - Add a 'Decision' element
Add a Decision element to check the object type before continuing in the flow.
In this example, configure the condition to check for the Order object using the first 3 digits of the recordId. This ensures that only logic related to Purchase Orders is processed in this branch of the flow.

> For other objects (like Account or Contract), you can add additional outcomes to handle their templates separately.
### 3 - Add a 'Get Records' element
Add a Get Records element to fetch available templates stored in Custom Metadata Types, filtered by object type. This ensures only the relevant templates are fetched for display on the screen.

### 4 - Include 'Screen'
Include a Screen element to present the fetched templates to users and the destination selection for storing the file.
Add a Data Table
Add a Data Table component to the screen, so users can view and select one or more templates.
- Source Collection → Set the Data Table’s Source Collection to the output of your Get Records element {Get_Templates}. This ensures the table is populated with templates retrieved from Salesforce.
- Columns → Add relevant fields such as Template Name to clearly identify templates.
- Row Selection Mode -> Set to Multiple

Add Radio Buttons
Add Radio Buttons to allow users to choose the destination where the generated document should be stored.

- Options → Provide values such as:
- Salesforce → Store the document in the Notes & Attachments section of the related record.
- SharePoint / Google Drive → Store the document in an external storage system.

Loop the templates
Loop the Selected Templates of the Data Table.

Create both individual and collection Apex-Defined Variables of the class cldfs__GenerateDocumentFlowInput inside the flow.

For each selected template, populate the required configuration values such as templateId, recordId, and documentType using an Assignment element within the current loop iteration.

### 5 - Add Destination
Include a Decision element to configure destination parameters based on the user’s selection in the screen.
- Salesforce → Assign values so the generated document is stored in the Notes & Attachments section of the record.
- External Storage (SharePoint, Google Drive, etc.) → Assign the corresponding library, driveId, and folder Id parameters.

Use Assignment elements for each outcome to map the correct destination details. Refer to the Destination section in Generate Document for more details.
Assign library, id, driveId parameters for external storage:

Add the single variable {!DocGenInput} to collection variable {!DocGenInputCollection}

### 6 - Add the 'Generate Document' Action
Finally, add the Generate Document (Batch) action to your flow. Pass the collection variable {!DocGenInputCollection} into the Inputs parameter.

This allows Salesforce to generate documents for all selected templates in one go. The action ensures that each template, along with its recordId, type, and destination, is processed together.
## Test the Setup
Save and activate the flow.
> **Add Flow to Record Page** — Add Flow to Record PageTo allow users to generate documents directly from a record page, add the flow as a component:Navigate to the Object Manager in Salesforce Setup.Select the Order object.Go to Lightning Record Pages → Edit the desired page.Drag the Flow component onto the page layout.In the properties panel, select your newly activated flow.Save and Activate the page.Users will now see a flow section on the record page to generate documents by selecting templates and destination.
Once the flow is added to the Order record page, it will now display the screen with available templates.
- Select the required templates
- Choose a destination (Salesforce)
- Run the flow

The generated document(s) will then be saved in the order's Notes & Attachments.

Output Parameters
Asynchronous Document Generation: Each document generation request (individual input) publishes a Document Generated event upon successful processing. Use these events to trigger downstream automations or flows, such as notifications or additional processing.
> Adapting the Flow for Other Objects:This flow can also be adapted for other records by configuring Step 3 – Add a Decision element. Update the Decision outcomes to match the specific object (similar to how it was done for Order), ensuring that each object routes to its relevant set of templates.
---
# Generate a Document via Permissioned Templates
https://help.cloudfiles.io/salesforce/generate-a-document-via-permissioned-templates
# Generate a Document via Permissioned Templates
Learn how to build a Salesforce Screen Flow that shows a CloudFiles DocGen template only to users who hold a matching Custom Permission, so restricted templates stay invisible to everyone else.
> Kind: Tutorial · Updated: Aug 5, 2026
In this tutorial you will build a Salesforce Screen Flow that shows a CloudFiles DocGen template only to the people who are allowed to use it. Every other user simply never sees that template in the list.
This tutorial adds a permission layer on top of the flow: each template is registered as a Salesforce record, optionally tagged with a Custom Permission, and the flow filters the list against the running user's permissions before the screen is ever rendered.
## What to Expect
By the end of this tutorial you will know how to:
- Register your CloudFiles DocGen templates in Salesforce so a flow can read them.
- Gate an individual template behind a Custom Permission.
- Grant that permission to a specific group of users with a Permission Set.
- Show only the permitted templates in a screen flow, and generate the selected documents onto the record.
## Tutorial Video
Refer to the video below for a visual walkthrough of this tutorial. Read on if you prefer the written steps.
> Video will be added soon
## Prerequisites
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation and Configuration guides to set up your account and user access.

### Doc-Gen Templates
Ensure that at least two published templates for the same object are listed under the Document Generation tab → DocGen Templates — this tutorial needs two so it can demonstrate hiding one template behind permissions while showing the other. Locate the Template Id for each template and note it down, as you’ll need it when registering templates in Step 5.

You should also be comfortable working with Salesforce Flow Builder, Custom Permissions, and Permission Sets, since this tutorial builds directly on all three, and have System Administrator (or equivalent) access to create custom objects, custom permissions, and permission sets in your org.
## How the Permissioning Works
There are three moving parts, and it helps to understand them before you start clicking:
- A custom object called DocGen Template Access acts as a template registry. One record = one template. A text field on that record, Required Custom Permission, holds the API name of the permission a user must have to see it. Leave it blank and the template is public to everyone.
- A Custom Permission (in this example See Order Templates) is the switch itself. It carries no access on its own; it is just a flag that the flow can test.
- A Permission Set enables that custom permission and is assigned to the users who are allowed to see the restricted templates.
At runtime the flow reads all templates for the object, loops over them, and keeps a template only if it is public, or if the running user holds the permission the template asks for. Everything that fails the test is dropped before the screen is built, so a non-permissioned user does not get an error - the row simply is not there.
The permission gate is the Can See Template decision inside the first loop, and the generation logic for each selected template runs right after it. You will see the complete flow diagrammed as you build it in Step 6 - Build the Screen Flow below.
## Step 1 - Create the DocGen Template Access Custom Object
This object is the template registry the flow reads from. Go to Setup - Object Manager - Create - Custom Object and create an object with the label DocGen Template Access (API name DocGen_Template_Access__c). Keep the standard Name field but relabel it to Template Name, and allow reports so the registry can be audited later.
Then add the following custom fields:
- Template Name (Name, Text 80) - the friendly label the user sees in the flow's data table.
- Template Id (Template_Id__c, Text 36) - the CloudFiles template id that is passed into the Generate Document action.
- Source Object (Source_Object__c, Text 80) - which object the template belongs to, for example Order. The flow filters on this so a user is never offered an Account template on an Order.
- Output Type (Output_Type__c, Picklist) - pdf, docx, xlsx, pptx. This is passed to the action as the Document Type.
- Required Custom Permission (Required_Custom_Permission__c, Text 100) - the API name of the custom permission a user must hold to see this template. Leave it empty to make the template visible to everyone.

> A custom object is used here rather than Custom Metadata Types on purpose. Records can be created and edited by an admin in the UI without a deployment, they can be reported on, and - most importantly for this tutorial - the registry itself can be secured with normal object and field permissions.
## Step 2 - Configure the Page Layout
Whoever maintains the registry needs to see the permission field right next to the template id, otherwise it is very easy to add a restricted template and forget to tag it. Open Setup - Object Manager - DocGen Template Access - Page Layouts - DocGen Template Access Layout and drag all five fields into the Information section in this order: Template Name, Template Id, Source Object, Output Type, Required Custom Permission, with Owner on the right.

## Step 3 - Create the Custom Permission
The custom permission is the switch the flow tests. Go to Setup - Custom Permissions - New and create:
- Label: See Order Templates
- Name: See_Order_Templates
- Description: Gates visibility of restricted CloudFiles DocGen templates for the Order object in the DocGen screen flow.
The Name is the value you will type into Required Custom Permission on a template record, and it is also the value the flow compares against. The two must match exactly, including underscores and capitalisation. Create one custom permission per group of templates you want to control - for example See_Order_Templates for order paperwork and See_Legal_Templates for legal riders.

## Step 4 - Create the Permission Set and Assign It
A custom permission does nothing until it is granted. Go to Setup - Permission Sets - New and create a permission set, for example DocGen - Restricted Order Templates, with no license. Then:
- Open the permission set and choose Custom Permissions - Edit.
- Move See Order Templates from Available Custom Permissions to Enabled Custom Permissions and Save.
- Still inside the permission set, open Object Settings - DocGen Template Access and give Read access to the object and to all five fields. Without this the flow's Get Records returns nothing and every template disappears, permissioned or not.
- Go back to the permission set and choose Manage Assignments - Add Assignment, then tick only the users who are allowed to see the restricted templates.
Anyone you do not assign keeps working exactly as before; they just never see the restricted rows. This is the whole point of the design - visibility is controlled by assignment, not by editing the flow.
## Step 5 - Register Your Templates
Create one DocGen Template Access record per template. Copy the Template Id from the CloudFiles app under Document Generation - DocGen Templates. A typical Order setup looks like this:
- Orders Template - Source Object Order, Output Type pdf, Required Custom Permission left blank. Everybody who can open an Order sees this one.
- Order Discount Addendum - Source Object Order, Output Type pdf, Required Custom Permission See_Order_Templates. Only users assigned the permission set see this one.
Leave Required Custom Permission blank whenever a template is safe for everyone. Filling it in is what makes a template private, so the default behaviour is always the permissive one.
## Step 6 - Build the Screen Flow
Go to Setup - Flows - New Flow and choose Screen Flow. The example flow in this tutorial is called CloudFiles DocGen - Permissioned Templates.
Here is what the finished flow looks like end-to-end - refer back to this diagram as you build each element below:

### 6.1 Create the recordId Input Variable
Create a Text variable named recordId and tick Available for input. The record page will pass the Id of the record the flow was launched from into this variable.

### 6.2 Create the Supporting Resources
Add these resources from the Toolbox before you start wiring elements together:
- AllowedTemplates - a Record collection variable on DocGen Template Access. This is the filtered list that survives the permission check and is the only thing the user ever sees.
- DestinationRes - an Apex-Defined variable of class cldfs__Resource. It tells CloudFiles where to put the generated file.
- ResultText - a Text variable that collects a line per generated document.
- ResultLine - a Text Template used to build each of those lines.

### 6.3 Get Templates (Get Records)
Add a Get Records element named Get Templates on the DocGen Template Access object. Filter where Source Object equals Order, store All records, and let Salesforce automatically store all fields. This is the unfiltered list - it still contains the restricted templates, which is exactly why the next three elements exist.

### 6.4 Loop Templates (Loop)
Add a Loop element named Loop Templates and point its Collection Variable at the output of Get Templates. Direction: first item to last item. The loop lets you evaluate the permission requirement of each template one at a time.

### 6.5 Can See Template (Decision) - the Permission Gate
This is the element that does the actual permissioning. Inside the loop, add a Decision named Can See Template with one outcome called Visible, set Condition Requirements to Custom Condition Logic Is Met, and enter the logic 1 OR (2 AND 3) with these three conditions:
- Current Item from Loop Loop Templates > Required Custom Permission - Is Null - True. The template is public, so everyone keeps it.
- Current Item from Loop Loop Templates > Required Custom Permission - Equals - See_Order_Templates. The template asks for this specific permission.
- Running User's Permission > See_Order_Templates - Equals - True. The person running the flow actually holds it.
Read as a sentence: keep this template if it is public, or if it requires See_Order_Templates and the running user has See_Order_Templates. The Running User's Permission resource is the $Permission global in Flow, and it is evaluated per user at run time, which is why the same active flow behaves differently for two different people. The Default Outcome path is deliberately left empty - a template that fails the test is simply never added to the visible list.
If you add a second custom permission later, add a second outcome to this decision with the same 2 AND 3 shape, or extend the logic to 1 OR (2 AND 3) OR (4 AND 5).

### 6.6 Add To Allowed (Assignment)
On the Visible outcome only, add an Assignment named Add To Allowed that does AllowedTemplates Add Current Item from Loop Loop Templates. When the loop finishes, AllowedTemplates holds exactly the templates this user is entitled to.

### 6.7 Select Templates (Screen with a Data Table)
After the loop, add a Screen named Select Templates and drop a Data Table component on it. Configure it as follows:
- API Name TemplateTable, Label Available Templates.
- Source Collection: AllowedTemplates - not the Get Templates output. This single setting is what makes the screen show the filtered list.
- Columns: Template Name and Output Type.
- Row Selection Mode: Multiple, with Minimum Selection 1 so the user cannot click Next without picking something.

### 6.8 Loop Selected
Everything up to this point was about deciding what the user is allowed to see. From here on the flow simply acts on what they actually chose. Add a second Loop element named Loop Selected and point its Collection Variable at Select_Templates > Available Templates > Selected Rows, iterating first item to last item. Because the Data Table could only ever offer the templates in AllowedTemplates, this loop can never process a template the running user was not entitled to.

### 6.9 Set Destination
Inside the loop, the first thing to do is tell CloudFiles where the finished document should land. Create an Apex-Defined variable called DestinationRes of type cldfs__Resource, then add an Assignment named Set Destination with two lines: DestinationRes > library Equals salesforce, and DestinationRes > id Equals recordId. That combination means "attach the generated file to the Salesforce record the flow was launched from". If you would rather push documents to SharePoint, Google Drive, Box or Dropbox, this is the only element you need to change - set library to that provider and id to the target folder.

### 6.10 Generate Doc (CloudFiles Apex Action)
Still inside Loop Selected, add an Action element and search for CloudFiles: Generate Document (Sync). Name it Generate Doc. The synchronous version is the right choice here because the flow needs the result back before it can show the confirmation screen. Set the inputs like this:
- Destination: DestinationRes, the Apex-defined variable you just populated.
- Document Type (docx / pptx / pdf): Loop Selected > Output Type, so each template renders in whatever format was registered against it.
- Record ID: recordId, the record supplying the merge data.
- Template: Loop Selected > Template Id, the CloudFiles template ID stored on the registry record.
Leave CloudFiles Variables and Parameters empty unless your template needs extra merge inputs. Under View Output Resources you get Content Version Id, Document, Document Name, Download Url and Preview Url back automatically - the tutorial uses Preview Url on the final screen, but Download Url and Content Version Id are equally useful if you want to email the file or link to it elsewhere. See Generate Document (Sync) for the full parameter reference.

### 6.11 Append Result and the ResultLine Text Template
The last element inside the loop builds up a human-readable summary. First create a Text Template resource named ResultLine whose body reads: {!Loop_Selected.Name} ({!Loop_Selected.Output_Type__c}) - Preview: {!Generate_Doc.previewUrl}. Then add an Assignment named Append Result that does ResultText Add ResultLine. Because ResultText is a plain Text variable and the operator is Add rather than Equals, each pass of the loop appends one more line instead of overwriting the previous one.

And the Append Result assignment itself:

### 6.12 Results Screen
On the After Last path of Loop Selected, add a final Screen named Results with a single Display Text component. Its body is simply: Documents generated and attached to this record: {!ResultText}. The user gets one line per document with a clickable preview link, and the files are already sitting on the record. Connect this screen to the End element and the flow is complete.

### 6.13 Save and Activate
Save the flow, give it a meaningful label such as CloudFiles DocGen - Permissioned Templates, and click Activate. A flow that is only saved as a draft will not appear on a record page, so activation is required before the next step will work.
## Step 7 - Add the Flow to the Order Record Page
Go to Setup > Object Manager > Order > Lightning Record Pages, open your Order Record Page and click Edit. Drag a Flow component onto the region where you want the launcher to sit - in this build it lives in the right-hand sidebar under Activity. Then set its properties:
- Flow: CloudFiles DocGen - Permissioned Templates
- Layout: One Column
- Pass record ID into this variable: tick this box next to recordId so the field shows {!Record.Id}
That checkbox is what feeds the current Order into the flow's recordId variable, which in turn drives both the merge data and the attachment destination. Save the page and activate it as the org default (or as an app/profile-specific assignment) if it is not already.

## Step 8 - Test the Setup
Open any Order record and scroll to the flow component. What you should see is a table listing only the templates that are open to everyone plus any restricted templates your custom permission unlocks. Pick one or more, click Next, and the flow generates each document and attaches it to the record - you will see it appear under Notes & Attachments and in the CloudFiles component.
The real test, though, is the negative one. Log in as (or use Flow Debug's "Run automation as another user" option for) a user who does not have the permission set. Open the same Order and the restricted template should simply not be in the list. There is no greyed-out row, no error message and no "you don't have access" toast - the template is invisible, which is exactly the behaviour we wanted. Then assign that user the permission set, refresh, and watch the extra row appear.

## Output Parameters You Can Reuse
The Generate Doc action hands back five values per document, and any of them can be used later in the flow or passed out to another automation:
- Content Version Id - the Salesforce ContentVersion record for the generated file, handy if you want to relate it, share it or attach it to an email.
- Document - the full CloudFiles document object.
- Document Name - the resolved file name.
- Download Url - a direct download link.
- Preview Url - an in-browser preview link, which is what this tutorial surfaces on the Results screen.
## Adapting the Flow for Other Objects
Nothing in this build is Order-specific except one filter. To reuse the same flow for Quotes, Contracts or a custom object, change the Get Templates filter from Source Object Equals Order to the API name of your object, add the record page component to that object's Lightning page, and register the relevant templates in DocGen Template Access with the matching Source Object value. The custom permission, the decision logic and the generation steps all stay exactly as they are. If you want a single flow to serve every object, you can even replace the hard-coded Order value with a second input variable and set it from the record page.
---
# Generate a document with runtime variables
https://help.cloudfiles.io/salesforce/generate-a-document-with-runtime-variables
# Generate a document with runtime variables
Learn how to generate a Purchase Order document using Screen Flow with runtime variables, combining Salesforce record data with user-entered input via CloudFiles.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, you’ll learn how to generate a Purchase Order document using Screen Flow with runtime variables. The tutorial covers how to create a template with runtime variables and then configure those variables in a Flow so that users can provide input at runtime. This approach allows you to generate dynamic documents that combine Salesforce record data with user-entered information using CloudFiles variables in the Generate Document (Sync) action.
## What to Expect
By the end of this tutorial, you will learn how to:
- Create a template that includes runtime variables.
- Configure a Screen Flow to capture user input for those variables.
- Pass the collected values into the document generation step.
- Generate a final Purchase Order document that merges record details with runtime inputs.
## Tutorial Video
Refer to the quick video if you would like to have a visual guide for this tutorial. Read on if you prefer textual content.
> Video will be added soon
## Prerequisites
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation and Configuration guides to set up your account and user access.

## Template Setup
### 1 - Template with Runtime Variables
The Build a template (Word) tutorial, provides a sample template that uses the Order object along with related items from the OrderItem object.
In this tutorial, we’ll extend that concept by adding Runtime Variable. These variables allow you to capture user input at the time of flow execution and merge it into the document, alongside data coming from Order and OrderItem. This makes it possible to dynamically generate additional content based on values provided at runtime.
We will create runtime variables for the following data types:
- String – To set the Document Title Example: Purchase Order - September 2025
- Double – To pass decimal values such as Discount % Example: Discount: 7.5%
- Date – To pass important dates such as the Payment Due Date Example: Payment Due Date: 15-Sep-2025
- Boolean – To control conditional logic in the template by showing or hiding specific information. Example: Display the text “This is an Enterprise Purchase” only when the checkbox is selected.
- Rich Text Area – To pass formatted text such as Special Instructions Example: Note: Ensure purchase before quarter end.
Steps to Create a Runtime Variable in the Word Template
- Click 'Resources'; the Resource Manager opens up.
- In the 'New Resource' pane, select Resource type from the drop-down as 'Runtime Variable'.
- Enter a Label , and the API Name.
- Assign a Value Type based on your requirement.
### 1 - String
To pass the Document Name, create a runtime variable of type String.

Add the document_name variable under the Document Title action. This ensures the document title is dynamically generated at runtime.

### 2 - Double
To pass the Discount %, create a runtime variable of type Double.

Add the discount into the template using Insert Field action.

### 3 - Date
To pass the Payment Due Date, create a runtime variable of type Date.

Add the payment_due_date into the template using 'Insert Field' action.

### 4 - Boolean
To control conditional logic in the template, create a runtime variable of type Boolean. This allows you to show or hide specific information based on a true/false value.

Conditional Display with Boolean Variable:
- Type the text in your template that you want to display conditionally, for example: “This is an Enterprise Purchase”.
- Select the text and choose Insert Condition from the right-hand panel.
- In the condition settings: Set Field → {!enterprise_purchase} Set Equals → {$GlobalConstant.True}
- Click Insert

### 5 - Rich Text Area
To pass Special Instructions, create a runtime variable of type Rich Text Area. This allows you to include formatted content such as bold text, italic text, bullet points, or even hyperlinks in the generated document.

Add the special_instructions into the template using 'Insert Field' action.

### 2 - Publish Template
Once the template is updated with runtime variables, publish it so that it becomes available for use in document generation.

After publishing, the template will appear under the Document Generation → DocGen Templates tab. Make sure to note the Template Id, as you’ll need it later when configuring the Flow action.

> Runtime variable names (API Name) are case-sensitive and must match exactly when referenced in Screen Flow or CloudFiles assignments. In the upcoming sections, we will look at how to configure runtime variable reference in Flow.
## Building the Flow
To generate documents dynamically, we use a Screen Flow in Salesforce. The flow serves as the bridge between user input and the CloudFiles template. By adding screen elements, we can collect runtime values (like batch number, discount, or payment due date) directly from users at the time the flow runs. These inputs are then mapped to the runtime variables in the template, allowing the generated document to include both Salesforce record data and the additional details provided during execution.
- Navigate to Setup → Flows → New Flow.
- Choose Screen Flow.

### 1 - Create a 'recordId' input
Create a recordId variable to capture the Salesforce record ID (Order record) from which the flow is launched. Set its data type to Text and mark it as Available for input so the record ID is automatically passed when the flow runs from a record page.

### 2 - Include a 'Screen'
Include a Screen element to get input for runtime variables.

Add a 'Text' Input - String
Drag a Text input ito the screen and label it Document Name and set API as varDocumentName. This variable will capture the document name at runtime.

Add a 'Number' Input – Double
Drag a Number input component onto the screen and label it Discount %. Set the API Name as varDiscount. This variable will capture decimal values at runtime.

Add a 'Date' Input – Date
Drag a Date input component onto the screen and label it Payment Due Date. Set the API Name as varPaymentDueDate. This variable will capture date values at runtime.

Add a 'Checkbox' - Boolean
Drag a Checkbox component onto the screen and label it Enterprise Purchase. Set the API Name as varEnterprisePurchase. This variable will capture a true/false value at runtime.

Add a 'Long Text Area' – Rich Text
Drag a Long Text Area component onto the screen and label it Special Instructions. Set the API Name as varSpecialInstructions. This variable will capture formatted text at runtime.

> **Rich Text Input Options** — Rich Text Input OptionsYou can also use any custom screen component to capture rich text input, or pass values from any custom field with rich text format into the runtime variable. These values can then be printed in the generated document while retaining the formatting.
### 3 - Assign CloudFiles Variables
Create CloudFiles Variables
Create variables of data type Apex-Defined, and select the Apex class as 'cldfs_CloudFilesVariable' for each screen input.
We create these variables because the input fields captured in the Screen Flow (Document Name, Batch Number, Discount, etc.) need to be mapped to CloudFiles runtime variables. By assigning these inputs to Apex-defined variables, the values can be passed into the Generate Document (Sync) action.
Create one variable for each input field in your Screen Flow:
- cfVarDocumentName → for Document Name (String)
- cfVarBatchNumber → for Batch Number (Integer)
- cfVarDiscount → for Discount % (Double)
- cfVarPaymentDueDate → for Payment Due Date (Date)
- cfVarSpecialInstructions → for Special Instructions (Rich Text Area)

Assign Values to the CF Variables
The CloudFiles variable has key and valueString as parameters, which must be assigned using the Assignment element in the flow.
- key is the API name of the Runtime Variable as defined in the CloudFiles template.
- valueString is the actual value you want to assign and pass.

Add an Assignment element in your Flow for each input and map as follows:
- cfVarDocumentName.key → document_name
- cfVarDocumentName.valueString → {!varDocumentName}
- cfVarBatchNumber.key → enterprise_purchase
- cfVarBatchNumber.valueString → {!varEnterprisePurchase}
- cfVarDiscount.key → discount
- cfVarDiscount.valueString → {!varDiscount}
- cfVarPaymentDueDate.key → payment_due_date
- cfVarPaymentDueDate.valueString → {!varPaymentDueDate}
- cfVarSpecialInstructions.key → special_instructions
- cfVarSpecialInstructions.valueString → {!varSpecialInstructions}

Create a collection variable of data type Apex-Defined, and select the Apex class as cldfs_CloudFilesVariable. This will be passed as input for Generate Document (Sync) action.

Add all the above variables into this collection.

### 4 - Add Destination
The Generate Document (Sync) flow action requires destination parameters if you want to attach the generated document to a specific Salesforce record or store it in external storage. Let's store the document in the Notes & Attachments section of the Order record. If you don’t define a destination, the generated document will be stored by default in the Salesforce Content Library.
Steps to Configure Destination:
- Create an Apex-Defined Variable of Apex Class cldfs__Resource

- To Save in Order's Notes & Attachments,
- Assign the following fields:
- Library: Set to salesforce.
- Id: Set to the Record Id of the Order record.

> **Save Documents to External Storage** — Save Documents to External StorageTo store documents in external storage such as SharePoint, Google Drive, etc., you need to configure the Library, Drive Id, and Folder Id. Refer to the Destination section in Generate Document (Sync) for more details.
### 5 - Add the Generate Document Action
- In the flow, click + and select Action.
- Search for and choose CloudFiles: Generate Document (Sync).
- Fill in the following input parameters:
Destination
Provide the previously created Destination variable to specify where the generated file will be stored. You can store it either in a Salesforce record or in an external storage location (such as SharePoint or Google Drive). If left blank, the file will be saved to the Salesforce Content Library by default.
Document Type
Select the format for your output file, such as docx or pdf.
- Enter docx for finalized, non-editable documents.
- Enter pdf if the document will need further editing.
Record ID
Pass the {!recordId} from the triggered record. This tells the action which Salesforce record to use as the data source for generating the document.
Template ID
Enter the 24-digit CloudFiles Template ID of a published template. This ensures the correct template is used for document generation, so that the output is formatted and populated as intended.

You can also use the Parameters input to configure additional settings for the document, such as password protection, locking, or printing permissions. To know more, refer to the Parameters section of Generate Document (Sync).
## Test the setup
Save and activate the flow.
> **Add Flow to Record Page** — Add Flow to Record PageTo allow users to generate documents directly from a record page, add the flow component into the record page:Navigate to the Object Manager in Salesforce Setup.Select the Order object.Go to Lightning Record Pages → Edit the desired page.Drag the Flow component onto the page layout.In the properties panel, select your newly activated flow.Save and Activate the page.Users will now see a flow section on the record page to generate documents with instructions.
Once the flow is added to the Order record page, it will now display the screen with inputs for Document Name, Batch Number, Discount, Payment Due Date, Special Instructions.
- Enter the details
- Click 'Next'

The generated document(s) will then be saved in the order's Notes & Attachments. It will display the runtime values entered by the user along with the standard Order details.

Output Parameters
The CloudFiles: Generate Document (Sync) action provides immediate outputs, accessible in the flow’s All Resources. It provides the following output parameters:
- Document – Id, driveId, library, name, path, type
- Content Version ID
- Document Name
- Download URL
- Preview URL
For more details on these parameters, refer to the Output Parameters section of Generate Document (Sync).

---
# Build a PDF template
https://help.cloudfiles.io/salesforce/build-a-pdf-template
# Build a PDF template
Learn how to turn a fillable PDF form into a reusable template for automated document generation in Salesforce by mapping PDF fields to Salesforce data with CloudFiles DocGen.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, you'll learn how to turn a fillable PDF form into a reusable template for automated document generation in Salesforce. By mapping PDF fields to Salesforce data, CloudFiles DocGen ensures that information flows automatically into the right places, eliminating manual entry and reducing errors across all generated documents.
## What to Expect
By the end of this tutorial, you will learn how to:
- Configure a fillable PDF template using actions like Insert Field and Insert Checkbox to map Salesforce data.
- Publish the template for both manual use (from record pages) and automated use (with Salesforce Flows or processes).
## Prerequisites
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation and Configuration guides to set up your account and user access.

### Have a Fillable PDF Form Ready
To build a template in CloudFiles, you'll need a fillable PDF form. A fillable PDF is not just a static document — it's a PDF that has interactive fields such as text boxes and checkboxes layered on top of the form design. These fields can capture or display values, which makes them perfect for mapping to Salesforce data during document generation.
Common examples of fillable PDFs include:
- Government forms (e.g., W-9, I-9, tax forms)
- Application forms (e.g., bank loans, vendor onboarding)
- Standard business contracts with input fields
If your PDF doesn't already contain fillable fields, you can add them using tools like Adobe Acrobat (Prepare Form) or other PDF form editors before uploading it to CloudFiles.
## Building the Template
For this tutorial, we'll use the IRS W-9 form as an example. The W-9 is widely used by businesses to collect tax-related information from vendors or organizations.
We'll connect this form to the Account object in Salesforce, since most of the details required on a W-9, such as Business Name, Address, Tax classification, and EIN are typically stored in Account records along with some custom fields. This makes Accounts the most natural fit for generating W-9s automatically.
### 1 - Upload a Template
Steps to upload a PDF form
Steps to upload a PDF form:
- In Salesforce, open the CloudFiles app and go to the Document Generation tab.
- Click Upload Template and select your IRS W-9 PDF.
- Enter a Template Name (e.g., "W-9 Form – Account").

- Once uploaded, locate it in the list, click the menu icon (⋮), and choose Edit.

- In the side panel, select the Account object and click Set $Record. The PDF will now open in edit mode with Edit, Resources, Preview, and Publish tabs on the right panel, ready for mapping.

### 2 - Insert Text
Use Insert Text to place values from Salesforce fields into text areas of the PDF.
Map "Account Name" to "Name (Line 1)":
- Click the + Insert Text button in the right panel.
- Click the Name (Line 1) field on the PDF, or select it from the field list in the bottom panel.
- In the Insert Field section on the right, choose the field {!$Record.Name} (Account → Name) from the Field API Name dropdown.
- Click Apply.

Map other fields as below:
- Business Name (Custom field) → Business name/disregarded entity (Line 2)
- Billing Street → Address (Line 5)
- Billing City → City (Line 6)

### 3 - Insert Checkbox
Use Insert Checkbox to control checkboxes in the PDF based on Salesforce data.
Map "Account Type = Individual" to "Individual/sole proprietor":
- Click the + Insert Checkbox button in the right panel.
- Click the checkbox for Individual/sole proprietor on the PDF, or select it from the bottom panel.
- In the condition builder on the right:
- Set Field → Account Type ({!$Record.Type}).
- Set Operator → Equals.
- Enter Value → Individual.
- Click Apply to confirm the condition.

Map other fields as below:
- If Account Type = Corporation, tick C corporation.
- If Account Type = Partnership, tick Partnership.

### 4 - Use Resources (Optional)
Sometimes you'll need data beyond the main object (Account). Template - Resources let you pull in values from related records (using a Record Single Variable) or capture user-provided inputs (using a Runtime Variable).
Record Single Variable
A Record Single Variable is used when you need to bring values from a related or different object into your PDF template. Instead of being limited to the fields on the main object (e.g., Account), you can extend the template to include data from related records such as Contacts, Opportunities, or custom objects.
Why use it here?
In the W-9 form, the "Requester's name and address (optional)" field is not typically stored on the Account record. Instead, it may come from a related Contact (e.g., the primary requester). By using a Record Single Variable, you can fetch that Contact's details and map them into the optional field on the PDF.
Steps to Create and Use a Record Single Variable:
- Create the variable
- Go to the Resources tab → + Create New Resource.
- Select Record Single Variable.
- Set the Object as Contact.
- Give it a Label (e.g., Requester).
- Add filter criteria
- Add a condition: Account ID = {!$Record.Account.Id}.
- This links the Contact record to the Account being used.

- Insert the variable
- The variable will now appear under RECORD (SINGLE) VARIABLES in the field selector.

- Map to the PDF
- Click the + Insert Text button, then click the Requester's name and address (optional) field in the PDF.
- In the Field API Name dropdown, choose the variable (e.g., Requester Name).
- Click Apply.

This ensures cross-object data like Contact details can flow into the W-9 even when the template is tied to Accounts. (Refer to Record Single Variable for more detailed steps on mapping.)
Runtime Variable
A Runtime Variable stores a value that can be passed from a Salesforce Flow and generated dynamically during execution using Doc Generation Flow Actions. It acts as a placeholder for data provided by the user at runtime, which can then be mapped to a field in the PDF template through Apex-Defined Variables.
Why use it here?
In the W-9 form, the "Other (see instructions)" checkbox under Tax Classification requires additional clarification text. Since this description varies (e.g., "Foreign partnership" or "Non-profit"), the value can be passed at runtime using a Runtime Variable and then mapped into the PDF field.
Steps to create a Runtime Variable:
- Create the variable
- Go to the Resources tab → + Create New Resource and select Runtime Variable.
- Give it a Label (e.g., Other Clarification).
- Set Value Type as String.

- Insert the variable
- Click + Insert Text, then click the Other (see instructions) text field on the PDF.
- In the Field API Name dropdown, select the runtime variable (e.g., Other Clarification).
- Click Apply.

To pass a value for this Runtime Variable, you need to configure how it will be provided during document generation. This is typically done in a Salesforce Flow by creating an Apex-Defined Variable, where the value can be assigned based on user input. Refer to Runtime Variable for detailed instructions on configuring and mapping runtime variables in Flow.
### 5 - Publish
After mapping:
- Click the Publish tab in the right panel.
- Publish it as a new template (or overwrite an existing one).
- The template will now be available for generating W-9s from Account records and will appear under the Document Generation → DocGen Templates tab.
## Test the setup
Once the template is published, it becomes available for use in two ways:
### 1 - Manual Usage from Widget
The published template will appear in the Document Generation widget on the related Salesforce record (e.g., Account record).
Steps to generate manually:
- Open the related record (e.g., Account: John Doe Consulting).
- In the CloudFiles DocGen widget, locate your published template in the list.
- Click Generate PDF to create the document.

- Once generated, you can:
- Download the document.
- Preview the document inline in Salesforce.
- Copy to Salesforce Files for attaching directly to the record.
- Copy to External Storage for saving the document to a connected CloudFiles library.

This method is useful for one-off requests, such as when a user needs a form generated immediately.

### 2 - Automatic Usage with Flows
Every template in CloudFiles has a unique Template ID. This ID can be used in Salesforce Flow to trigger document generation automatically using Doc Generation Flow Actions.
For example:
- When a new Account record is created, a W-9 can be generated automatically.
- When a record is updated (e.g., stage changes -> “Onboarded” or “Contract Signed”), the related PDF template can be generated in the background.
Refer to Generate a document via automation for automatic document generation with record update.
---
# Merge documents
https://help.cloudfiles.io/salesforce/5nLC-merge-documents
# Merge documents
Learn how to merge multiple files (PDFs, DOCX, images) into a single consolidated PDF using the Merge Documents (Sync) action in a Salesforce Screen Flow.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, you will learn how to merge multiple files into a single PDF using the Merge Documents (Sync) action. This feature allows you to combine various document types such as PDFs, docx, Images (PNG and JPEG) into one consolidated pdf file.
## What to Expect
By following this tutorial, you will learn how to:
- Combine different files into a single merged PDF.
- Configure Salesforce Flow to dynamically collect files and pass them into the Merge Documents (Sync) action.
- Attach the final merged PDF to a Destination
## Prerequisites
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation and Configuration guides to set up your account and user access.

## Building the Flow
In this tutorial, we’ll use the Opportunity object. Imagine a scenario where users upload supporting files such as invoices (PDFs), contracts (DOCX/JPEG), or other documents to an Opportunity record.
We’ll create a flow that can be launched from a button, allowing users to select these files and merge them into a single PDF that can be viewed directly from the Opportunity record.
### 1 - Create Screen Flow
- Go to Setup → Flows in Salesforce and create a new Screen Flow.

- Create a recordId variable to capture the Salesforce record ID (Opportunity record) from which the flow is launched. Set its data type to Text and mark it as Available for input so the record ID is automatically passed when the flow runs from the record page.

### 2 - Collect Content Document Ids
- Add a Get Records element to fetch all ContentDocumentLink records where the Linked Entity Id equals the recordId. This ensures you retrieve all files that have been uploaded to the Opportunity.

- Add a Loop element to iterate over each ContentDocumentLink record fetched in the previous step.

- Create a Variable resource named ContentDocumentIds, set its Data Type to Text, and enable Allow multiple values (collection) so it can store multiple Ids. This variable will hold all the document IDs retrieved from the Opportunity record, allowing them to be used later in the flow for merging.

- Inside the loop, use an Assignment element to add each file’s ContentDocumentId to the ContentDocumentIds collection variable.

### 3 - Get Content Documents
- Add a Get Records element to fetch all ContentDocument records using the ContentDocumentIds.

### 4 - Let Users Select Files
Add a Screen element to choose which files to merge, rather than merging all. This provides flexibility for users to pick specific files.
- Add a Screen element with a Data Table component.
- Set the Source Collection to the list of Content Documents ContentDocumentIds retrieved in the above step.
- Set Row Selection Mode to Multiple so users can pick more than one file.

- Add a Loop element to iterate over the Selected Rows from the Data Table {!SelectDocs.selectedRows}.

To pass documents into the Merge Documents action, you need Apex-defined variables of type cldfs__Resource.
- selectedResourceSingle → Single resource (to configure each resource inside the loop).

- selectedResources → Collection resource (to store all selected documents).

Assign Values in Loop
- Inside the Loop Selected Content Documents, add an Assignment element:
- Set selectedResourceSingle.library = salesforce.
- Set selectedResourceSingle.id = ContentDocumentId ({!Loop_Selected_Content_Documents.Id}).

Add to Collection
- Use another Assignment element to add the selectedResourceSingle into the selectedResources collection.

### 5 - Define Destination
Defining a Destination ensures that the merged document is properly linked and stored in Salesforce. To do this, create Apex-Defined Variable of Apex Class cldfs__Resource and define values such as id, driveId and library according to the storage location.
To Save in Salesforce, add an Assignment element to set the values:
- Destination → id = recordId (ensures the merged file is linked to the current record).
- Destination → library = salesforce (stores the file in the Salesforce library).

> To Store in External Storage:When using CloudFiles with the Document Management & Sharing, assign the Library (external library name), DriveId (ID of the connected drive), and Id (folder or location ID within the drive).
### 6 - Add the 'Merge Documents' Action
The Merge Documents (Sync) action is the final step that combines all the selected files into a single PDF. In this step, you define where the file should be stored (Destination), give it a name, and pass in the list of documents to merge.
Drag in the Merge Documents (Sync) flow action and configure the following input values:
- Destination → Use the Destination variable you created earlier to define where the merged file should be stored (e.g., linked to the current record).
- File Name → Provide a name for the merged output file (e.g., Merged File).
- Resources → Map the selectedResources collection variable, which contains all the documents to merge.

## Test the setup
### 1 - Add the Flow to an Action
To make the flow easily accessible to users, add it as a button on the Opportunity record page:
- Go to Setup → Object Manager → Opportunity → Buttons, Links, and Actions, then create a new Action of type Flow and select the Screen Flow you created.
- Give the action a label, such as Merge Documents, and save it.

- Add the button to the Opportunity Page Layout

Users will now see the Merge Documents button on the Opportunity record, allowing them to select and merge files directly from the record.
> **NOTE** — NOTE: You can repeat the same setup for other Salesforce objects such as Accounts, Cases, or custom objects where users upload files, making the merge functionality available across different processes.
### 2 - Execute the Action
- Go to an Opportunity record.
- Upload files (e.g., invoices, contracts, images) to the record.
- Click the Merge Documents button.

- Select the files you want to merge

- Click Next → wait for the merge to complete.

- The merged PDF will be created and added to the Opportunity record


Output Parameters:
The Merge Documents (Sync) action returns immediate outputs:

- Document - Metadata details of the generated file.
- If saved in Salesforce: includes the file’s Content Document Id and library (salesforce).
- If saved externally: includes metadata (Id, Library, DriveId, Type, Path of the file in external storage.

- Content Version Id
- The Content Version Id of the generated file (when saved in Salesforce).
- Document Name
- The name of the merged file.
- Download URL
- A dynamic link to download the generated file.
- Preview URL
- A dynamic link to preview the file. This can be displayed as a clickable hyperlink in a Screen or embedded in a custom screen component.
---
# Secure PDF
https://help.cloudfiles.io/salesforce/secure-pdf
# Secure PDF
Learn how to secure PDF documents generated via CloudFiles automation in Salesforce by applying printing, locking, password, and retention options through a Screen Flow.
> Kind: Tutorial · Updated: Jul 4, 2026
In this tutorial, you’ll learn how to keep your PDF documents safe and protected. We’ll explore how to apply security options while generating via automation.
You can secure a PDF during generation for the following options:
- Printing – (AllowPdfPrinting)
- Locking the file – (LockPdf)
- Password for edit access – (PdfOwnerPassword)
- Password for viewing – (PdfViewPassword)
- File retention duration at the destination – (Retention)
- Allow filling fields if the generated PDF includes form fields – (AllowFillingPdfFormFields)
## What to Expect
By the end of this tutorial, you’ll be able to:
- Add security options such as passwords, printing, and edit restrictions to generated PDFs.
- Control how long your documents remain accessible to recipients.
## Prerequisites
### Install CloudFiles in Salesforce
CloudFiles is available on the Salesforce AppExchange and can be installed using the standard app installation process. Check out Installation and Configuration guides to set up your account and user access.

## Building the Flow:
Before adding PDF security options, make sure you already have a basic screen flow ready. You can follow the tutorial Generate a document with runtime variables to set up your flow up to the point where a document is generated. This tutorial is based on a Purchase Order (PO) example, where the PO document built using a template based on the Order object and is printed with runtime values entered through a Screen Flow.
Your flow should at least include:
- A Screen where users can enter input values.
- The Generate Document (Sync) action to create the file.

> **Note** — NOTE: You can also create a screen flow without using runtime variables if your template is predefined. In this tutorial, we’ll focus specifically on how to secure generated PDFs using the Generate Document (Sync) action. The Parameters input we’ll use here can also be applied to other document generation actions. For more details, check out Doc Generation Flow Actions.
### 1 - Update Destination
The Retention parameter only works when the generated document is saved to an external destination, such as SharePoint, OneDrive, CloudFiles, etc.
To enable this, you’ll need to define the Destination (Apex-Defined variable), including fields like Id, DriveId, and Library that specify where the file should be stored externally.
In this example, we’ll use a folder from SharePoint as the destination.

Make sure to configure the SharePoint folder details properly in your flow for Destination variable, so that the generated Purchase Order (PO) PDF is stored there and the retention settings (like file auto-deletion or expiry) can take effect.

### 2 - Screen for Security Inputs
Add a new screen element in the flow before the document generation step.
This screen will collect user inputs for the following security settings:
- Allow Pdf Printing (TRUE/FALSE) – permits or restricts printing.
- Lock Pdf (TRUE/FALSE) – locks PDF from edits.
- Pdf Owner Password – owner password to restrict editing access.
- Pdf View Password – view password to restrict viewing access.
- Retention – retention duration in minutes for how long the file remains at the external destination.
Drag Checkboxes for booleans and Text input for passwords into the screen.

### 3 - Assign Security Parameters
Now, create an Apex-defined variable of type cldfs__DocGenParams to hold the inputs.

Add an Assignment element that assigns the values from the screen to this variable. This ensures all user-entered values are passed into the variable.
Eg:
- Parameter.AllowPdfPrinting = {!Screen.AllowPdfPrinting}
- Parameter.PdfOwnerPassword = {!Screen.PdfOwnerPassword}

### 4 - Update Flow Action
Edit the Generate Document (Sync) flow action. For the Parameters field, select and map the Apex variable you created earlier.

## Test the setup
### 1 - Activate the Flow
After saving all your changes, activate the flow to make it available for use.

> **Add the Flow to the Record Page** — Add the Flow to the Record PageEnsure the flow is added to the Order record page and attach the folder from the drive where the generated document will be stored to the record's CloudFiles widget.
### 2 - Execute the Flow
- Navigate to the Order record you want to print the Purchase Order (PO) for and enter the inputs.

- In the flow’s security input screen, provide values for your PDF restrictions:
- Example: Set AllowPdfPrinting = TRUE, enter a View Password, and define Retention = 3 minutes.

- Once the flow completes, locate the generated file in the destination folder (e.g., SharePoint, OneDrive)

- Open the PDF and verify that:
- Printing is enabled if AllowPdfPrinting = TRUE.
- The file requires the set password(s) for viewing or editing.


- Check whether the file remains available only for the specified duration. For example, if Retention = 3, confirm that the file is automatically removed after 3 minutes.

---
## Salesforce: Document AI
---
# Document AI
https://help.cloudfiles.io/salesforce/document-ai
# Document AI
Step-by-step guidance for installing, configuring, and using CloudFiles Document AI within your Salesforce org. CloudFiles Document AI uses NLP and AI-powered OCR to extract key information from documents, including handwritten text and images.
> Kind: Guide · Updated: Jul 9, 2026
This guide provides step-by-step instructions for installing, configuring, and using CloudFiles Document AI within your Salesforce org. Whether you're setting it up for the first time or optimizing your document processing workflows, this documentation covers everything you need. CloudFiles Document AI uses NLP and AI-powered OCR to extract key information from documents, including handwritten text and images, enabling intelligent data extraction, automation, and integration with Salesforce for efficient document management.
Get started with these key sections:
- Installation: How to set up CloudFiles Document AI in your Salesforce instance — installing the package from the Salesforce AppExchange, understanding the included components, and reviewing the technical requirements for compatibility.
- Configuration: A step-by-step process for setting up and integrating CloudFiles with Salesforce — connecting your Salesforce org, verifying account status, uploading documents, extracting insights using the AI Playground, monitoring usage trends, and managing user access and licenses.
- Features: The different types of AI agents available in CloudFiles Document AI and how each can be used — from querying and analyzing documents to processing and organizing large files.
---
# Installation (Document AI)
https://help.cloudfiles.io/salesforce/rFxC-installation
# Installation
The Installation section guides you through setting up CloudFiles Document AI in your Salesforce org for AI-powered document processing.
> Kind: Guide · Updated: Jul 4, 2026
The Installation section guides you through setting up CloudFiles Document AI in your Salesforce org for AI-powered document processing. It includes OCR for text extraction, automated data extraction, and document classification to streamline workflows and reduce manual effort.
This section is divided into two key sub-sections -
1. **Installing from the Salesforce AppExchange** — The CloudFiles managed package is available on the Salesforce AppExchange. This subsection covers:Pre-requisites – System Administrator access is required.Step-by-step installation guide – Instructions for finding CloudFiles on AppExchange and approving third-party access.Post-installation steps – Configure your CloudFiles account.
2. **What's In the Package** — Installing CloudFiles provides access to tools and features for AI-powered document processing. This subsection covers:CloudFiles Lightning App – Available in Salesforce’s App Launcher.Custom Permissions – Manage user access with predefined roles .Flow Actions & Components – Automate document processes using Salesforce Flows, CloudFiles Flow Actions and Platform Events.Apex Support – Extend functionality with custom Apex code.Note If you're on a paid plan, reach out to the CloudFiles support team for further assistance, at - support@cloudfiles.io
---
# Installing from the Salesforce AppExchange (Salesforce: Document AI)
https://help.cloudfiles.io/salesforce/installing-from-the-salesforce-appexchange
# Installing from the Salesforce AppExchange
CloudFiles Document AI is available to install from the Salesforce AppExchange.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles Document AI | OCR, Text Extraction, Classification is available to install from the Salesforce AppExchange.

> **Prerequisite** — You must have System Administrator credentials to install an application from the AppExchange.
## Installation Steps
- Go to the CloudFiles Document AI | OCR, Text Extraction, Classification listing on the Salesforce App Exchange, and click on "Get It Now".

- Log in to the AppExchange.
- Specify where you want to install
- Click Install in production to install in your production instance.Click Install in sandbox to install in a sandbox.

- Confirm the Installation Details
- Check "I have read and agree to terms and conditions"Click "Confirm and Install"

- This redirects you to Salesforce login page to continue the installation.
- Choose who to install CloudFiles for, Select "Install for Admins Only".

- Don't worry, all your users will be able to access CloudFiles. We select this option to better control the permissions for all users.
- Approve Third-Party Access
- Check "Yes, grant access to these third-party websites"Click "Continue"

- Read Why are various third party accesses asked during installation for information.
- The App may sometimes take long time to install, click "Done". You will recieve an email after the installation is completed.

> **Post Installation** — After installing, you must finish the steps listed in Configuration based on your business use case.
---
# What's In the Package
https://help.cloudfiles.io/salesforce/8Dl7-whats-in-the-package
# What's In the Package
Overview of what's included in the CloudFiles Document AI managed package for Salesforce: the Lightning Experience app, permission sets, Flow Actions and Screen Flow Components, platform events, and Apex extensibility.
> Kind: Guide · Updated: Jul 4, 2026
Installing the CloudFiles Document AI | OCR, Text Extraction, Classification managed package enables AI-driven document processing within Salesforce. The package includes tools for OCR, text extraction, and document classification to streamline data management and automation.
## CloudFiles Lightning Experience App
The CloudFiles app is accessible via the App Launcher in Lightning Experience. This app enhances productivity by allowing users to seamlessly switch between apps and includes all admin related pages.

The Lightning app includes Lightning page tabs of utilities like "Home", "Document AI", and "Settings". You can even append other navigation items to the Lightning app that you find relevant.

Manage the App: Edit and configure the app in App Manager under Lightning Experience Setup.

## Lightning Web Component (LWC)
The CloudFiles Doc-Gen widget is a Lightning Web Component that integrates into any Salesforce standard or custom Lightning page. It allows users to attach and utilize multiple Doc Gen templates to generate various documents in .docx and .pdf format directly from Salesforce records, enabling template-based document creation.

## Microsoft Add-Ins
The CloudFiles Add-in integrates with Microsoft Word, Excel, and PowerPoint, enabling users to create and manage templates across various document types. With dynamic fields, templates automatically populate with Salesforce data. Users can efficiently design and generate documents directly within their preferred Microsoft Office applications.

## CloudFiles Permission Sets
The CloudFiles app includes default permissions to manage access to its features. The Super Admin permission grants access to advanced features, including the AI Playground.
## Flow Actions and Components
The package includes CloudFiles Flow Actions and Screen Flow Components, enabling Process automation through Flow Builder and Dynamic user interfaces with Screen Flows.

> File types supported by AI Flow Actions include:PDF .pdfImages (JPEG, PNG etc.) .jpeg .pngCSV .csvTXT .txtJSON .json
## CloudFiles Events
CloudFiles supports event-driven automation with:
- Platform Events: Trigger events for operations related to CloudFiles functionality.
- Event Records: Automatically create custom "CloudFiles Event" records, which can be leveraged in workflows and triggers.
## Apex
Extend CloudFiles functionalities using Apex to build advanced, custom integrations for your Salesforce org.
---
# Configuration (Document AI)
https://help.cloudfiles.io/salesforce/AMNh-configuration
# Configuration
Landing page for CloudFiles Document AI setup in Salesforce: AI Playground, account setup, Document Mapper, Datasets, Settings, Usage, and User Management.
> Kind: Guide · Updated: Jul 4, 2026
This section is the foundation for using CloudFiles in Salesforce. It guides you through setting up your CloudFiles Account, How to use the AI Playground and much more.
This section is divided into four key sub-sections -
1. **AI Playground** — CloudFiles AI Playground enables users to test and refine AI-powered document queries using natural language. It can extract, classify, validate, summarize, and analyze information from documents containing printed text, handwritten content, and images before incorporating those queries into automated workflows.
2. **CloudFiles Account Setup** — Before you can start using CloudFiles, you need to connect your Salesforce Org with CloudFiles. This section covers:Connecting Your Salesforce Org – Step-by-step process to set up your CloudFiles Account.Verifying Account Status – Confirm your CloudFiles account details and connection status in the Settings tab.Once the account is successfully connected, you can explore CloudFiles features.
3. **Document Mapper Setup** — In this article, we describe how Document Mapper uses a configuration-driven, AI-powered approach to extract data from uploaded documents (such as invoices, purchase orders, agreements, and onboarding forms) and map it into Salesforce record operations. It explains how extracted values are normalized and used to create or update Salesforce records, including support for related (child) record creation from repeating structures like line-item tables, followed by a step-by-step walkthrough of the overall process.
4. **Datasets** — CloudFiles Datasets allow you to combine multiple documents and Salesforce record data into a single AI-ready collection for analysis. Instead of querying documents individually, you can run natural language prompts across the entire dataset to compare documents, summarize information, and uncover insights from related files such as contracts, quotes, binders, and reports.
5. **Settings** — The Settings section provides an overview of CloudFiles Document AI agents, categorized into Query, DirectQuery, and Split types with their supported versions. It helps users understand available agent options and directs them to the Functional Agents article for guidance on choosing the right agent.
6. **Usage** — This guide explains how to track AI processing activity in CloudFiles, including monitoring processed pages, credits, and usage trends over time.
7. **User Management** — Controlling user access and permissions is crucial for maintaining security and efficiency. This section covers:User Permissions – Define and assign roles to control access.License Management – Manage CloudFiles user licenses to ensure only authorized users have access.
---
# AI Playground
https://help.cloudfiles.io/salesforce/ai-playground
# AI Playground
The AI Playground in CloudFiles provides an interactive environment where users can test, refine, and evaluate AI-powered document queries before using them in automation workflows.
> Kind: Guide · Updated: Jul 4, 2026
The AI Playground in CloudFiles provides an interactive environment where users can test, refine, and evaluate AI-powered document queries before using them in automation workflows. Using natural language prompts, users can extract, classify, validate, summarize, and analyze information from documents containing printed text, handwritten content, and images.

The AI Playground supports two types of playgrounds:

1. **File Playground** — The File Playground is used to analyze a single document at a time. It is ideal for use cases where information needs to be extracted, validated, or summarized from one file, such as an invoice, contract, ID card, or report. Users can upload a document, test different prompts, and evaluate how effectively the AI responds to queries on that individual file.
2. **Dataset Playground** — The Dataset Playground is designed for working with a collection of documents grouped together as a dataset. Instead of analyzing files individually, the AI evaluates information across all documents within the dataset at once. This is useful for scenarios where information must be compared, validated, or analyzed across multiple files, such as verifying whether several KYC documents belong to the same person, comparing contracts, or identifying inconsistencies across records. It helps users test prompts that rely on relationships and context between multiple documents rather than a single file.
---
# File Playground
https://help.cloudfiles.io/salesforce/file-playground
# File Playground
The File Playground in CloudFiles lets users upload a single document and test natural language queries to extract, classify, or act on its contents.
> Kind: Guide · Updated: Jul 4, 2026
The File Playground in CloudFiles allows users to interact with a single document using natural language queries. Users can upload files, test different queries, and evaluate their effectiveness in extracting, classifying, or executing the input prompt based on the contents of the uploaded file. It provides a space to experiment with various document processing capabilities.

> Users can upload a single file at a time. Once uploaded, the file is automatically stored as a Content Document within Salesforce for secure management and processing.
> The file types supported in the AI playground include:Documents .pdf, .docxImage (JPEG, PNG etc) .jpeg .png
## Create File Playground
Users can create a File Playground session by navigating to the Playground section, clicking the Create Playground button, and selecting File Playground from the dropdown menu.
After selecting the File Playground option, the Create Playground configuration window appears.

The Create Playground option allows users to configure how a file will be processed before uploading it. Here, you can select a Query Agent (the AI model that will be used to interpret and respond to queries) and optionally specify the Pages to Process. If no pages are specified, the entire document will be processed by default; otherwise, only the selected page numbers or ranges will be used for context.
Once configured, you can upload a file, and CloudFiles will process it with the chosen agent, applying the page-level restrictions you’ve set. This ensures that queries run in the Playground are executed against the right agent and the most relevant parts of the document, giving you more precise and efficient results.
The selected Agent is displayed in the main Playground list once a session is created. This lets users easily compare how different agents respond to the same prompt or document.

## Document Viewer
The Document Viewer allows users to preview, zoom in, scroll, and download the uploaded document for easy reference.

## Query Input
The Query Panel enables users to test the effectiveness of queries by inputting relevant prompts and viewing results with uploaded documents. Using Natural Language Processing (NLP), it extracts specific information from both printed and handwritten text, including text from images.
Users can enter queries in any language, and the system processes them based on different prompt types:
- Classification Prompts – Categorize documents (e.g., "Is this a Passport, Driving License, or neither?").
- Extraction Prompts – Retrieve specific details (e.g., "Extract the passport number.").
- Validation Prompts – Verify extracted data (e.g., "Does this document contain a valid ID number?").
- Decision-Making Prompts – Automate workflow actions (e.g., "Should this document be marked as verified?").
- Summary Prompts – Generate concise summaries (e.g., "Summarize the key details of this contract.").
- Complex Calculation Prompts – Extract data and perform calculations on it (e.g., "Find the invoice date and add 30 days to determine the due date.").
Extracted results are always text-based and must be relevant to the document. If the system is 99% or more confident, it returns the extracted result. Otherwise, for low-confidence or out-of-context queries, it displays NA to ensure accuracy.
## Query History
The Query History section stores and displays previously asked queries along with their extracted answers for quick reference.
> This iterative process of querying with different prompts helps you fine-tune your queries for optimal results before implementing them in your workflows.

---
# Dataset Playground
https://help.cloudfiles.io/salesforce/dataset-playground
# Dataset Playground
A Dataset in CloudFiles Document AI groups multiple documents together so the Dataset Playground can run natural language queries across all of them at once.
> Kind: Guide · Updated: Jul 4, 2026
A Dataset in CloudFiles Document AI is a collection of multiple documents grouped together so they can be analyzed by AI as a single unit. Instead of querying each document individually, datasets allow users to run natural language prompts across all documents in the collection at once.
Datasets are useful when working with related documents such as contracts, quotes, insurance forms, or reports where information may need to be extracted, compared, or summarized across multiple files.
> Before using the Dataset Playground, a dataset must first be created and processed. This involves defining the dataset and uploading the documents that will be included in it. For detailed steps on creating and configuring datasets, refer to the Datasets article.
After the dataset has been processed, you can test and query it using the AI Playground by navigating to the AI Playground tab, clicking on Create Playground, and selecting Dataset Playground from the dropdown. During setup, choose the dataset you want to query, and once the playground session is created, all documents within that dataset are loaded and available for querying.
## Dataset Playground View
The Dataset Playground interface is designed to help users experiment with prompts and observe how the AI interprets information across an entire dataset. It provides a structured environment where users can review documents, test queries, and validate results before implementing them in automation workflows.

The interface includes the following components:
### Files Panel
The Files Panel displays all documents that belong to the selected dataset. These files are the same documents that were uploaded and processed during dataset configuration.
Users can:
- View the complete list of documents included in the dataset
- Select any document to preview its contents
- Switch between documents to better understand the context of the dataset
Although queries run across all documents in the dataset, selecting a specific file allows users to inspect the document content and verify how the AI extracts information from it. This is particularly helpful when refining prompts or troubleshooting unexpected query results.
### Document Viewer
The Document Viewer allows users to preview, zoom in, scroll, and download the uploaded document for easy reference.
### Query Panel
The Query Panel allows users to enter natural language prompts to test queries against the selected dataset. Unlike the File Playground where prompts run on a single document, the Dataset Playground analyzes all documents contained within the dataset and returns results based on the combined information across those files.
Using Natural Language Processing (NLP), the system can interpret prompts and extract relevant information from both printed and handwritten text, including text present in images.
Users can run different types of prompts such as classification, extraction, validation, summarization, decision-making, or calculation queries to analyze the dataset.
The results are returned as text-based outputs derived from the dataset content. If the system determines the answer with high confidence, it returns the extracted result. If the query is unclear, unrelated to the dataset, or the confidence level is low, the system returns NA to ensure accuracy.
### Query History
The Query History section stores and displays previously asked queries along with their extracted answers for quick reference.
## Why Use the Dataset Playground
The Dataset Playground is primarily used to test and refine prompts before using them in automation. It allows users to verify how queries behave across multiple documents and ensure that the extracted information is accurate.
> Here’s your example rewritten in the same format for KYC documents:Upload multiple documents to the Dataset and use the Dataset Playground to run queries across all files in that dataset.For example, you upload a dataset containing multiple KYC documents (such as passports, driver’s licenses, or ID cards) for identity verification.These documents may belong to the same individual or different individuals, and may include variations in name formats, missing fields, or inconsistent details.Ask queries that analyze information across all documents in the dataset, such as verifying whether all documents belong to the same person based on key identity fields like name and date of birth.For example:Query:
Instruction: Verify identity consistency across KYC documents.Task: Review all documents in the dataset and extract the full name and date of birth of the primary individual from each document. Normalize name formats (e.g., "DOE, JOHN" → "John Doe") and compare across all documents. Determine whether all documents belong to the same person. If not, group documents by matching identities.Output:{
"result": "Different Individuals",
"groups": [
{
"name": "John Doe",
"documents": ["Passport", "Driver License"]
},
{
"name": "Andrew Sample",
"documents": ["Driver License"]
}
]
}
Once a query works as expected in the playground, the same prompt can be used in Salesforce automation using CloudFiles Document AI Flow actions such as Query Document/Dataset and Query Document/Dataset (Batch). This enables automated workflows that analyze and extract information from entire document collections.
---
# CloudFiles Account Setup (Salesforce: Document AI)
https://help.cloudfiles.io/salesforce/cloudfiles-account-setup
# CloudFiles Account Setup
Steps to set up a CloudFiles Account in Salesforce after installing the CloudFiles Document AI app from the AppExchange.
> Kind: Guide · Updated: Jul 4, 2026
Once the CloudFiles Document AI | OCR, Text Extraction, Classification is installed succesfully in your Salesforce instance, you will need to setup a CloudFiles Account for the Salesforce Org.
You can setup the CloudFiles app from within Salesforce by following the below steps.
## Click on the App Launcher
- Click on the App Launcher (9 dots icon) on top left of Salesforce and search 'CloudFiles'.

## Home Tab and Data Region Selection
- You will land on the "Home" Tab of the CloudFiles App
- Before connecting your Salesforce org to CloudFiles, select your preferred data region from the dropdown. Your data will be stored in your selected data region's data centers. We currently support the following regions:
- USA (default)
- Australia
- European Union
- United Kingdom
> **Note** — This region selection determines where all your CloudFiles data (accounts, attachments, resource details, etc.) is stored and ensures your data never leaves the selected region for compliance with data residency requirements.

## Connect Your Salesforce Org to CloudFiles
- Once you've selected your region, click on "Setup" button to connect your Salesforce org to CloudFiles.

## Allow Access
- This pops the "Allow Access ?" prompt. Click "Allow".

- This connects your Salesforce Org with CloudFiles.
You can confirm the Account details and connection status in the "Settings" Tab.
---
# Document Mapper Setup
https://help.cloudfiles.io/salesforce/document-mapper-setup
# Document Mapper Setup
A complete, step-by-step reference for building a Document Mapper configuration in Salesforce — creating it and setting its objective, mapping standard, picklist, lookup, and child-relationship fields, testing against sample documents, and reviewing and monitoring runs.
> Kind: Guide · Updated: Sep 1, 2026
This guide is a complete, step-by-step reference for building a Document Mapper configuration in Salesforce. It covers creating the configuration, mapping every type of Salesforce field, resolving lookups and child records, testing against real documents, and monitoring runs. For a conceptual overview of what Document Mapper is and where it fits, see the Document Mapper feature guide.
A configuration is a reusable set of rules that tells Document Mapper what to extract from a document and where to write it in Salesforce. Each saved configuration has a unique Config ID that can be reused across list view buttons, detail page buttons, and the Document Mapper Flow Action.
The workflow has these stages, each detailed below:
- Create the configuration and set its objective.
- Add and map fields.
- Test against sample documents.
- Save to generate the Config ID.
- Attach the configuration to a button or Flow.
- Review and approve runs that are held for review.
- Monitor runs.
## Create the Configuration
In the CloudFiles app, open the Document AI tab and select Document Mapper to see your existing configurations. Select Create New Configuration to open the setup dialog.

In the dialog, provide the following:
- Enter a Configuration Name (required). Choose a name you will recognize later in the list — for example, Vendor Invoice → Account.
- Select the Salesforce Object (required) — the object records will be written to (for example, Account). This choice determines which fields, lookups, and child relationships become available to map, so it cannot be changed casually later.
- Choose the Mapper Objective (required) by selecting one of the two cards:
| Objective | What it does |
|---|---|
| Create a New Record | Extracts and creates a record of the selected Salesforce object from each document. Choose this when every document should produce a fresh record. |
| Update an Existing Record | Matches an existing record of the selected Salesforce object first, then updates its fields and/or creates child records against it. Choose this when documents carry data that belongs on records you already have. |
- (Optional) Enter a Description to note what the configuration is for. This is helpful when several configurations exist for the same object.
- Under When automation runs finish, choose what happens after each production run:
| Option | Behavior |
|---|---|
| Auto approve | The run processes the document end to end — extraction, matching, and record creation — and commits the result to Salesforce automatically when it finishes, logging the run as Approved. No human step. Use once you trust the mapping. |
| Send to review queue | Results are held with status Pending Review; nothing is written until a person approves it. Use while validating, or for high-stakes objects. See Review and Approve Runs below. |
- Select Save & Proceed. The field mapping workspace opens.
This setting is the default for the whole configuration. Independently of it, an individual run can still be routed to review by a fallback — for example, a lookup that finds no match or several matches. Such a run lands in the same review queue even when the configuration is set to Auto approve.
> **Writes respect your Salesforce rules** — When a run commits, it creates and updates records through standard Salesforce DML, so it is subject to the same constraints as any other write. A run can fail if the extracted data violates a validation rule, is missing a required field, uses a value outside a restricted picklist, is blocked by field-level security or sharing, or hits any other DML or trigger error. Failed writes are surfaced on the run record — see Monitor Runs, where you can review the error and Reprocess.
## The Field Mapping Workspace
The workspace has three areas:
| Area | Purpose |
|---|---|
| Mapped Fields (left) | The list of fields you have added, grouped by role |
| Field editor (center) | The settings for whichever field is selected |
| Document preview (right) | Where uploaded test documents appear |

Fields are grouped automatically into three sections in the left rail, each with a live count:
- Main Record — fields written directly to the main record being created or updated.
- Lookups — reference fields that resolve to another Salesforce record, either by matching an existing one or via a flow (see Lookup Fields below).
- Child Relationships — related records created alongside the main record.
Adding a field.
- Select the Add field to map search box at the top of the left rail.
- Type part of the field's name or API name. Matching fields from the selected object appear in the dropdown.
- Select the field. It is added to the appropriate group — Main Record, Lookups, or Child Relationships — automatically, based on its type.
- Select the field in the left rail to open its editor in the center panel.
> **Deleting a field** — To remove any mapped item, select the trash icon on its row: a ✓ (confirm) and ✗ (cancel) appear in its place, and the item is deleted only when you select the ✓. Fields inside a child relationship are deleted a little differently — see Child Relationships below.
Each field row shows the field's label, its API name, and a type badge — TEXT, PICKLIST, CURRENCY, DATE, REFERENCE (lookup), CHILD RELATIONSHIP, and so on. Required fields carry a red asterisk and a red dot; you must map these before the configuration can run. The sections below describe the editor for each field type.
### Mapping Fields
Document Mapper can map any field on the object — Text, Number, Currency, Date, Percent, Checkbox, Email, Phone, Picklist, Lookup, and child relationships. Most fields are mapped the same way, with a single Source Mapping prompt. Three types offer extra configuration and have their own steps below: picklists, lookups, and child relationships. To map a field with a Source Mapping prompt:
- Select the field in the left rail.
- In the Source Mapping box, describe in plain language how the value should be found in the document.
- Move to the next field. The AI extracts the value at run time and formats it to the field's data type automatically.
Guidance for writing a strong source-mapping prompt:
- Name the location or label the value appears under — “the total in the Payment Terms section,” or “the company in the Company Contact Information block.”
- Disambiguate similar values — if a document has more than one date, say “the invoice date, not the due date.”
- Only describe format when it matters — the AI coerces values into the field's type, so you rarely need to specify date formats or currency symbols.
- Leave a field unmapped if you do not want it populated; there is no penalty for mapping only some fields.
### Picklist Fields
A picklist field is constrained to its Salesforce Allowed Values, so the AI can only return one of those valid options.

- Select the picklist field in the left rail. The editor shows a Source Mapping box and the full list of Allowed Values (with a count).
- In Source Mapping, describe where the value comes from in the document, the same as any other field.
- Add a per-value prompt for any value that needs clarification (optional):
- Select a value in the Allowed Values list to expand it.
- In the “Tell the AI when this value should be chosen” box, describe the condition under which that value applies — for example, choose Address only when a full street address is present, or City when only a city is given.
- Repeat for any other values the AI might otherwise confuse.
- Leave values without a prompt if their meaning is already clear from the label. Per-value prompts are optional and only needed for ambiguous options.
### Lookup Fields
A lookup (REFERENCE) field points to another Salesforce record, so mapping it means resolving the document to that record's Id. You choose how the Id is resolved using the three cards at the top of the editor:
- Get Existing — match a record that already exists by describing the match in plain language. If no record matches, the lookup is left unresolved and the document is routed according to your fallback setting; a record is never created.
- Create New — always create a new record from fields extracted off the document, and link the lookup to it. No matching is attempted.
- Call Flow Action — hand resolution to a custom Salesforce Flow, which can find an existing record or create a new one and return its Id.
Do not update if a value is already present appears on all three operations. When it is checked and the lookup on the target record already holds a value, that value is kept and the document does not overwrite it. Use it when documents may be reprocessed and the link written the first time should win.
For a deeper reference on choosing and writing a resolution strategy — the deterministic, fuzzy, context, static, and multi-strategy approaches, with a sample resolution prompt for each — see Lookup Strategy Resolution.
Method 1 — Get Existing. Use Get Existing to find the record with a matching plan you build in plain language. You describe the strategy in the Resolution Chat, and the AI compiles it into a deterministic execution plan — a fixed sequence of steps and queries that runs the same way every time, so results are predictable rather than left to the AI's discretion at run time.

Matching strategies. Three kinds of strategy are available. You can use one on its own or combine them into a chain.
| Strategy | When to use it | How to phrase it |
|---|---|---|
| Exact match | The document carries a reliable, unambiguous key — account number, email, external Id. | Match by Account Number where the value equals the parsed account number. |
| Fuzzy match | The document and record may differ slightly in spelling, spacing, punctuation, or casing (e.g. “Acme Corp.” vs “Acme Corporation”). Each fuzzy step has a confidence threshold (e.g. 85%) — raise it to be stricter, lower it to be more forgiving. | Fuzzy match the parsed company name against the Account Name field at 85% confidence. If more than one account clears the threshold, narrow it down using the Billing City parsed from the document, and if still ambiguous, send to the review queue. |
| Multi-step (chained) | You want to lead with a precise key and fall back to looser matches. Runs strategies in order, falling through only when the current one finds no match. | Try the account number exact match first; if not found, fuzzy match on company name; if still not found, fuzzy match on billing email. |
Building the plan.
- Select the lookup field, then select the Get Existing card.
- In the Resolution Chat, describe how to find the matching record. You can start from one of the suggested patterns shown in the chat and edit it.
- Send the message. The AI replies, may ask a clarifying question (for example, whether to exclude the current record to avoid a parent account matching itself), and generates the Current Plan.
- Review the Current Plan. Each step is numbered and shows exactly what will run:
- the step type (for example, FUZZY MATCH) and, for a fuzzy step, its confidence threshold (for example, 85%);
- a plain-language summary of the step (for example, “Match parent by Account Name”);
- the field-to-value binding (for example, Name ← {company_name});
- the underlying SOQL query it will execute (for example, SELECT Id FROM Account WHERE Name = :company_name);
- what happens next — whether to continue to the next step, and how to handle one match versus several.
A green check on the Current Plan header indicates the plan is complete and valid.
- Refine if needed by typing further instructions in the chat (for example, “raise the threshold to 90%,” “also match on Billing City,” or “exclude the current record”). The plan regenerates with each refinement. To discard everything and begin again, select Start over.
- Set the Fallback Behavior — what happens after the plan runs and the outcome is not a single clean match. The two outcomes are handled differently:
- If no match is found — select the behavior from the dropdown. Send to Review Queue holds the document for a person rather than writing an empty lookup.
- If multiple matches are found — always Send to Review Queue. This is fixed and cannot be changed: an ambiguous match is never written.

Get Existing only matches records that are already in the org. It never creates one, so a document that does not resolve to exactly one record is always routed by one of the two fallbacks above.
Method 2 — Create New. Use Create New when the document should always produce a fresh record for the lookup to point at — no search, no matching plan, no Resolution Chat. This suits documents that routinely introduce records the org does not have yet (a new supplier on every intake form, a new project record per signed order), or staging objects where every document is meant to stand on its own. If existing records should be reused where they exist, use Get Existing instead; if creation needs to happen only under certain conditions, use Call Flow Action.

- Select the lookup field, then select the Create New card.
- Under New Record Fields, configure how each field on the new record should be populated. Required fields on the target object appear automatically and are marked with a red asterisk (for example, Account Name on Account) — the mapping cannot be saved until each one is populated. Use Add a field to map… to include any other fields you want set at creation, such as Billing City or a record type.
- Configure each field as you would on the main record. Each row shows the field label, its API name and type, and the extraction prompt beneath it (for example, Name · TEXT · find name of company); select the row to open and edit it.
- Review If creation fails. Documents whose record cannot be saved are sent to the review queue. This is fixed and cannot be changed, and it applies only when Salesforce itself refuses the save — a validation rule, a missing permission, a duplicate rule.
Create New has no other fallback. Nothing is searched for, so there is no no-match or multiple-match outcome to route; a refused save is the only failure.
Because every document creates a record, the same entity appearing on two documents produces two records. Pair Create New with a Salesforce duplicate rule, or use Get Existing, if that matters for the object.
Method 3 — Call Flow Action. Use Call Flow Action to resolve the record with a custom Salesforce Flow — appropriate when the matching logic is too complex for a query, or should reuse existing automation. Because the flow can contain any logic, it can both search for a record and create one if nothing is found, returning either Id — the “match, then create” behavior that neither Get Existing nor Create New provides on its own.
All resolution logic lives in the flow. Document Mapper does not search, retry, or fall back to another method; it passes the inputs in and uses the Id that comes back.

- Select the lookup field, then select the Call Flow Action card.
- Under Flow, select an autolaunched flow that resolves to a record Id from the dropdown. The flow must be autolaunched and must return a single record Id. Select Open in Flow Builder if you need to inspect or edit the flow in Salesforce.
- Under Inputs to the Flow, each of the flow's input variables appears with its own prompt box. For each input, write a prompt describing what value to pass from the document (for example, for a contactRecord input, “the primary contact named on the order form”).
- Review If flow returns null. When the flow errors out, or runs cleanly but returns no record Id, the document is sent to the review queue. This is fixed and cannot be changed — which is why the flow needs to handle every case it is meant to resolve.
### Child Relationships
A child relationship creates several related records from a single document — for example, multiple line items, partners, or purchase orders tied to one parent. In Salesforce, these are the relationships exposed on the parent object; custom relationship names end in __r.

- Add the child relationship from Add field to map — it appears under the Child Relationships group. Select it to open its editor.
- Under Collection Settings, fill in the Row detection prompt (required). Describe how to identify each row in the document, so the mapper knows where one child record ends and the next begins. Be specific about what marks the start of a row and about not merging or splitting rows — for example: “Detect each invoice line item as a separate row in the line items table. A row begins with an item code or SKU (if present) followed by a description, quantity, unit price, and line amount. Each physical row in the table must produce exactly one detected line item.”
- Under Fields on each row, select Add another field and choose a field of the child object. It is added to the row's field list with its type badge and an expand arrow.
- Select a row field's expand arrow to open its editor. Here you set its Source Mapping (or, for a lookup, its resolution — see below). A breadcrumb (for example, PURCHASE_ORDER__C › ORDER_LINE_ITEMS__C) shows you are editing a field within the child collection; the back arrow returns you to the row's field list.
> **Deleting a field on a row** — Fields under Fields on each row do not have a trash icon on their row — only an expand arrow. To delete one, open it with the expand arrow; its trash icon appears at the top of the field editor. Select it, then confirm with the ✓ (or cancel with the ✗). The child relationship itself is deleted from the Mapped Fields list using the trash icon on its row, with the same ✓ / ✗ confirmation.
- Repeat Steps 3–4 for every field the child records need. Required fields on the child object (marked with a red asterisk) must be mapped, or the row cannot be written.
- If a field on the row is itself a lookup, configure it as described below.

Lookups inside child rows. A child object often points at another record — for example, each order line item references a Product, or each partner references an Account. Document Mapper resolves these row-level lookups once per row: as it detects each row, it runs that row's resolution plan against the values parsed from that row and links the result to the child record it is about to create. Child-collection lookups support Get Existing only — Create New and Call Flow Action are not available inside a child row, and the editor displays this notice at the top of a child-row lookup.
- In Fields on each row, add the lookup field of the child object. It appears as a lookup (LOOKUP / REFERENCE) row with an expand arrow.
- Open it. A breadcrumb at the top shows you are inside the child collection (for example, ACCOUNT › ACCOUNTPARTNER), and a back arrow returns you to the row's field list. Build the match in the Resolution Chat exactly as for a main-record Get Existing lookup: describe the strategy, review the generated Current Plan, and refine as needed. The parsed values the plan references come from the current row (for example, a per-row product_code).
- Set the row-level Fallback Behavior — If no match is found and If multiple matches are found (for example, Send to Review Queue for both).
Two rules apply to child-row lookups:
- Existing records only. As with any lookup, no new record is created to satisfy it. If a row's lookup cannot be resolved, that row is handled according to its fallback setting.
- Independent per row. Each row resolves its own lookup separately, so one document can link twenty line items to twenty different products in a single run.

## Test the Configuration
Test against real documents before saving. Testing runs asynchronously, so you can start a run and return to it later.
- Select Upload Files (in the preview pane, or from the file dropdown at the top right) and choose one or more sample documents. Uploaded files appear in the dropdown and render in the preview pane, where you can page through, zoom, and search.

- Select Run Test. The Select sources step opens.
- Choose which uploaded documents to run on — use Select All, or tick a subset. Testing on fewer documents uses fewer tokens.
- Select Run Test to begin processing. A run can take a little while; you can leave the screen and return — processing continues in the background.

- When the run finishes, review the Test Results, which open with two tabs:
- Record — every mapped field with the value the AI extracted. Expand any field to see the AI's reasoning and a confidence score (for example, 0.98). Fields that could not be populated show a dash.
- Related Objects — each child relationship with the number of rows extracted, expandable into a table of the extracted values.

- Adjust prompts, matching plans, and fallback settings based on the results, then re-run. Repeat until the output is correct. To reopen the most recent result at any time, select Preview Test Run.
## Save the Configuration
Select Save. This generates (or updates) the configuration's Config ID and returns you to the Document Mapper list. Copy the Config ID — you will need it when attaching the configuration to a button or Flow.
## Attach the Configuration
Put the Config ID to work through any of these methods:
| Method | Use it to |
|---|---|
| List View Button | Upload a document and create new records directly from a list view. |
| Detail Page Button | Upload a document against an existing record to update its fields or add related records. |
| Document Mapper Flow Action | Call the configuration from within a Salesforce Flow, passing the Config ID and the source document. |
> **Button setup** — The List View and Detail Page buttons are standard Salesforce custom buttons that open Document Mapper with your Config ID. The exact click-by-click button setup is not shown here yet and will be added in a later update — check your button definitions against your org before rolling out to users.
## Review and Approve Runs
When a run is set to Send to review queue — either because the configuration's default is Send to review queue, or because a fallback routed it there — the run does not write to Salesforce on its own. Instead it is held for a person to check and approve. Both the queue and the approval happen on the CloudFiles DocAI Run object.
> **Adding the DocAI Runs tab** — The CloudFiles DocAI Runs tab is not added to the CloudFiles app by default. To make the review queue easy to reach, an admin can add the object's tab or a related list to the relevant app or record pages — for example, a “Pending Review” list view on a home page — so reviewers can find waiting runs without cluttering the app.
- Open the CloudFiles DocAI Runs tab and find the runs with Status: Pending Review. These are the items waiting on you — filtering the list view by Status is the simplest way to see just the queue.
- Open a pending run. The record shows the run header — Status, Type, Config Id, Config Version, Parent Record Id, and Owner — with the source document rendered on the right for side-by-side checking.

- Check the extracted data:
- The Details tab shows the main-record fields that were extracted.
- The Related tab shows each child relationship with its extracted rows in a table (for example, “Order Line Item (20)”).
- Correct anything that is wrong before approving:
- Edit a cell in place using its edit (pencil) control.
- Use the row dropdown to act on an individual row.
- Select Add Row to add a record the extraction missed.
- Choose an action in the footer:
| Action | Result |
|---|---|
| Save Progress | Save your edits and keep the run in Pending Review to finish later. Nothing is written to Salesforce yet. |
| Reject | Discard the run without writing anything to Salesforce. |
| Approve & Write to Salesforce | Commit the reviewed data. The main record and all related rows are written, the run leaves the queue, and the Document Mapper Run event is published (see Monitor Runs). |
Only Approve & Write to Salesforce writes data; until then the extracted results live only on the run record.
## Monitor Runs
Every execution — in testing or in production — is logged as a CloudFiles DocAI Run record.

- Open the CloudFiles DocAI Runs tab (or the All Runs list view) to see the full, searchable history.
- Open any run to view its Status, Type (Doc Mapper), Config Id, Config Version, Parent Record Id, and Owner.
- If a run shows Failed, open it to read any available error detail.
- Select Reprocess to retry a failed run. Reprocessing creates a new run record rather than overwriting the original, so the history stays intact.

A Document Mapper Run event is published only when a run successfully writes its records to Salesforce — you can subscribe to it for custom post-processing automation. For a run held in the review queue, the event is not published when it enters Pending Review; it fires only after you select Approve & Write to Salesforce and the write succeeds. Runs that are rejected, that fail, or that are still awaiting review do not emit the event.
For a worked end-to-end example, see the Document Mapper Tutorial.
---
# Lookup Strategy Resolution
https://help.cloudfiles.io/salesforce/lookup-strategy-resolution
# Lookup Strategy Resolution
How Document Mapper resolves Salesforce lookup fields — the deterministic, fuzzy, context, static, multi-strategy, and create-new approaches you can define, the use cases each one fits, and the sample resolution prompt or field mapping to enter for each.
> Kind: Guide · Updated: Sep 1, 2026
When a Document Mapper writes to a Salesforce object, any lookup field on that object needs a record to point at. CloudFiles resolves lookups using a resolution strategy that you define once while creating the mapper configuration. The strategy tells CloudFiles how to find the right record: match an identifier from the document, match a name and break ties on a second field, use the record the mapper was launched from, create a new record from the document, or try several approaches in order.
This article explains each strategy, shows the Salesforce use cases each one fits, and gives the sample resolution prompt to enter for each case. Use it when you are configuring a mapper that writes to an object with one or more lookup fields.
For the full configuration workflow this fits into, see Document Mapper Setup.
## How lookup resolution works
Each lookup field on a mapper has an operation, and for Get Existing, a resolution strategy.
The operation controls the outcome:
| Operation | Result | If it does not resolve |
|---|---|---|
| Get Existing | Finds a record that already exists. It never creates one. | No match is handled by the fallback you select. Multiple matches always go to the review queue. |
| Create New | Always creates a new record from values extracted off the document and points the lookup at it. No matching is attempted. | Only a refused save can fail, and it goes to the review queue. |
| Call Flow Action | Runs an autolaunched Flow you have built and uses the record it returns. Because the Flow can hold any logic, it can search first and create only if nothing is found. | A null return goes to the review queue. |
Do not update if a value is already present sits above the resolution strategy and applies to all three operations. When it is checked and the lookup on the target record already holds a value, that value is kept and the document does not overwrite it. Use it when documents may be reprocessed and the link written the first time should win.
For Get Existing, you describe your strategy in the resolution chat. CloudFiles converts your description into a deterministic execution plan and saves it with the mapper. At run time, CloudFiles follows the saved plan step by step. The AI reads the document and extracts values, but it does not decide which record matches. The comparison logic in the plan does that, which is why the same document and the same records always produce the same result.
Open the resolution chat by selecting the lookup field in the mapper's field list, choosing Get Existing, and typing your strategy in the chat box. Until you do, Current Plan reads Not generated yet. The plan appears below the chat and updates as you refine it.
Create New has no resolution chat, because nothing is searched for. Instead you configure the fields the new record is created with — see strategy 6 below.
## Strategy reference
Strategies 1 to 5 are resolution strategies you describe in the resolution chat under Get Existing. Strategy 6 is its own operation, configured with field mappings rather than a prompt.
### 1. Deterministic match
Purpose: Find a record by matching a value from the document against a field that uniquely identifies the record.
When to use it: The document carries an identifier that already exists on your Salesforce records. Tax IDs, customer account numbers, policy numbers, purchase order numbers are all good candidates.
What you need: A field on the target object holding that identifier, ideally marked as External ID and Unique.
Resolution prompt:
```text
Match the 'Tax ID' extracted from the document against Tax_ID__c on Account.
```
Notes: This is the most reliable strategy and should be your first choice whenever the document contains an identifier. Because the match is exact, a formatting difference between the document and the record will cause a miss. If your records store tax IDs with separators and your documents do not, normalize one side before you rely on exact matching.
### 2. Fuzzy match
Purpose: Find a record by matching a name or description that will not be character-for-character identical, then narrow multiple candidates using additional fields.
When to use it: The document has no identifier and the only common value is a company name, person name, or address. Vendor invoices from small suppliers, signed forms, and scanned correspondence usually fall here.
What you need: The name field to match against, a similarity threshold, and at least one disambiguator field that appears both in the document and on the record.
Resolution prompt:
```text
Fuzzy match the parsed 'Company Name' from the document against Account.Name
with a similarity threshold of 85%. If more than one Account matches,
disambiguate using BillingCity and BillingCountry that are present in the document.
```
Notes: Always configure at least one disambiguator. Company names repeat across regions and legal entities, and a name-only match on a large Account table will return several candidates more often than admins expect. Set the threshold based on how clean your source documents are. Start at 85% and lower it only if you see false misses on documents you have inspected.
### 3. Context Reference
Purpose: Point the lookup at a record that CloudFiles already knows about at run time, without searching for it.
When to use it: Two situations, both of which use the same mechanism.
The first is a child record pointing back at its parent. When a mapper creates a parent record and its related child records in the same run, each child's lookup to the parent resolves to the parent created moments earlier in that run. Invoice and Invoice Line Items, Order and Order Products, Claim and Claim Items, all follow this shape.
The second is a record supplied by where the mapper was launched. When a mapper runs from a Salesforce record page, the ID of that page's record is available to the mapper. A lookup can point at it directly.
What you need: For the parent case, a child collection configured on the mapper. For the launch case, the mapper must be launched from a record page whose object type matches the lookup's target object.
Resolution prompt for the parent case:
```text
Use the Invoice record created by this run.
```
Resolution prompt for the launch case:
```text
Use the record from the page the mapper was launched from.
```
Notes: For the launch case, the object type must match. A lookup to Account will not resolve from a Case record page. Configure a fallback so the run does not fail when the mapper is triggered from somewhere else, such as a Flow or the API, where no page record exists.
### 4. Static Reference
Purpose: Point the lookup at the same fixed record on every run.
When to use it: The lookup represents a constant in your process rather than something that varies per document. Common cases include an intake channel record, a processing queue owner, a single legal entity in an org that only operates one, a default price book, or a partner record used for all documents from one source.
What you need: The Salesforce record ID of the target record.
Resolution prompt:
```text
Always use the Intake_Channel__c record with ID a0X5g000004ABcDEA2.
```
Notes: Record IDs differ between sandbox and production. If you deploy mappers across environments, record the ID mapping in your deployment notes and update the strategy after each deployment. Where the constant record can be found by name, prefer a deterministic match on the name field instead, which survives deployment without edits.
### 5. Multi-strategy cascade
Purpose: Try several strategies in a defined order and use the first one that finds a record.
When to use it: Your documents arrive from mixed sources with varying quality. Some carry an identifier, some carry only a name, and some correspond to a customer who is not in Salesforce yet.
What you need: The inputs for each strategy in the chain, ordered from most reliable to least.
Resolution prompt:
```text
First, match the parsed 'Tax ID' from the document against Tax_ID__c on Account.
If no Account is found, fuzzy match the parsed 'Company Name' against
Account.Name at 85% similarity and disambiguate using BillingCity.
If still no Account is found, use the record from the page the mapper
was launched from.
```
Notes: Order matters. Put deterministic steps before fuzzy steps so a clean identifier is never overridden by a name guess. Keep the chain short. Three steps covers almost every real case, and longer chains become hard to reason about when a run produces an unexpected result. A cascade runs entirely within Get Existing, so it cannot end in record creation. If unmatched documents should produce a record rather than wait for review, use Call Flow Action and put the search-then-create sequence in the Flow.
### 6. Create New
Purpose: Create a record from values extracted off the document and point the lookup at it, on every run.
When to use it: The lookup's target record is expected to be new each time, so searching for it is wasted work. Intake forms that introduce a supplier or applicant the org has never seen, staging objects where each document is meant to stand on its own, and per-document records such as a shipment or a submission all fit. If existing records should be reused where they exist, use a Get Existing strategy instead. If creation should happen only when nothing matches, use Call Flow Action.
What you need: Every required field on the target object, with an extraction prompt for each. Required fields appear in the New Record Fields list automatically and are marked with a red asterisk; the mapper cannot be saved until each one is configured.
What you configure: Create New is set up with field mappings rather than a resolution prompt.
- Select the lookup field, then select the Create New card.
- Under New Record Fields, configure each field. Each row shows the field label, its API name and type, and its extraction prompt beneath — for example, Name · TEXT · find name of company for Account Name. Select a row to edit it.
- Use Add a field to map… to populate optional fields at creation as well, such as BillingCity, a record type, or an external ID carried on the document.
- Review If creation fails. Documents whose record cannot be saved are sent to the review queue. This is fixed and cannot be changed, and it applies only when Salesforce itself refuses the save — a validation rule, a missing permission, a duplicate rule.
Notes: Create New has no other fallback. Nothing is searched for, so there is no no-match or multiple-match outcome to route; a refused save is the only failure. The trade-off is duplicates: the same entity appearing on two documents produces two records. Populate an external ID field in the New Record Fields list and back it with a Salesforce duplicate or matching rule if that matters for the object. Fill in more than the required fields where the document supports it — a record created with only a Name is harder to reconcile later than one carrying an address or an identifier.
## Choosing a strategy
Use this table to pick a starting point.
| What the document contains | What you know at run time | Strategy |
|---|---|---|
| A unique identifier that exists on your records | Nothing else needed | Deterministic match |
| A company or person name only | A second field to break ties | Fuzzy match |
| Nothing relevant to this lookup | The mapper creates the parent in the same run | Context reference, parent variant |
| Nothing relevant to this lookup | The mapper runs from the target record's page | Context reference, launch variant |
| Nothing relevant to this lookup | The record is always the same | Static reference |
| Different values depending on the source | Several of the above apply | Multi-strategy cascade |
| The details a new record needs | The record will not already exist | Create New |
| The details a new record needs | It may or may not exist, and creation must be conditional | Call Flow Action |
## Handling ambiguity and failure
Each operation has exactly one way to fail, and every failure ends in the same place.
| Operation | Failure | Configurable |
|---|---|---|
| Get Existing | No record matched | Yes — select the behaviour under If no match is found |
| Get Existing | More than one record matched | No — always sent to the review queue |
| Create New | Salesforce refused the save | No — always sent to the review queue |
| Call Flow Action | The Flow returned no record Id | No — always sent to the review queue |
A run sent to the review queue pauses with status Pending Review. A reviewer opens it, picks the correct record or corrects the extracted value, and completes the run. For a Create New lookup, the reviewer can also pick an existing record instead of creating one.
Because only the no-match case is configurable, the fallback you choose there is the only lever you have on lookup failure. Everything else is decided by the plan, the object's validation rules, or the Flow.
Every run is stored as a record of the CloudFiles_DocAI_Run__c object in Salesforce. Open the Doc AI Runs list view to see all runs alongside their status, the mapper configuration used, and the user who triggered them. Runs waiting on a lookup decision appear there with status Pending Review.
---
# Use Document Mapper Configuration
https://help.cloudfiles.io/salesforce/use-document-mapper-configuration
# Use Document Mapper Configuration
After creating and testing a Document Mapper configuration, you can make it available to users or automations through Salesforce buttons or Salesforce Flow.
> Kind: Guide · Updated: Jul 4, 2026
After creating and testing a Document Mapper configuration, you can make it available to users or automations through Salesforce buttons or Salesforce Flow.
## Use the Configuration in Salesforce Flow
Document Mapper configurations can also be executed from Salesforce Flow using the Document Mapper
Open the Salesforce Flow and add the Document Mapper Flow Action.
Provide the Document Mapper Configuration Id and configure the required file inputs. Save and activate the Flow.
When the Flow runs, Document Mapper processes the document using the selected configuration and returns the extracted values to the Flow. These values can then be used in subsequent Flow elements for automation, record creation, approvals, notifications, or integrations.
> **Find Your Domain** — Before configuring buttons, determine the Visualforce domain used by Document Mapper.Navigate to Setup → Visualforce Pages.Open documentMapperAction.Click Preview.Copy the domain from the URL.The domain will be in the following format:https://yourdomain.vf.force.com
## Setup List View Button To Create Record
To allow users to trigger Document Mapper directly from a Salesforce list view, create a custom List View Button on the object where the action should be available.
- In Salesforce, go to Setup → Object Manager
- Select the target object (for example, the Business Document object)
- Open Buttons, Links, and Actions and create a new button
- Configure it as a List Button
- Set Content Source to URL
- Choose to display it in the existing window (optionally without the sidebar or header, based on your org preference)
- Set the button URL using the following template by replacing with your domain (obtained using the Visualforce Pages method above) and {your_config_id} with the Document Mapper configuration ID:
```text
https://.vf.force.com/apex/documentMapperAction?configId={your_config_id}
```


After saving the button, add it to the list view by editing the Search Layouts section for that object and moving the new button into the list of visible buttons. Once this setup is complete, users will be able to select records from a list view, click the new button, upload their document, and run the Document Mapper process seamlessly—without having to open or understand the backend configuration.

## Setup Record Detail Page Button To Update Record
To allow users to launch Document Mapper from an individual record, create a Detail Page Button on the target object and add it to the page layout.
- Navigate to Buttons, Links, and Actions → New Button or Link on the required object.
- Set Display Type to Detail Page Button and Content Source to URL.
- Paste the Document Mapper URL in the button URL field using the format below (replace {your_config_id} with your configuration ID): https://.vf.force.com/apex/documentMapperAction?configId={your_config_id}&recordId={!Object.Id}
- Click Save.
- Go to Page Layout, and add the button under Salesforce Lightning Experience Actions so it appears on the record detail page.
> **Note** — recordId must be the current record’s Id. Use the object’s merge field in the button URL—e.g., {!Account.Id} for Account, {!Opportunity.Id} for Opportunity, or the corresponding {!ObjectApiName.Id} for custom objects.

---
# Workflows (Configuration)
https://help.cloudfiles.io/docs/dai-workflows-sf/
# Workflows
A workflow is a reusable, ordered sequence of steps that reads a document, checks what it finds against your Salesforce records, decides what to do by rules you write, and writes the result back.
> Kind: Guide · Updated: Sep 4, 2026
A workflow is a reusable, ordered sequence of steps that reads a document, checks what it finds against your Salesforce records, decides what to do by rules you write, and writes the result back. This article covers everything around the steps: creating the workflow, setting its review policy, building the launch form your team fills in, wiring steps to each other, and validating, testing, and publishing. The steps themselves are covered in three companion articles — Read documents (AI), Salesforce, and Logic.
Before you start, confirm your org has a completed CloudFiles connection for Document AI, and that you hold the CloudFiles Standard User or CloudFiles Admin User permission set — either grants the Document AI tab, and there's no separate permission for Workflows, so anyone who can open Document AI can create, publish, run, and approve or reject a workflow.
## Create the Workflow
- Open the CloudFiles app, click the Document AI tab, and choose Workflows from the left navigation.
- Click New workflow. This creates an empty workflow and drops you directly into the builder — a canvas on the left for your settings and step list, and an inspector on the right that appears once you select a step.
- Under Name, give the workflow a short, clear name — up to 80 characters, shown with a live counter. Leaving it blank shows Give this workflow a name and blocks both Publish and Test run later on.
- Optionally, fill in What this workflow does with a sentence or two (up to 400 characters) so teammates know what it's for. This field is for humans only and has no effect on how the workflow runs.
- Choose a Review policy. This controls whether the run stops for a person to approve before it writes to Salesforce, and how often.

| Policy | What happens | When to use it |
|---|---|---|
| Straight through | Runs end to end with no human stop; every write fires automatically. This is the default for a new workflow. | A process you already trust — strict lookups, tolerant data, low blast radius if something's off. |
| Hold before the first write | Pauses before the first Salesforce write and waits for someone to approve. When looping over several items, it holds once per item — approving item 1 never releases item 2 onward unreviewed. | The common middle ground. |
| Approve every write | Pauses before every single Salesforce write, each approved or rejected individually. | High-value or hard-to-undo records, or building confidence in a new workflow. |
A short explanation of whichever option you've picked appears under the selector. You can also force a hold on one specific write later, using Require approval for this write on that step — see Salesforce. That setting can only add a hold; it can never remove one the policy already requires.
Everything you enter from here saves itself into a draft automatically — there's no Save button. Nothing runs a draft except Test run, so you're free to build without it going live by accident.
## The Launch Form
The launch form is what your team fills in — or what a Flow supplies — to start a run, under the heading When this runs, it starts with. It's built from two kinds of input.
### Documents this workflow runs on
Each row is one document slot.
- Click to add a slot.
- Give it a Document name — letters, digits, and underscores only; spaces and dots are stripped as you type. Left blank, slots auto-name themselves document, document_2, and so on. This name is how later steps refer to it.
- Choose How many: One document for a single file, or Several documents (a collection) for related files uploaded together — a collection is what you loop over with a For each step later. A collection slot holds 1–50 files.
- Repeat for each document the workflow needs to read. Use Remove document to delete a slot.
Inline validation catches a blank name (Name this document), an invalid character (Letters, digits, underscore — no spaces or dots), and a name already used by another slot or field.
A workflow doesn't have to read any documents. With zero slots declared, the card reads: "This workflow doesn't read any documents — it runs on the values below. Add a document only if a run needs one."
### Extra values the run needs
Each row is one typed launch-form field.
- Click to add a field.
- Give it a Field name — same character rules as document names; auto-named field_1, field_2 if left blank.
- Set its Type: Text, Number, Date, or Checkbox.
- Toggle Required / Optional. Required means the run cannot start without it. A checkbox is always optional, since it defaults to unchecked.
- Optionally set a Label shown at launch — a friendlier name for the launch screen. Left blank, the field name is auto-formatted for display (orderAmount becomes Order amount).

A typical document-review launch form is one slot plus one field: a document slot set to One document, and a Text field marked Required carrying the Id of the Salesforce record the document belongs to. The document is what the AI steps read; the field is what the first lookup step queries on, which is what ties the uploaded file to the record it's checked against.
> **Removal safety** — If you delete a document slot or a field that a step still refers to, a red panel appears: Remove or repoint these before publishing:, listing each one — for example, "Find the account" still uses the removed field "vendor_name". Publish is blocked until you either restore the field or repoint the step that used it.
> **Record Id is always available** — When a workflow is launched from a Salesforce record — for example, from a Flow — that record's Id is automatically available to every step as Record Id. You can't declare a field or document slot with that name yourself.
## The Step Builder
With the launch form in place, add the steps that do the work.
- With no steps yet, click Add the first step. With steps present, click Add step at the bottom to append one, or the bare + between any two existing steps to insert one there.
- In the Add a step picker, choose from three groups — Read documents (AI), Salesforce, and Logic. The Three Kinds of Step below summarizes what's in each.
- Select the new step's card to configure it in the inspector on the right.
Each card shows the step's display name and, underneath in monospace, its reference name — this is how other steps read its results. Cards also carry:
- Move up, Move down, and Delete step controls on the right.
- A colour bar by category: purple for AI steps, red for Salesforce writes, blue for Salesforce reads, grey for logic.
- A Requires approval badge if that step is set to hold for approval on its own.
- On a Decision step, its route chips — for example branch_1 → sf_update_1 and else → End run.

> **Order is the whole design** — A step can only read values produced by steps above it, so the sequence on the canvas is also the sequence of dependencies. If a step needs a value nothing above it produces, the fix is usually to move the step that produces it higher — not to rewrite the step that needs it.
### What every step's inspector has in common
- An eyebrow reading Step followed by the step's type name, plus a Writes to Salesforce badge where relevant.
- A Step name shown to people field, which relabels the card and its appearance in run history.
- A step-specific Configuration section — this is the part that differs, and it's what each companion article documents.
- An After this step choice: Continue to the next step, End the run, or, inside a loop, Next item (back to loop).
- The Values you can use here reference picker — see Wire Steps Together with References below.
- At the bottom, a red Fix before publishing panel listing anything wrong with that step.
Two settings recur across most steps:
- Value or ref — most fields accept either a fixed value or a reference to an earlier step's output. Insert references by clicking a chip in the reference picker rather than typing them.
- Documents in scope — every AI reading step lets you choose which document slots it reads. Leave everything unchecked to read every document in the run.
## The Three Kinds of Step
The picker groups every step into three categories, and the grouping is how a workflow is built rather than just a menu: AI steps read the document, Salesforce steps read and write your records, and Logic steps decide and repeat.
Most document-review workflows chain all three in the same order — look up the record the document should match, compare the document against it with one AI step per check, decide the single outcome in a Decision step, then write that outcome back. Which is also why step order matters: each stage consumes what the stage above it produced.

### Read documents (AI)
Three steps that look at an uploaded document and turn what's on the page into a value the rest of the workflow can use. All three take a Documents in scope setting, all three report a confidence score, and none of them touch Salesforce.
| Step | What it does |
|---|---|
| Ask the document | Asks a free-form question of a document and captures the answer. |
| Classify | Sorts a document into one of a fixed set of labels you define. |
| Extract fields | Pulls structured, typed fields from a document against a schema you build. |
Reach for Ask the document for a single fact or a verdict, Classify to route on a document's type, and Extract fields for a structured record — including a list of line items to loop over or bulk-create.
> **Read documents (AI)** — Full settings, and the pattern for comparing a document against a Salesforce record, are in Read documents (AI).
### Salesforce
Seven steps: two that find records, four that change them, and one that hands the run over to a Flow of your own. Every write honours the workflow's review policy, with the option to force an extra hold on one specific step.
| Step | What it does |
|---|---|
| Find a Salesforce record | Queries records by conditions, like Flow's Get Records. |
| Search Salesforce records | Fuzzy prefix search over an object, tolerant of near-misses in a name. Optionally lets AI pick the best match. |
| Create Salesforce record | Writes a new record, mapping step values onto object fields. |
| Update Salesforce record | Updates an existing record by id. |
| Delete Salesforce record | Deletes an existing record by id. |
| Create Salesforce records (bulk) | One record per item in a list, as a single bulk write. One approval covers the batch. |
| Run a Salesforce Flow | Invokes an active autolaunched Flow in your org, binding a value into each of its input variables and handing its output variables to later steps. |
The setting that matters most on a lookup is Return fields: it decides which of the matched record's fields later steps can see at all, so it's effectively the list of things your workflow is able to check.
> **Salesforce** — Full settings, the three matching strategies, and how to handle no match or several matches are in Salesforce.
### Logic
Four steps that shape the run itself: which path it takes, what it remembers, and how many times it repeats.
| Step | What it does |
|---|---|
| Decision | Branches on rules you write over values already in the run. No AI at run time. |
| Set a value | Computes or sets a value in the run for later steps to use. |
| For each | Loops over a list, running the steps inside it once per item. |
| Wait | Pauses the run for a fixed duration. |
Decision is the one nearly every workflow needs — it's how separate AI answers become a single outcome. Set a value is for accumulating or normalizing, especially across a loop. For each turns an extracted list into repeated work.
> **Don't add a Wait step in the current release** — It fails at the start of the run. See Logic for the detail.
> **Logic** — Full settings for all four are in Logic.
## Wire Steps Together with References
Every step's inspector ends with the Values you can use here panel — everything the workflow produced before this step, and how you connect steps without hand-typing reference names.
- Click into the field you want to fill — it gets a highlighted border to show it's focused.
- Click a chip in the panel to insert its reference. With nothing focused, clicking a chip copies the reference to your clipboard instead.
- Use Filter values… to narrow a long list.
Chips are grouped in run order, each group header showing a count badge:
| Group | What's in it |
|---|---|
| Global values | Today, Now, True, False. Today and Now resolve when the step runs, in your org's time zone. |
| Trigger | Every launch-form field (as trigger.field_name), every document slot, and the Record Id the run was launched from, if any. |
| Variables | Anything a Set a value step wrote. |
| Loop item | Shown only inside a loop: the current item, its position in the list, and each of its fields. |
| One group per earlier step | Headed by that step's display name and reference name — for example Ask the document ai_query_1. Each row is the full dotted path you'd insert: ai_query_1.answer, ai_query_1.confidence, sf_getRecords_1.record. **Always insert references from this panel rather than typing them** — A hand-typed reference with a typo is stored as literal text instead of a real reference. The step then looks for that literal text, finds nothing, and succeeds — indistinguishable from "there was genuinely no match."
## Validating and Publishing
The workflow re-checks itself as you type, and the header's validation badge shows the result: Checking…, Valid, Has problems, or Not checked.
- If the badge reads Has problems, click it to open Problems to fix, which lists every issue in plain text at once.
- Work through each item until the badge reads Valid.
Before a version can publish, the workflow needs:
- A name.
- A unique reference name on every step, with every route pointing at a real step.
- No step the run could never reach.
- Every Decision to have at least one branch and a no-match route.
- Every reference a step reads to be guaranteed to exist by the time that step runs, on every path that can reach it. A reference produced only on one Decision branch is rejected if a later step could be reached without taking that branch.
- Every document slot and field a step refers to to still exist.
- Every write step to have something to write, and every lookup to have something to look up.
## Test the Workflow
- In the builder header, click Test run. If it's disabled, a tooltip explains why: Name the workflow first → Checking… → Fix the problems first → Save the draft first.
- Provide the documents and values the launch form asks for, exactly as you would for a real run.
- Click Start run and step through the result.
A test run shows the run resolving one step at a time — what each lookup returned, what each AI step answered, which branch matched, and which write fired. When an outcome is wrong, that history is what tells you which step to fix.
> **A test run is a real run** — It reads real documents, it writes real records to Salesforce, and the review gate fires exactly as it will in production. It is labelled Test run · draft of v1 everywhere it appears, but it is not a simulation. If you do not want records created, point the workflow at a sandbox or a throwaway record first.
> **Publishing checks the workflow's structure** — A handful of deeper configuration checks run only when a run first starts, so a workflow can publish and then fail at the very start of its first run with workflow definition failed run-start validation. A Test run before you publish catches this, because it puts the draft through the same run-start checks.
## Publish the Workflow
Once the validation badge reads Valid, click Publish — the button names the version it will create, for example Publish v2. If the draft is identical to what's live, it reads No changes since v1 and is disabled.
The published version is frozen from that point on: publishing v2 never changes v1, and a run already in progress finishes on the version it started on. Publishing consumes the draft — editing again starts a fresh draft on top of the published version, and the workflow list shows an Edited badge until you publish again. Every Flow that calls this workflow automatically picks up the newest published version.

> **If a colleague publishes while you have the workflow open** — Your next publish is refused with Someone else edited this workflow. Your edits aren't lost, but they aren't sitting on top of the newest version — reopen the workflow, re-apply your changes, then publish.
To review or roll back to an earlier version:
- Click More actions → History to see every published version, newest first, with its publish date and run count.
- Click View on any row to open a read-only summary of that version and its full step list.
- Click Restore as draft to copy that version into your current draft to edit and republish. Restoring doesn't itself change what's live.
To discard unpublished work, click More actions → Discard draft. On a workflow that's already published, this reverts to the published version. On a workflow that's never been published, this removes the workflow entirely.
There is no Activate, Deactivate, Clone, or Delete on a published workflow — publishing a new version is how a change goes live, and discarding a draft is the only destructive action.
## Next steps
- Read documents (AI) — Ask the document, Classify, Extract fields.
- Salesforce — finding and matching records, and the five write steps.
- Logic — Decision, Set a value, For each, Wait.
---
# Read documents (AI)
https://help.cloudfiles.io/docs/dai-workflow-steps-read-documents-ai-sf/
# Read documents (AI)
The three workflow steps that look at an uploaded document and turn what's on the page into a value the rest of the workflow can use: Ask the document, Classify, and Extract fields.
> Kind: Guide · Updated: Aug 21, 2026
The Read documents (AI) group holds the three steps that look at an uploaded document and turn what's on the page into a value the rest of the workflow can use. This article covers all three in detail. For creating the workflow, building the launch form, and how steps pass values to each other, see Workflows first.
None of these steps touch Salesforce. They read documents and produce values — which a Decision step branches on, or a Salesforce step writes back.
## Settings all three steps share
Documents in scope. Every step here lets you choose which of the workflow's declared document slots it reads. Leave every box unchecked to read every document in the run — the panel confirms this with "Reading all documents in the run." Check a specific slot when a workflow carries more than one document and this question should only look at one of them. A stale entry left behind by a deleted slot is marked no longer a declared document; if the workflow declares no slots at all, the panel says so and the step reads whatever documents the run happens to carry.
Confidence. Every AI step reports a confidence score between 0 and 1 alongside its answer, available in the reference picker as its own chip (tagged confidence). Extract fields reports one per field and one for the extraction overall.
Full flow context. These steps run with everything the workflow has produced so far available to them, and they aren't subject to Salesforce callout limits. That's what makes it practical to have several of them in a row, each asking one narrow question.
## Ask the document
Ask a free-form question of a document and capture the answer. Runs with full flow context, no callout limits.
Use it for a single fact, or for a verdict you intend to branch on.
- Under Question to ask the document, type your question — placeholder What is the total amount on this invoice?. You can insert references, wrapped in {{double curly braces}}, that get substituted before the question is asked — for example, "is the invoice total greater than the amount on order {{trigger.order_amount}}?"
- Under Documents in scope, choose which uploaded documents this question reads.
Produces: answer and confidence.
Write the question the way you'd brief a colleague — "The invoice total after tax, usually at the bottom of the last page, as a number without a currency symbol" works better than "total."

### Comparing a document against a Salesforce record
> **How the comparison works** — Because the question is assembled from references before it's asked, an Ask the document step is also how you check a document against your data. You put the record's field into the question and tell the AI what answer you want back. The AI reads the document; the Salesforce value arrives as plain text inside the question. Nothing about the record is guessed.
This assumes a Find a Salesforce record or Search Salesforce records step sits above this one and requested the field you want under Return fields — see Salesforce.
- Add the Ask the document step below the lookup, and rename it after the check it performs — one name per thing being verified. The name is what you'll read on the canvas and reference in the Decision step, so a descriptive one pays for itself.
- Click into Question to ask the document, then insert the record's field from Values you can use here — it lands in the question as {{sf_getRecords_1.record. **Example comparison question** — Identify the name of the organization that issued this document. If the name appears only as a code or an abbreviation, expand it to the full name first. Then compare it with {{sf_getRecords_1.record. **Insert record references from the picker, never by typing them** — A hand-typed reference one character off — a single underscore short of the real API name — isn't a reference at all. It's literal text that gets pasted into the question verbatim, and the AI dutifully compares the document against that gibberish and answers No. The step succeeds, the workflow publishes, and every run quietly fails the check. Clicking the chip is the only way to be sure the path is real.
## Classify
Sort a document (or value) into one of a fixed set of labels you define.
Pair it with a Decision step to route the run by document type.
- Under Labels (comma-separated), list at least two labels — placeholder invoice, receipt, contract.
- Under Documents in scope, choose which uploaded documents this step reads.
Produces: category and confidence.

The step is guaranteed to return one of your labels exactly as typed — it cannot invent a new one, which is what makes a category equals comparison in a Decision step safe.
## Extract fields
Pull structured fields from a document against a schema you build — each field typed.
This is the workhorse step: use it when you want a structured record rather than a single answer.
- Under Fields to extract, click to add a row for each field.
- Give it a Field name — the name used to read the value later. value, confidence, data, and fieldConfidence are reserved and can't be reused.
- Set its Type: string, number, integer, boolean, date, datetime, or list of items.
- Optionally fill in a Description telling the AI where to look and what format to expect — for example, "the total after tax, bottom of the last page." This is optional but resolves most ambiguity, so it's worth setting.
- Use Remove to delete a field.
### Lists of items
Choosing list of items opens a nested editor headed "Each item in the list has these fields" — add one row per column, each with its own Item field name, a type (any of the above except list), and an optional "Guide the AI for this item field (optional)" description. You need at least one item field, or you'll see Describe at least one item field.
This nested list is what feeds the two steps that work per-item: a For each loop, or Create Salesforce records (bulk). Both bind it by reference, and a list field's reference is the field name plus .value — a list field named line_items on step ai_extract_1 is ai_extract_1.line_items.value. Insert it by clicking its chip, which carries the list tag; the two steps that accept a list only accept a chip tagged that way.
Nesting is one level deep; a list of lists isn't supported in the builder.

Produces: the value and a per-field confidence score for each declared field, plus one overall confidence for the whole extraction. In the reference picker, each field shows with a chevron (Show confidence) to reveal its score alongside, and a list-of-items field carries the list tag.
> **A field the document doesn't contain comes back blank, and a blank value never clears a Salesforce field** — If an invoice has no PO number, the extraction returns nothing for it, and a later write step simply leaves that Salesforce field untouched rather than emptying it. This is deliberate; there's no way to make a workflow deliberately clear a field.
If a document would return an enormous amount of data (thousands of rows), the step narrows the extraction itself rather than silently truncating it — as a rule, extract the columns you actually need rather than every column on the page.
## Choosing between the three steps
| What you need | Step |
|---|---|
| One fact off the page, or a Yes/No verdict against a Salesforce value | Ask the document |
| To route the run by what kind of document arrived | Classify |
| A structured set of typed fields | Extract fields |
| A repeatable set of rows — line items, charges, entries | Extract fields with a list of items field |
> **Prefer several narrow steps over one broad one** — A step that answers one question produces one value you can branch on, and when it gets something wrong you know exactly which check to fix. A single step asked to verify five things at once gives you one answer and no way to tell which of the five failed.
## Related
- Workflows — creating the workflow, the launch form, references, validating and publishing.
- Salesforce — the lookups that supply the values these steps compare against, and the writes that record the result.
- Logic — the Decision step that turns these answers into an outcome, and the For each loop that consumes an extracted list.
---
# Salesforce
https://help.cloudfiles.io/docs/dai-workflow-steps-salesforce-sf/
# Salesforce
The seven workflow steps that read and write Salesforce records: two that find records, four that change them, one that hands off to a Flow of your own, and the three matching strategies to choose between.
> Kind: Guide · Updated: Sep 4, 2026
The Salesforce group holds seven steps: two that find a record, four that change one, and one that hands the run over to a Flow you built yourself. Together, they're how a workflow turns a document into something Salesforce can act on safely. This article covers all seven in detail. For creating the workflow, building the launch form, and how steps pass values to each other, see Workflows first.
Nothing in this group decides anything on its own judgment: the conditions, field maps and Flows you configure do that. The one exception is the optional Let AI pick the best match mode inside Search Salesforce records.
All five write steps show a Writes to Salesforce badge in the inspector and a red upload icon on the canvas card, and all five pause according to the workflow's Review policy. Each also offers a per-step hold, worded for what it does (Require approval for this write, for this delete, or before running this Flow), which holds that one step for a person even when the workflow otherwise runs straight through. A step carrying it shows a Requires approval badge on its card. That setting can only add a hold; it never removes one the policy already requires.
## Find a Salesforce record
Query records by conditions (like Flow's Get Records).
The exact-match lookup, and the one to reach for first. Fully deterministic: no AI is involved, so the same inputs always find the same record, in the same order, every time.
When to use it: the document carries a clean identifier that exists on your records: an account number, an external ID, an exact name. It's also the right step when the run already knows exactly which record it's about, because a Flow passed the Id in on the launch form.
- Choose a Salesforce object (any object you can read).
- Choose Condition logic: All conditions (AND), Any condition (OR), or Custom logic (reveals a Custom logic box for something like 1 AND (2 OR 3)).
- Click Add condition to add a row: a Field, an operator, and a Value or a ref. The value box hides for the two null operators. You need at least one condition, or you'll see Add at least one condition. To look up the record the run was launched against, set the field to Id, the operator to equals, and the value to the launch-form field carrying that Id, inserted from the reference picker as trigger. **Several matches is not an error in "Only the first record" mode** — The step takes the first row by your sort order when several conditions match, which is why leaving Sort empty makes "the first record" arbitrary. If you need "the right one out of several, judged on context," use Search Salesforce records with Let AI pick the best match instead.
## Search Salesforce records
Fuzzy prefix search over a Salesforce object.
The tolerant lookup. Runs a prefix-based search across an object's name fields (or all searchable text fields), forgiving the small differences that break exact matching: "Acme Corp." on a document against "Acme Corporation" in Salesforce.
When to use it: the document carries a name or label that won't match your records character for character.
- Choose a Salesforce object (any searchable object).
- Under Search term, bind the value to search for (placeholder A value or a ref like ask_the_document_1.answer), normally something an earlier AI step read off the document.
- Under Return fields, add any fields beyond Id you want on each matching record.
- Choose a Search scope: Name fields (default) or All fields.
- Leave Let AI pick the best match off to get the full list of matches back and decide in a later step, or turn it on to have the AI resolve a single record (see below).

How it matches, mechanically: the search term is split on spaces, tokens shorter than two characters are dropped, and each remaining token is matched as a prefix against the search scope.
Produces: a match count and the list of records, at most 20 per object. The list carries the list tag in the picker, so it can feed a For each loop.
> **A blank or too-short search term returns zero matches rather than failing** — Always branch on match count instead of assuming a search hit. A search step "succeeding" with zero results looks identical to one that never had anything to find.
### Let AI pick the best match
The same fuzzy search, with one checkbox turned on and an instruction added. This is the only place in the group where AI decides which record matched.
When to use it: several candidates could plausibly match, and picking the right one depends on judgment a fixed rule can't express.
- Turn on Let AI pick the best match.
- Fill in How should the AI choose? (placeholder e.g. the account whose name best matches {{extractInvoice.vendor}}). Be specific: this is the only guidance the AI has to break a tie.
- Under Documents in scope, choose which documents the AI may read while deciding.

Produces: everything the fuzzy match produces, plus the resolved record, whether it picked one, and its confidence. The AI is allowed to abstain: if it can't confidently choose, it picks nothing and reports that it did not pick, rather than guessing. Branch on picked before assuming there's a record to write to.
> **Choosing a matching strategy** — Which lookup to reach for depends on what the document carries, and on whether you can give the AI an instruction specific enough to break a tie. The table below compares the four routes.
| What the document contains | What you know at run time | Use |
|---|---|---|
| A unique identifier that exists on your records | Nothing else needed | Find a Salesforce record |
| A company or person name only, close but not identical to your records | Nothing else needed; a single top match is good enough to use directly | Search Salesforce records |
| A name that could plausibly match more than one record | An instruction specific enough for the AI to break the tie by | Search Salesforce records + Let AI pick the best match |
| A name that could plausibly match more than one record | Nothing else needed, but you'd rather branch on the result yourself than let AI pick | Search Salesforce records, then a Decision on the returned list |
> **Handling no match and multiple matches** — Both matching steps succeed even when nothing matches: a lookup finding zero records is a valid outcome, not an error, and neither step throws. Always follow a matching step with a Decision step on its match count or outcome, rather than assuming a downstream write step has something valid to act on. A typical pattern:Match count equals 1 (or AI picked equals true) → continue to update the matched record.Match count equals 0 (or the outcome shows no match) → continue to create a new record instead.Match count is greater than 1 and you're not using AI picking → route to a step that flags the run for a person, rather than guessing which one is right.
## Create Salesforce record
Write a new record. Maps step values onto object fields.
- Choose a Salesforce object (placeholder e.g. Contact). Only objects you can create are listed.
- Build the Field map. It starts empty, with nothing but a + Add field link: click it to add a row, then pick a Field and supply a Value or ref for it. You need at least one row that resolves to a value, or the step fails with "no field values resolved."
- Optionally turn on Require approval for this write; its helper text says the write is held for a person to approve even when the workflow otherwise runs straight through.
Produces: the new record's Id and a created flag.

## Update Salesforce record
Update an existing record by id. Maps step values onto object fields.
- Choose a Salesforce object; only updatable objects are listed.
- Under Record to update, bind the target by clicking a ref chip or typing an Id. This is usually the Id from an earlier lookup step (sf_getRecords_1.record.Id), or the record the workflow launched from. Required: Choose the record to update.
- Build the Field map, same as Create. Only fields that resolve to a value are sent, so a blank never clears anything.
- Optionally turn on Require approval for this write.
Produces: the record's Id and an updated flag.

A field map row's value can be a fixed string as easily as a reference, which is what lets each outcome of a Decision have its own write step. An outcome step's map is often just two rows: the status field set to a literal status, and a notes field set to the literal reason. Because the reason is baked into that step rather than computed, a person reading the record later sees exactly which branch the run took.
## Delete Salesforce record
Delete an existing record by id. Irreversible in Salesforce beyond the recycle bin.
- Choose a Salesforce object (placeholder e.g. Contact). Only deletable objects are listed.
- Under Record to delete, bind the target record: the inspector tells you to click a ref chip or type an id, and notes that the record goes to the Salesforce recycle bin. Leave it empty and the red Choose the record to delete. appears immediately.
- Optionally turn on Require approval for this delete; the helper text explains that the delete is held for a person to approve even when the workflow otherwise runs straight through.
There's no field map: a delete only needs a target.
Produces: the record's Id and a deleted flag.

The deleted record lands in the Salesforce recycle bin, so it's recoverable there for as long as your org retains it, but nothing in the workflow can put it back, and once the bin is emptied it's gone. Treat a delete as irreversible when you're deciding whether to force an approval on it.
Two safety checks run automatically: the bound Id has to actually look like a Salesforce record Id (15 or 18 characters), and it has to belong to the object you chose; pointing an Account delete at a Contact Id refuses and deletes nothing. Deleting an already-gone record is treated as a success, since the goal state ("gone") was already true.
## Create Salesforce records (bulk)
One record per item in a list, in a single bulk write. One approval gates the whole batch.
- Choose a Salesforce object (placeholder e.g. OrderItem).
- Under Records source, bind the list you want one record created from each item of; the inspector asks you to click a 'list' chip below, or type a reference. This must reference an actual list, normally a list of items field from an Extract step, whose reference takes the form ai_extract_1.line_items.value (the field name plus .value), which is also the field's placeholder text. The builder shows the item shape when it knows it, for example "Each item has: description, quantity, unit_price."
- Build the Field map: each row's source is either a value from the current item (item.unit_price, inserted via the Item fields chips) or a fixed value or reference applied to every record, for example setting a parent Id on every row.
- Optionally set Max records: labelled Max records (optional), placeholder and default 1000, hard ceiling 2000.
- Optionally turn on Require approval for this write. Note the helper differs from the single-record steps: it says the whole batch is held for a person to approve, and one approval releases all the records.

Warnings catch bad wiring: "The records source must be a reference to a list (not a typed value)." · a warning that "quantity" is a number rather than a list, so the records source must be a list of items · "'Amount' reads item.total, but 'total' isn't a field of the extracted items."
Produces: a list of created record Ids (with a gap where a record failed), a success count, a failure count, and per-row failure reasons.
> **Partial success is a success** — If 48 of 50 line items save and 2 are rejected by Salesforce, the step completes and reports 48 successes and 2 failures with the reason for each. It only fails outright if the list is empty, over the cap, or every single record was rejected. Add a Decision on the failure count if a partial result should change what happens next.
> **Bulk create vs. a loop** — Both can write one record per item. Prefer Create Salesforce records (bulk) when the only thing you do per item is write it: it's a single write, and a single approval. Use a For each loop when each item needs its own reading, checking, or branching before anything is written.
## Run a Salesforce Flow
Invoke an autolaunched Flow in this org. Binds a value into each of the Flow's input variables and hands its output variables to later steps.
When to use it: the logic already exists in a Flow, or the work is something no single step can do. Read the document, find the record, decide, then let your own Flow take the outcome from there.
- Choose a Flow. The picker searches your org and lists only active autolaunched Flows with no trigger, ordered by label, up to 200.
- Fill in Values into the Flow: one row per input variable the Flow declares. Click a reference chip below, or type a value. Each row is headed by the variable's name with its declared type beside it, and reads list where the variable is a collection.
- Tick Required on any row the Flow cannot run without. Salesforce treats every Flow input as optional, so without this the Flow runs with that variable empty and the step reports success, which makes a reference that quietly came back with nothing look exactly like a clean run. Ticking Required fails the step instead when nothing resolves into that row.
- Check Values out of the Flow: the references later steps will use, one per output variable the Flow reports, in the form sf_flow_1.outputValues. **Only autolaunched Flows can be called** — Salesforce allows this for active autolaunched Flows with no trigger, and nothing else. A Screen Flow needs a person in front of it, and a Record-Triggered Flow is fired by Salesforce itself. If the Flow you want is missing from the picker, check in Flow Builder that it is active and that its type is Autolaunched Flow with no trigger.
> **A Flow that pauses fails the step** — A Flow that reaches a Wait element stops half-way and hands back only the variables it set before the wait. Salesforce reports that as a success. The step does not: the rest of the Flow runs later, out of band, with nothing tying it back to this run, so recording it as done would claim an outcome that never happened. Keep Wait elements out of the Flows you call from a workflow.
> **Two variable types need care** — A Percent variable takes no value at all. Salesforce rejects the whole invocation for any value sent to one, and says only that an error occurred while running the Flow. The row still appears so you can see the variable, with the reason in place of the value box. Leave it unset, which runs cleanly, or change it to a Number in Flow Builder.A collection variable is tagged as a list in its row and accepts only a list. Bind a list reference from an earlier step, normally a list field from an Extract fields step. Typing a single value there is flagged in the builder, and Salesforce refuses it.
Values are converted to the type the Flow declared before they are sent, so a number that arrived as text reaches a Number variable as a number. One that cannot be converted fails the step and names both the Flow variable and the row it came from, which is more than Salesforce's own refusal would tell you.
## Related
- Workflows: creating the workflow, the launch form, references, validating and publishing.
- Read documents (AI): the steps that produce the values these lookups match against.
- Logic: the Decision and For each steps that route and repeat around these lookups and writes.
---
# Logic
https://help.cloudfiles.io/docs/dai-workflow-steps-logic-sf/
# Logic
The four workflow steps that shape the run itself rather than reading documents or touching records: Decision, Set a value, For each, and Wait.
> Kind: Guide · Updated: Aug 20, 2026
The Logic group holds four steps that neither read documents nor touch records — they shape the run itself: which path it takes, what it remembers, and how many times it repeats. This article covers all four in detail. For creating the workflow, building the launch form, and how steps pass values to each other, see Workflows first.
## Decision
Branch on rules you write over values already in the flow. Deterministic — no AI at run time. Needs an else branch.
This is the step nearly every workflow needs: it's how several separate answers become one outcome. Its inspector states the rule directly: "Add at least one branch (a condition) so this decision can publish. Each branch routes to a later step or ends the run — pick its destination under 'then go to'. Rules are checked top to bottom; the first match wins. The no-match route below is taken when nothing matches."
- Click + Add branch to add a condition row — auto-named branch_1, branch_2, and so on, with a delete icon on its right. Each row takes a left value (usually a reference to an earlier step's result), an operator, and a right value or reference (hidden for the four operators that take no right-hand side).
- Under then go to, choose the step to jump to, or End run.
- Click + Add branch again for each additional rule. They're checked top to bottom, and the first match wins.
- Below your branches, the inspector always shows a fixed no match (else) row with its own then go to dropdown (defaulting to End run) — this is the mandatory route taken when nothing matched. Every Decision needs one, and it can't be deleted.
Operators: equals, does not equal, is greater than, is at least, is less than, is at most, contains, is empty, is not empty, is missing, is present.
Each branch reads one earlier step's result, so a Decision sitting under a row of comparison steps is where those separate answers get resolved into a single outcome — one branch testing a comparison step's answer equals a status string, the next testing a numeric step's answer is less than a threshold. Name your branches after the outcome they produce rather than after the field they test; the canvas shows those names as route chips, and they're what you'll read when you come back to the workflow in six months.

> **First match wins, so branch order is precedence** — Put the checks that must not be overridden at the top. A run whose subject couldn't even be identified shouldn't then be judged on a threshold, so the ambiguity branches go above the substantive ones; the plain approval branch goes last, below every reason a run might be held; and the no match (else) route catches everything left over, which is usually the rejection default rather than End run. Reordering your branches changes behaviour even when no individual condition changed.
> **"Empty" and "missing" are different, and the difference bites** — Is missing / is present ask only whether a value exists at all — an empty list and an empty piece of text both count as present. Is empty / is not empty ask whether it has anything in it — nothing at all, an empty list, and whitespace-only text all count as empty. To check "did the extraction actually find any line items," use is not empty, not is present.
### Routing rules
Routes can only point forward. If a branch's destination step is later deleted or moved above the Decision, that branch flags "This branch pointed at a step that was deleted or moved above the decision. Pick a new destination," which blocks publishing.
Inside a loop, a route to a step after the loop is labelled "— exits loop," and the loop's own continuation reads Next item (back to loop).
### What to branch on
| Situation | Branch on |
|---|---|
| A comparison step returned a verdict | that step's answer equals Yes / No / your status string |
| A step returned a number | that step's answer is less than / is at least your threshold |
| A document was classified | the Classify step's category equals a label |
| A lookup may have found nothing | the match count equals 0, or the AI picked flag |
| An extraction may have found no rows | the list is not empty (not is present) |
| A bulk write partly failed | the failure count is greater than 0 |
## Set a value
Compute or set a value in the flow for later steps to use.
Good for building up a value across a loop, normalizing something, or holding a value referenced in several places.
Each assignment is one row of three controls side by side — the target, the operator, and the value — with a delete icon at the end of the row.
- In the first box, Assign to (variable or trigger input), name the target — a variable, or one of your launch-form inputs. This is the only field in the builder you type a name into rather than insert a reference into; the reference picker refuses anything else here with "Assign only into a trigger input or a variable."
- Choose an operator: equals replaces whatever is there with the value (the default), and add combines — appending to a list, joining text end to end, or summing numbers, depending on the target's current content.
- In Value or ref, supply a fixed value or insert a reference from the picker.
- Click + Add assignment for each further target you want to set in the same step. One Set a value step can carry as many rows as you need, and they're applied top to bottom — so a later row can read a target an earlier row in the same step just wrote.

add only works on lists, text, and numbers — trying to add a checkbox value or a whole record fails the step.
Anything a Set a value step writes appears in the reference picker under the Variables group, available to every step below it.
> **Inside a loop, Set a value writes to run-level state** — That's the standard way to accumulate a total, or collect Ids, across every item and then use the result after the loop — use add on each pass, then read the variable in a step after After last item.
> **Not the way to feed a shared write step** — A Set a value step is not the way to feed a shared write step on several Decision branches. Give each outcome its own write step with literal values instead — see One write step per outcome in Workflows.
## For each
Loop over a list. Runs the steps inside the loop once per item; each item's fields are available as item. **Don't loop just to write** — If the only thing you do per item is create a record, use Create Salesforce records (bulk) instead — one write, one approval. Reach for a loop when each item needs its own reading, checking, or branching first. See Salesforce.
## Wait
Pause the run for a fixed duration before the next step.
> **Don't add this step in the current release** — The builder stores its delay under one name while the engine expects another, so a published workflow containing a Wait step fails at the start of its first run with an input validation error. The field is also labelled in milliseconds while the value it stores is named in seconds. If you've already added one, delete it and republish — this will be fixed in a following release.
## Related
- Workflows — creating the workflow, the launch form, references, validating and publishing.
- Read documents (AI) — the steps that produce the answers a Decision branches on.
- Salesforce — the lookups whose match counts you branch on, and the writes each outcome routes to.
---
# Datasets (Configuration)
https://help.cloudfiles.io/salesforce/9BnA-datasets
# Datasets
Datasets in CloudFiles Document AI let you group multiple documents and Salesforce record context into a single AI-ready collection that can be queried together with natural language prompts.
> Kind: Guide · Updated: Jul 4, 2026
Datasets in CloudFiles Document AI allow you to group multiple documents and salesforce record context into a single AI-ready collection so they can be analyzed together. Once all data is added and processed, you can run natural language prompts across the entire dataset instead of querying each document or record individually.
Datasets are especially useful when you want to compare documents, summarize information across files, or extract insights from multiple related documents such as quotes, binders, contracts, or reports.
Below is a straightforward walkthrough of how to configure and use a dataset.
## Create a New Dataset
A dataset represents a collection of documents that CloudFiles processes and indexes so they can be queried together using AI.
To create a new dataset, navigate to:
CloudFiles App → Document AI tab → Datasets subtab
On the Datasets page, you will see a list of existing datasets along with details such as dataset ID, creator, creation date, and processing status. Click Create New Dataset to open the dataset creation dialog.
### Configure the dataset details
In the Create Dataset window, provide the following information:

Dataset Name:
Enter a clear name for the dataset so it can be easily identified later.
Description (Optional):
Add a short description describing what documents the dataset contains or what it will be used for.
Once the details are entered, click Save & Proceed. This creates the dataset and opens the dataset configuration page where you can add documents.
## Add Data to the Dataset
After creating the dataset, the dataset details page will open. This page contains the Data Sources section, where you can add both documents and Salesforce data that will be included in the dataset.
### Files
Within the Files section, you will see an option to upload documents. Click Upload Files and select the files you want to include in the dataset. These can be PDFs or other supported document types that you want to analyze together.

Once uploaded, CloudFiles automatically processes the documents by indexing their content so they can be used for AI queries. After processing is complete, the status changes to Processed, indicating that the files are ready to be queried.
### Salesforce Data (SOQL Queries)
In addition to files, you can also add Salesforce data using SOQL queries.
Navigate to the SOQL Queries section and click Add Query. Provide a query name, enter your SOQL query, and choose a refresh interval (24 hours, 48 hours, Weekly). After validation, CloudFiles fetches the data and includes it as part of the dataset.
This data is processed and indexed just like documents, allowing it to be queried alongside your files.
> The system supports large datasets, with up to 1 million rows per query, and automatically refreshes the data based on the selected interval.

When processing is complete, the Status will change to Processed, indicating that the dataset is ready to be queried.
## Query the Dataset in AI Playground
After the dataset has been processed, you can test and query it using the AI Playground.
Navigate to the AI Playground tab and click Create Playground. From the dropdown options, select Dataset Playground.

In the dataset playground interface, select the dataset you created from the dataset selector. Once the dataset is selected, you can start entering prompts to query the documents contained in that dataset.
The AI will analyze all documents in the dataset and return answers based on the information found across those files.For example, you can ask prompts such as summarizing the documents, extracting key information, or comparing data across multiple files.
## Result
Once configured and processed, a dataset becomes an AI-ready collection of documents that can be queried collectively using natural language prompts. Using the Dataset Playground, users can quickly analyze multiple documents, extract insights, and validate prompts before using those queries in automation.

Datasets can also be managed directly within Salesforce Flows using CloudFiles Document AI Flow actions. For example, the Create Dataset action can be used to programmatically create datasets during a flow, while actions such as Query Document/Dataset or Query Document/Dataset (Batch) allow prompts to run against those datasets. The extracted results can then be used to update records or trigger actions as part of Salesforce automation.
---
# Settings (Salesforce: Document AI)
https://help.cloudfiles.io/salesforce/rSFr-settings
# Settings
CloudFiles Document AI supports multiple AI agent types (query, direct-query, split); this article covers default agent configuration, how to change the default agent, and the Auto Assign Licenses setting.
> Kind: Guide · Updated: Jul 4, 2026
## Overview
CloudFiles Document AI supports multiple AI agents with differing capabilities, making them suitable for a wide range of tasks. We broadly classify them into three types—query, direct‑query, and split—with the following versions based on capabilities :
- Query : cloudfiles‑searis‑v1, cloudfiles‑searis‑v2, cloudfiles‑searis‑aux‑v1
- DirectQuery : cloudfiles‑revia‑v1
- Split : cloudfiles‑divira‑v1
To know more about these agents and when to use which agent, please refer to the Functional Agents article.
## Default Configuration
The following agents are configured by default at the account level currently:
- Query: cloudfiles-searis-v1
- DirectQuery: cloudfiles-revia-v1
- Split: cloudfiles-divira-v1
However, you can override these defaults at the account level.
## How to change the default Agent ?
To use override a default CloudFiles Agent:
- Navigate to the Cloudfiles app.
- Click on the Document AI tab.
- Click on Settings on the left hand side menu.
- Select your preferred agents from the dropdown menus.

## Auto Assign Licenses
When enabled, this setting automatically assigns a CloudFiles license to the most recent Salesforce user who accesses any CloudFiles component (such as the widget or content library), provided the user already has a relevant CloudFiles permission set.
If the toggle is off, such users will still appear in the User Management list but with an Inactive (unassigned) license status. Users without any CloudFiles permission set will not be added as CloudFiles users at all, even if they access the widget or content library.
For details on assigning permission sets to users, see the User Permissions Guide.
---
# Usage (Salesforce: Document AI)
https://help.cloudfiles.io/salesforce/usage
# Usage
The Usage Page provides an overview of the total number of pages processed using Document AI.
> Kind: Guide · Updated: Jul 4, 2026
The Usage Page provides an overview of the total number of pages processed using Document AI. It allows users to track their document processing activity over a selected time period.
Go to the App Launcher, search for CloudFiles, select it, then navigate to the Document AI tab to check daily usage in the Usage section.



Here, you'll find a detailed overview of pages and credits processed daily, with options to filter data using the Interval and Date Range dropdowns.
---
# User Management (Salesforce: Document AI)
https://help.cloudfiles.io/salesforce/F8L0-user-management
# User Management
User Management in CloudFiles ensures that users have the right access, licenses, and permissions to efficiently manage and process documents within Salesforce.
> Kind: Guide · Updated: Jul 4, 2026
User Management in CloudFiles ensures that users have the right access, licenses, and permissions to efficiently manage and process documents within Salesforce.
## User Permissions
The CloudFiles Document AI | OCR, Text Extraction, Classification installed package includes custom permissions to control access to various features. Additionally, we provide default permission sets based on commonly used permission combinations.
### CloudFiles Custom Permissions
CloudFiles offers granular permissions to manage access and functionality. Below is a list of these permissions:

Superadmin - This permission grants users full access to manage all aspects of CloudFiles Document AI. Only users with this permission can access the AI Playground feature.

> All flow action when triggered, runs through the integration user.
## License Management
Once the necessary permissions are assigned to Salesforce users, any interaction with the CloudFiles Lightning App will create a corresponding CloudFiles User.
### Viewing CloudFiles Users
You can view and manage CloudFiles users in the User Management page under the Document AI tab of the CloudFiles App.

A Salesforce user must have an "Active" CloudFiles User status to access CloudFiles functionalities like the AI Playground.
To activate or deactivate a user:
- Click the pencil (edit) icon next to the License Status column.
- Select Active or Inactive from the dropdown.
- Click Save to apply the changes.

> **Note** — If despite having an active license the user is not able to interact with any CloudFiles functionality, please confirm if the permission set has been correctly assigned to the user. Having either the 'CloudFiles Admin User' or 'CloudFiles Standard User' permission set is mandatory for any user to be able to interact with CloudFiles functionality.

### Managing Users
Clicking Manage Users on the User Management page opens a detailed view of all Salesforce users in your org. This view includes additional columns: Profile and Role, and supports filtering by both columns to help you find and manage users more efficiently.

To activate or deactivate a user, locate them in the list and toggle their license status accordingly.
### License Limitations
The number of active CloudFiles users cannot exceed the total licenses allocated to your Salesforce org. If you try to activate more users than your license count allows, you will be prompted to purchase additional licenses.

### Buying Licenses
You can add CloudFiles product licenses directly from the User Management page by clicking the Buy Licenses button in the top right. Any new licenses are immediately available for use and will be reflected in your billing as per your invoice. This lets you scale usage instantly without waiting for manual provisioning.

---
# Features (Document AI · Salesforce)
https://help.cloudfiles.io/salesforce/mBwY-features
# Features
This section highlights the powerful features of CloudFiles Document AI in Salesforce.
> Kind: Guide · Updated: Jul 4, 2026
This section highlights the powerful features of CloudFiles Document AI in Salesforce.
1. **Multi-Agent AI with Custom Control** — CloudFiles Document AI uses a multi-agent system that gives users fine-grained control over how AI processes and queries documents. Each specialized agent, whether for document querying, direct text-based queries, or document processing is optimized for a specific function, ensuring accuracy and consistency. With Precision Prompting, users can define tone, format, and rules to get reliable, business-ready outputs. Upcoming Specialized Agents will further enhance automation for targeted document types like invoices and compliance forms.
2. **Universal File Intelligence** — CloudFiles Document AI brings intelligent document processing directly into Salesforce, seamlessly handling handwritten, scanned, and multilingual files through Adaptive Content Intelligence. It supports multiple file types without conversions via Format-Agnostic Reading and processes files from Salesforce, external storage, or email using Omni-Source Access. With Large & Selective Processing, users can handle massive documents or specific sections efficiently. Together, these features automate data extraction, ensure accuracy, and deliver structured, ready-to-use Salesforce insights.
3. **Intelligent Document Queries** — CloudFiles Document AI combines advanced OCR with Natural Language Processing (NLP) to help businesses quickly find, analyze, and act on information. NLP-Powered Q&A lets users ask questions in plain language and get precise answers from documents. Multi-Format Output enforces consistent, structured outputs like json, csv etc, removing the need for manual reformatting. Deep Data Extraction pulls structured text, tables, and metadata from across pages and merges results directly with Salesforce for a unified view.
4. **Automation & Bulk Actions** — The Automation & Bulk Actions section introduces CloudFiles' end-to-end document automation capabilities in Salesforce. It covers multi-source triggers, AI-powered flow actions, and Document Mapper, showing how documents are automatically captured, processed, and converted into accurate Salesforce data with minimal manual effort.
5. **Actionable AI Outputs** — The Actionable AI Outputs section explains how CloudFiles uses AI to transform documents from static files into intelligent, automated workflows in Salesforce. It covers AI-driven document management, AI-powered document generation, and intelligent PDF splitting, highlighting how documents are automatically understood, organized, generated, and prepared for downstream automation with minimal manual effort.
---
# Multi-Agent AI with Custom Control
https://help.cloudfiles.io/salesforce/multi-agent-ai-with-custom-control
# Multi-Agent AI with Custom Control
CloudFiles Document AI uses a multi-agent approach to give users precise control over how AI handles different types of document operations.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
CloudFiles Document AI uses a multi-agent approach to give users precise control over how AI handles different types of document operations. Instead of a single, general-purpose model, CloudFiles provides a collection of functional AI agents, each optimized for a specific task, such as querying document content, splitting large files, or responding to text-based prompts.
This modular setup allows users to assign the right agent for the right purpose, improving accuracy, performance, and consistency across workflows. Agents can be managed at the account level or directly within a Flow, depending on how your automation is structured.
1. **Functional Agents** — CloudFiles offers a suite of specialized AI Agents that simplify document workflows by handling different types of processing and querying needs. Each agent type is designed for a specific purpose, ensuring accuracy and efficiency across various use cases:Document Querying Agents – Interact with document content to extract insights, answer questions, or analyze data.Direct Querying Agents – Handle general, text-based queries that aren’t tied to any specific document.Document Processing Agents – Perform operations such as splitting, organizing, and structuring large documents.Each agent is optimized for its respective function, allowing you to choose the right one based on your document type, complexity, and workflow requirements.
2. **Precision Prompting** — AI delivers the best results when guided by clear, specific instructions. Precision Prompting in CloudFiles enables businesses to define custom rules, tone, and output formats so AI responses stay accurate, consistent, and aligned with business goals.Through CloudFiles Document AI flow actions, you can prepare, query, and split documents using structured prompts that control how AI interprets and presents information, ensuring every output is precise, reliable, and business-ready.
## Specialized Agents (Coming Soon)
Specialized agents extend functional agents for targeted use cases, such as forms with checkboxes, invoices, or compliance records. They are designed for enhanced accuracy and efficiency on specific document types and will complement functional agents for more focused automation.
> Specialized Agents are currently under development and will be released in an upcoming update.
---
# Functional Agents
https://help.cloudfiles.io/salesforce/functional-agents
# Functional Agents
Overview of CloudFiles' specialized AI agents for document querying, direct querying, and document processing, with guidance on choosing the right one.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
We offer a suite of specialized AI agents, each designed to handle different document processing and querying needs. These agents are categorized into three main types based on their functionality: Document Querying Agents allow you to upload documents and then query their content, enabling you to extract insights, ask questions, and analyze information from your uploaded files. Direct Querying Agents provide immediate AI assistance for general questions and tasks. Document Processing Agents for document operations such as splitting.
Each agent has been optimized for specific use cases, allowing you to choose the most appropriate tool based on your document type and complexity requirements, maximize efficiency and achieve better results in your document workflows.
> **Note** — These following agents are configured by default at the account level currently:Query: cloudfiles-searis-v1DirectQuery: cloudfiles-revia-v1Split: cloudfiles-divira-v1Refer to Settings to know how to change these default agents.
## Document Querying Agents
These agents allow you to upload documents and query their content. You can test out these agents in our playground, refer to Document AI Playground Test Drive article.
## cloudfiles-searis-v1
Best for: Basic document querying
- Provides fundamental search and query capabilities on processed documents
- Ideal for straightforward information retrieval tasks

## cloudfiles-searis-v2
Best for: Advanced document querying with reasoning
- Enhanced understanding of complex queries through advanced reasoning capabilities
- Superior query interpretation compared to v1
- Better suited for nuanced questions that require context understanding

## cloudfiles-searis-aux-v1
Best for: Interactive documents with form elements
- Specialized for documents containing checkboxes, radio buttons, forms, and interactive elements
- Optimized to understand and work with structured document components

## Direct Querying Agents
These agents provide immediate AI assistance without requiring any document uploads.
## cloudfiles-revia-v1
Best for: General AI assistance
- Direct interaction with the AI agent without needing to upload documents
- Ideal for general queries, and immediate AI assistance that don't require document analysis
> **Using AI for General Queries** — Not all queries need to be executed on a specific document. If you want to run a general AI-based query that does not require document data, you can simply omit the Processed Document ID when executing the query.This allows CloudFiles AI to process the query independently, focusing only on the text input you provide. This can be useful in scenarios where:You have pre-extracted data from documents and need AI to structure or analyze it further.You need AI to generate text-based responses, summaries, or formatted outputs based on user-defined parameters.Example Use Case: Generating an Email from Extracted DataConsider a scenario where you have processed an invoice document and extracted key details such as:Invoice Number: INV-20240319-001Invoice Amount: $2,500.00Primary Contact Name: John DoeDue Date: March 25, 2025Now, instead of querying the document again, you want AI to generate a structured email using these extracted details.How to Configure This in Salesforce FlowYou can create a Flow Text Formula Resource to format the extracted details into a structured prompt for AI processing.📌 Query Example:"Below are the identified details from an invoice:
Invoice Number = {Invoice Number Query Result},
Invoice Amount = {Invoice Amount Query Result},
Primary Contact = {Client's Primary Contact Name Query Result},
Due Date = {Invoice Due Date Query Result}.
Now, based on the provided details, compose a structured email to the primary contact.
The email should:
- Greet the contact by name.
- Inform them about the invoice details in a professional and concise manner.
- Politely request confirmation of the invoice details.
- Provide a closing statement expressing appreciation and offer support if needed."Generated Email Output (Expected Result):Subject: Invoice Confirmation – INV-20240319-001
Dear John Doe,
I hope you are doing well.
We would like to confirm the details of your latest invoice:
Invoice Number: INV-20240319-001
Invoice Amount: $2,500.00
Due Date: March 25, 2025
Please review the above details and let us know if everything is correct. If there are any discrepancies, kindly reply to this email at your earliest convenience.
Looking forward to your confirmation. Thank you for your time!
Best regards,
[Your Name]
[Your Company]
```text
Invoice Number = {Invoice Number Query Result},
Invoice Amount = {Invoice Amount Query Result},
Primary Contact = {Client's Primary Contact Name Query Result},
Due Date = {Invoice Due Date Query Result}.
```
Now, based on the provided details, compose a structured email to the primary contact.
The email should:
- Greet the contact by name.
- Inform them about the invoice details in a professional and concise manner.
- Politely request confirmation of the invoice details.
- Provide a closing statement expressing appreciation and offer support if needed."
Generated Email Output (Expected Result): Subject: Invoice Confirmation – INV-20240319-001
Dear John Doe,
I hope you are doing well.
We would like to confirm the details of your latest invoice:
Invoice Number: INV-20240319-001 Invoice Amount: $2,500.00 Due Date: March 25, 2025
Please review the above details and let us know if everything is correct. If there are any discrepancies, kindly reply to this email at your earliest convenience.
Looking forward to your confirmation. Thank you for your time!
Best regards, [Your Name] [Your Company]
## Document Processing Agents
## cloudfiles-divira-v1
Best for: Document segmentation and organization
- Intelligently splits large documents into smaller, manageable sections
- Uses custom rules defined in your prompts to determine split points
- Excellent for organizing lengthy documents or creating structured document hierarchies
For more information on splitting action, you can refer to the split action article.
## Choosing the Right Agent
The table below provides a quick reference to help you match each agent with its most suitable use case.
| Agent | Use Case |
|---|---|
| cloudfiles-searis-v1 | For basic queries on documents. |
| cloudfiles-searis-v2 | For complex analysis on documents requiring reasoning. |
| cloudfiles-searis-aux-v1 | For querying documents with interactive elements such as checkboxes. |
| cloudfiles-revia-v1 | For immediate AI assistance for general questions. |
| cloudfiles-divira-v1 | For splitting and organizing large documents. |
---
# Precision Prompting
https://help.cloudfiles.io/salesforce/precision-prompting
# Precision Prompting
Precision Prompting lets businesses give CloudFiles Document AI custom instructions, rules, and formatting guidelines so AI outputs stay accurate, consistent, and business-ready across the Process, Query, and Split flow actions.
> Kind: Guide · Updated: Jul 4, 2026
AI agents are incredibly powerful, but their effectiveness depends on the instructions they receive. Vague or generic prompts can lead to incomplete, inaccurate, or business-irrelevant outputs, and different industries have unique requirements. This highlights the need for a systematic approach that ensures AI outputs align precisely with business objectives.
Precision Prompting lets businesses provide AI with custom instructions, rules, and formatting guidelines to control tone, detail, and output style, apply business-specific rules (like currency conversion or bullet-point summaries), and ensure consistent, reliable results across documents. This makes every AI interaction business-ready and precise.
CloudFiles Document AI empowers this approach through its flexible flow actions:
The Process Document using AI action prepares documents for AI processing, making them ready for querying and analysis. You can fine-tune how documents are handled by specifying the following optional inputs:
Instructions – These act as the foundation for effective prompting. By supplying context during processing, like which sections to focus on, expected formats, or key fields, CloudFiles Document AI interprets documents with higher accuracy. This ensures that when you later run a prompt, the AI is already primed to deliver precise, structured results.
> For more information refer to the article Process Document using AI .

The Query Document/Dataset action lets you run natural language prompts to extract, classify, or generate information from already processed documents.
Query - You can guide AI using natural language prompts to extract, classify, or generate information from processed documents. Clearly defining formats, units, or detail levels helps the AI avoid ambiguity, produce structured outputs, focus on relevant data. This enables consistent, accurate results and supports complex workflows where multiple queries can be combined in a controlled, repeatable manner.
> ExampleIn this example, we guide the AI with clear processing instructions and a query defined with a strict output format. Exception handling is also included to ensure the extracted data is accurate, structured, and directly usable from the document.Processing Instructions:"You are an AI agent specialized at extracting data from Driver's License or Passport. Your task is to accurately extract structured data from the document. The common components you should recognize and extract include: Document Type, Document Number, Full Name of the document holder, date of issue, date of expiry."Query:" Identify the type of KYC document provided (e.g., Passport, Driver's License). Extract the following fields from the document: Document Type (e.g., 'Passport', 'Driver's License') Document Number Full Name of the document holder Date of Issue (in YYYY-MM-DD format) Date of Expiry (in YYYY-MM-DD format) Return only the structured JSON in this exact format: { "KYC_Document_Type__c": "", "KYC_Document_Number__c": "", "KYC_Document_Holder_Name__c": "", "KYC_Document_Issue__c": "", "KYC_Document_Expiry__c": "" }\n If any field is missing or unreadable, return its value as null. Only return the JSON object and nothing else."The AI output as tested on the above sample document is as follows:{ "KYC_Document_Type__c": "Driver's License", "KYC_Document_Number__c": "64040738293", "KYC_Document_Holder_Name__c": "KOWALSKI JAN", "KYC_Document_Issue__c": "2019-03-06", "KYC_Document_Expiry__c": "2028-01-18" }
> For more information refer to the article Query Document/Dataset .

The Split Document using AI action uses AI to automatically separate merged PDFs into individual documents for easier processing.
Instructions: Define how documents should be interpreted and split. Use contextual cues to improve accuracy for varied formats.
Example: "This is a bundle of scanned purchase orders. Each purchase order starts with a bold header containing the name of the company or its logo. Split at each occurrence of this pattern and name them as the name of the company."
Specific instructions can guide the AI, improving the accuracy of the split.
> For more information refer to the article Split Document using AI .

These features make CloudFiles Document AI relevant across industries.
- In finance, prompts can enforce formatting rules such as ₹ currency, decimal precision, and ISO-standard dates, ensuring invoices are summarized with line items and totals in bold for faster audits.
- In legal applications, AI can extract and summarize clauses with their section references, returning outputs like “Clause Number + Summary” for compliance checks, making review processes more efficient and reliable
By combining Precision Prompting with CloudFiles versatile AI flow actions, businesses can ensure that AI interactions are precise, consistent, and aligned with their unique operational requirements, turning raw document data into actionable insights efficiently.
---
# Universal File Intelligence
https://help.cloudfiles.io/salesforce/universal-file-intelligence
# Universal File Intelligence
CloudFiles Document AI brings intelligent document processing into Salesforce with adaptive OCR/NLP, format-agnostic reading, omni-source file access, and large-scale selective page processing.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
Every organization relies on documents, contracts, invoices, IDs, purchase orders, reports, and more. But these files come in different formats, live across multiple systems, and are often scanned, handwritten, or multilingual. Traditional document-processing tools struggle with this variety, creating delays, errors, and inefficiencies.
CloudFiles Document AI eliminates these barriers by bringing intelligent document processing directly into Salesforce, whether you’re working with a single document or processing multiple related files together as a dataset.
Unlike rigid systems, its core features include:
- Adaptive Content Intelligence – Uses OCR and NLP to accurately read printed, handwritten, scanned, or multilingual documents, even from low-quality images.
- Format-Agnostic Reading – Supports multiple file types such as PDF, DOCX, XLSX, PPTX, CSV, and images without requiring conversions.
- Omni-Source Access – Processes files from Salesforce, external storage platforms, email, or e-signature integrations without manual transfers.
- Large & Selective Processing – Handles high-volume documents efficiently and allows processing of only selected pages or sections as needed.
With CloudFiles Document AI, teams can automate data entry, accelerate workflows, and reduce errors, transforming messy, unstructured files or multi-file datasets into reliable Salesforce insights
## Adaptive Content Intelligence
Business documents come in all shapes, sizes, and qualities. From crystal-clear PDFs to blurry ID scans, from neatly typed invoices to hurried handwritten notes , traditional OCR often struggles to keep up.
Adaptive Content Intelligence in CloudFiles Document AI solves this problem by combining advanced OCR with Natural Language Processing (NLP). It reads printed, handwritten, scanned, and multilingual content, even from low-quality images, and returns structured data that Salesforce can immediately use. When a single file or a dataset of multiple files is uploaded, CloudFiles Document AI scans content across pages and applies AI-powered OCR and NLP to detect and extract text with high accuracy. The intelligence remains consistent whether processing one document or many.
> The best way to experience this is through the AI Playground. You can upload a sample file, a scanned PD, a handwritten note, a multilingual ID, or even a blurred image, and instantly preview the extraction accuracy before implementing it in flows or automations.
This adaptability opens up powerful workflows across industries. For example
- A handwritten doctor’s prescription with unclear strokes can be digitized into structured data.

- Financial services teams can process blurry passports, driver’s licenses, and income proofs, automatically updating loan records in Salesforce.

With Adaptive Content Intelligence, CloudFiles Document AI transforms unstructured, messy, or international documents into usable Salesforce data , fast, accurate, and scalable. No matter the industry or document type, CloudFiles ensures workflows don’t stall because of “unreadable” files. Test it now in the AI Playground and see it in action.
## Format-Agnostic Reading
Documents comes in many forms , PDFs, docs, spreadsheets, presentations, or images. Traditional systems often require manual conversions, causing delays, errors, and extra work.
Format-Agnostic Reading in CloudFiles Document AI solves this challenge by handling information across multiple file types without requiring conversions or extra tools. Whether it’s a PDF, Word document, Excel spreadsheet, PowerPoint presentation, plain text file, or even an image, the system can read and process the content directly. By supporting data in its native form, it accelerates workflows, eliminates compatibility barriers, and ensures users can work seamlessly with diverse documents.
When a file or dataset is uploaded, CloudFiles Document AI automatically detects each file’s format and processes it without any manual steps. It extracts text, tables, and contextual data across diverse file types, even when multiple file formats exist within the same dataset, ensuring insights are captured consistently.
This adaptability opens up powerful workflows across industries. For example
- A purchase order received in .docx format can be processed automatically, with order line items extracted and stored directly in the relevant Salesforce record as shown in the below image.

- A insurance team can process insurance claim documents available as .pdf to extract relevant information.

> CloudFiles Document AI supports a wide range of file types:.PDF.DOCX.XLSX.PPTX.CSV.PNG and .JPEGThe extracted output is delivered in text format, which can be mapped to Salesforce fields, passed into flows, or integrated with APIs. This ensures both flexibility and real-time usability across workflows. This support applies to both individual files and multi-file datasets, allowing businesses to process mixed-format batches in a single operation.
With Format-Agnostic Reading, CloudFiles Document AI makes sure no document is left behind due to its format. By removing the friction of conversions, it gives teams faster access to insights, reduces errors, and simplifies the way data flows across business systems. Try it today in this test drive.
## Omni-Source Access
Business files rarely live in one place. Sales contracts may be attached directly in Salesforce, project reports might sit in external storage, and new files often arrive via email or e-signature apps. Traditional workflows force teams to download and re-upload files into a single tool before using them, creating inefficiencies, delays, and version mismatches.
Omni-Source Access in CloudFiles Document AI solves this by making all these files usable instantly. Whether a single file or a dataset is stored inside Salesforce, linked from external storage, or received through integrations, CloudFiles can process it directly without any manual transfers.
This flexibility opens up powerful workflows across industries. For example:
- A hospital clerk processes a patient’s ID from Salesforce Files, prescription PDF from email, and digitally signed consent, attaching structured data into Health Cloud.

> CloudFiles supports a wide range of external storage providers. You can refer to the External Storage / Library Configuration article for more information.
With Omni-Source Access, CloudFiles Document AI eliminates version mismatches, and delays. Teams can work with Salesforce files, external storage files, and integration-based files, without disrupting existing workflows.
## Large and Selective Processing
Documents aren’t always small and simple. Some are short KB-sized files, while others are high-volume with thousands of pages, detailed tables, or lengthy reports. Traditional systems often struggle with these large documents, slowing down, failing mid-process, or forcing users to extract only a limited set of pages.
Large & Selective Processing in CloudFiles Document AI eliminates these barriers. It can process high-volume documents or large multi-file datasets while maintaining accuracy and speed. Even better, users don’t need to process the entire file every time, they can target only the specific sections or pages that matter most, saving time and resources.
> The best way to experience this is through the AI Playground. Upload a large file, such as a multi-hundred-page PDF, choose whether to process all pages or a selected range, and instantly preview the extracted output mapped into Salesforce fields.
This flexibility creates powerful workflows across industries. For example:
- A legal team receives a 1795-page contract with multiple cases. Instead of processing the entire document, they can select only the relevant pages, and the system extracts the required information, saving time and ensuring accuracy.

With Large & Selective Processing, CloudFiles Document AI makes working with big and complex documents effortless. No matter the file size or number of pages, you can decide what to process and get results quickly. Test it now in the AI Playground and see how CloudFiles handles both the largest and most selective document needs.
---
# Intelligent Document Queries
https://help.cloudfiles.io/salesforce/intelligent-document-queries
# Intelligent Document Queries
CloudFiles Document AI combines OCR and NLP so teams can query documents in natural language, get output in multiple formats, and extract deep structured data merged with Salesforce.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
In today’s business landscape, organizations handle a vast array of documents—contracts, invoices, KYC forms, medical records, purchase orders, and more—that are often scattered across systems, in different formats, or even handwritten and multilingual. Extracting key information from these files can be slow, error-prone, and inefficient when relying on traditional search or manual processing.
CloudFiles Document AI transforms document workflows by combining advanced OCR with Natural Language Processing (NLP), enabling businesses to quickly find, analyze, and act on information. Its capabilities include:
- NLP-Powered Q&A: Ask questions in natural language and get precise answers from any document instantly. Supports complex queries, multilingual text, and reduces manual search time.
- Multi-Format Output: Extracted data can be delivered as plain text, structured tables, charts, or summaries, adapting seamlessly to your workflow and eliminating the need for manual reformatting.
- Deep Data Extraction: Pull structured text, tables, and metadata from across pages and file types, and merge results directly with Salesforce for a unified, enriched view of your records.
With CloudFiles Document AI, teams can automate data entry, accelerate workflows, and reduce errors, unlocking the full value of their documents without extra effort.
## NLP-Powered Q&A
When working with large documents, contracts, compliance files, KYC documents, or diagnostic reports, finding answers is often tedious. Traditional keyword-based search tools only highlight text but don’t provide direct answers, forcing users to manually interpret results. This creates inefficiencies, slows down decision-making, and increases the chances of missing critical details.
The NLP-Powered Q&A feature solves this by allowing you to interact with documents in plain English (or any natural language). You ask a question, and CloudFiles AI gives you the precise answer from the document, instantly.
> Upload a document to AI Playground to try it now. For example:Query: “What is the expiry date of this driver's license? Output only the date in DD/MM/YYYY format.”Output: “01/08/2029"Query: Extrahiere nur die vollständige Firmenadresse aus dem verarbeiteten Dokument. Gib die Adresse als einfachen Text zurück, ohne zusätzliche Details, Beschriftungen oder Formatierungen.Output: Beispiel GmbH, Musterstraße 12, 10115 Berlin
This capability opens up wide-ranging applications. For instance, a lawyer can extract key clauses from long contracts in seconds, or compliance teams can quickly identify required identity documents and agendas from regulatory filings.
Powered by advanced NLP, Intelligent Document Queries supports general queries, file-based queries, making document exploration faster and smarter. With this feature, businesses no longer need to waste time digging through unstructured text. Try it now in the AI Playground and see how quickly you can find exactly what you need.
## Multi-Format Output
Extracting information is only the first step, what often slows down workflows is the inconsistency in how information is structured across documents. Users often spend time cleaning, aligning, and reformatting data just to make it usable.
Multi-Format Output in CloudFiles Document AI eliminates this hassle by enforcing consistent, structured outputs regardless of the document’s original format. Whether you need plain text for quick checks, a concise summary for an overview, or organized data in tables and charts for deeper analysis, the output adapts seamlessly to your workflow.
> Upload a document to AI Playground to try it now.Ask a query on any uploaded document. Choose your preferred output:Formatted Results: in JSON, CSV etc;The below query follows the best practice for prompting that will ensure accurate resultsQuery: {Instruction}: You are an AI trained to extract structured data from documents.{Task}: Extract all line items from the provided Purchase Order document. For each line item, extract the following fields: Line Item Name, Quantity (whole number), Unit Price (currency value with two decimals), Line Amount (currency value with two decimals){Output_Format}: Return results only as a JSON array of objects with these keys: Item_Name__c, Quantity__c, Unit_Price__c, Line_Amount__c{Rules}:If any field is missing, set its value to null.Quantity must be an integer.Unit Price and Line Amount must be numbers with exactly two decimal places.Output only the JSON array. No extra text, comments, or explanation.{Example}:
[{"Item_Name__c": "Item A", "Quantity__c": 10, "Unit_Price__c": 15.50, "Line_Amount__c": 155.00}, {"Item_Name__c": "Item B", "Quantity__c": 5, "Unit_Price__c": null, "Line_Amount__c": 75.00 }]Output:[ { "Item_Name__c": "Platinum web hosting package Down 35mb, Up 100mb", "Quantity__c": 1, "Unit_Price__c": 65.00, "Line_Amount__c": 65.00 }, { "Item_Name__c": "2 page website design Includes basic wireframes, and responsive templates", "Quantity__c": 3, "Unit_Price__c": 2100.00, "Line_Amount__c": 2100.00 }, { "Item_Name__c": "Mobile designs Includes responsive navigation", "Quantity__c": 1, "Unit_Price__c": 250.00, "Line_Amount__c": 250.00 } ]
Applications can span across industries for example operations teams can automatically extract order or shipment details, and finance teams can quickly consolidate line-item data across invoices.
CloudFiles powers this adaptability by converting AI responses into multiple layouts and export-ready formats. With Multi-Format Output, the same answer works for multiple needs—no reformatting, no wasted time. Test it in the AI Playground and see how easily it molds to your way of working.
## Deep Data Extraction
Documents often contain far more than just words. Tables, metadata, and structured data are usually embedded deep inside, spread across pages and formats that make manual extraction painful and error-prone.
Deep Data Extraction in CloudFiles Document AI is designed to solve this challenge by going beyond surface-level OCR. It pulls structured text, tabular data, and metadata with precision and merges the results directly with Salesforce, giving you a unified and enriched view of your records.
> Upload a document to AI Playground, ask a query to try it out.For example we upload a 3 page document that contains information of various insurance claims.Ask complex queries beyond the surface-level OCR, that requires computing for example:Query: Instruction: Calculate the total amount of insurance claims raised in the year 2024. Task: Review the document for all insurance claims raised during 2024. Sum up the claim amounts. Return the total amount as a single numeric value, preferably with currency formatting if applicable. Example Output: $1,250,000Output: $40,889.86Ask queries that use data directly from Salesforce fields, allowing you to dynamically extract, filter, or compare information based on your Salesforce records.You can use this feature in the flow actions.Query: Instruction: Find the Claim ID for a specific claimant.Task: Search the document for claims where the claimant name matches {!$Record.Patient_Name__c}. Extract and return the corresponding Claim ID(s) as plain text.Ouput: 2024001882
The applications span multiple industries, offering significant efficiency gains across various domains. In the insurance sector, the solution can automatically extract claim details, policy numbers, and settlement amounts from lengthy claim forms, enabling faster approvals and more accurate reporting. In the legal industry, it can identify and extract key clauses, dates, and party information from multi-page contracts, ensuring compliance, and supporting litigation processes.
By providing a unified view of structured and unstructured data, Deep Data Extraction not only accelerates workflows but also improves data accuracy, transparency, and decision-making. Businesses no longer need to rely on manual extraction or risk missing critical insights hidden deep within documents.
---
# Datasets (Intelligent Document Queries)
https://help.cloudfiles.io/salesforce/datasets
# Datasets
CloudFiles Datasets let you group documents and Salesforce data into a single collection to analyze them collectively using AI.
> Kind: Guide · Updated: Jul 4, 2026
In many business workflows, decisions rely on multiple related inputs rather than a single file. For example, a customer onboarding package may include identification documents, agreements, and tax forms, along with customer data from Salesforce. Similarly, a procurement transaction may involve quotes, purchase orders, invoices, and related system records.
When these inputs are analyzed individually, it becomes difficult to understand how they relate to each other. Comparing information across documents and system data often requires manual effort, and automation becomes harder when insights depend on multiple sources together.
CloudFiles Datasets solve this by allowing you to group documents and Salesforce data into a single collection and analyze them collectively using AI.
## How Datasets Work
A Dataset represents a unified collection of all inputs relevant to a workflow or process, including both documents and Salesforce data. Rather than treating each file or data source in isolation, CloudFiles brings them together into a single context, enabling them to be analyzed as one cohesive unit.
This enables two powerful capabilities:
- Cross-Document Analysis – AI can analyze multiple files together to compare values, detect duplicates, identify inconsistencies, or extract insights across documents.
- Document + Salesforce Data Analysis – Queries can combine information from documents with Salesforce data, allowing workflows that depend on both structured and unstructured information.
By working at the dataset level, CloudFiles enables workflows where the value comes from understanding how different inputs relate to each other, rather than simply extracting information from a single file.
> Datasets are created using the Create Dataset flow action, which generates a unique Dataset ID. Documents can then be associated with this dataset so they can be analyzed collectively. AI queries can be executed across the dataset using the Query Document/Dataset or Query Document/Dataset (Batch) actions, allowing natural language prompts to reference multiple documents at once.
## Industry Use Cases
Datasets are useful in any scenario where multiple documents contribute to a single business decision.
Legal teams can use datasets to compare different versions of contracts and identify changes before final approval. Procurement teams can group invoices, purchase orders, and supporting documents for a transaction and verify that values match across files. Financial institutions can analyze multiple onboarding documents together to validate identity information and ensure consistency.
Datasets are also valuable in audit and compliance workflows, where reviewers often need to analyze document collections rather than individual files.
> Upload multiple documents to the Dataset and use the Dataset Playground to run queries across all files in that dataset.For example, you upload a dataset containing multiple purchase order (PO) documents submitted by different schools or departments to the same vendor.These documents may include duplicate purchase orders, corrected versions, or resubmitted orders for the same purchase.Ask queries that analyze information across all documents in the dataset, such as identifying duplicate purchase orders based on key fields like PO number, vendor, or order details.For example:Query:
Instruction: Detect duplicate purchase orders.Task: Review all documents in the dataset and identify purchase orders that have the same PO/Order Number, vendor name, and delivery organization. Return the PO numbers that appear to be duplicates. If multiple duplicates exist, list them as separate entries.Output:[{"PO Number":"121212","Vendor Name":"CloudFiles Learning Solutions","Delivery Organization":"Sample High School (46101)"}]
You can easily test the Dataset feature directly within CloudFiles. In the CloudFiles Document AI tab, create a dataset to group your related documents into a single collection. Once the dataset is created and documents are added, you can open the Dataset Playground to run queries across the dataset.
---
# Automation & Bulk Actions
https://help.cloudfiles.io/salesforce/automation-and-bulk-actions
# Automation & Bulk Actions
CloudFiles automation features ensure that every document is captured, processed, and acted upon the moment it enters your system.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
CloudFiles automation features ensure that every document is captured, processed, and acted upon the moment it enters your system. By combining multi-source triggers, AI-powered flow actions, and intelligent data mapping, CloudFiles enables fully automated, end-to-end document workflows inside Salesforce.
These capabilities work together to eliminate manual intervention, maintain data accuracy, and ensure documents drive business processes instead of slowing them down.
1. **Multi-Source Triggers** — The Multi-Source Triggers feature automatically detects and initiates processing for files added or updated across Salesforce, external storages, emails, and CloudFiles components. It ensures every document is instantly captured, analyzed, and routed through automated workflows, creating a unified and seamless document processing experience.
2. **AI Flow Actions** — CloudFiles AI Flow Actions bring intelligence and automation directly into document workflows. They enable you to process, query, and split documents using AI, transforming static files into structured, actionable data. Each action works together to ensure documents are intelligently processed, analyzed, and routed, creating seamless end-to-end automation within Salesforce.
3. **Document Mapper** — Document Mapper allows users to automatically create and update Salesforce records from uploaded files using AI. With its intuitive, no-code setup, it intelligently maps document data to Salesforce fields, saving hours of manual effort and ensuring accuracy across parent and child records.
4. **Workflows** — Workflows turns a multi-step document process into a single no-code canvas: read documents with AI, compare the results against Salesforce records, branch and loop on your own rules, and write back as many creates or updates as the outcome calls for, with an optional human review gate before anything is written.
---
# Multi-Source Triggers
https://help.cloudfiles.io/salesforce/multi-source-triggers
# Multi-Source Triggers
Multi-Source Triggers automatically detect file additions or updates across Salesforce, connected storage systems, and CloudFiles components, generating CloudFiles Events that trigger AI-powered processing.
> Kind: Guide · Updated: Jul 4, 2026
Files today come from everywhere, Salesforce manual uploads, External Cloud Storages (SharePoint, Google Drive etc.), inbound emails, or other third party integrations. Without a unified system to detect and process these files, organizations end up creating fragmented workflows and missing automation opportunities.
Multi-Source Triggers automatically detect file additions or updates across Salesforce, connected storage systems, and CloudFiles components. Each event, whether it's a new upload, file update, or folder creation, generates a CloudFiles Event that can be used to trigger AI-powered processing or any other downstream workflow.
Once configured, CloudFiles ensures every document is captured, analyzed, and routed, no matter its source.
> Refer to Intercepting CloudFiles Events article for more information.
Across industries, multi-source triggers simplify document workflows by automating AI processing from multiple entry points. In insurance, claim forms uploaded via Email-to-Case or SharePoint folders are automatically processed by Document AI to extract key details. In manufacturing, when a supplier uploads an invoice to OneDrive, AI processing captures the invoice data and updates Salesforce records.
CloudFiles can initiate processing from multiple channels. Below are all supported trigger categories along with their corresponding CloudFiles Event Types and descriptions.
## Salesforce-Based Triggers
CloudFiles integrates natively with Salesforce, enabling AI processing when key record or file-related events occur. You can automate processing when a file is attached, a record changes, or another Salesforce-integrated app uploads a document.
Common Trigger Scenarios
- A file is attached to a Salesforce record (e.g., Case, Opportunity, Lead).
- A record is created or updated, triggering a new processing workflow.
When key fields like status or stage change, Cloudfiles Document AI can automatically process files, and initiate the next step in the workflow.
- A file is received via Email-to-Case or other native integrations. Attachments coming in through inbound emails or Salesforce-connected channels are auto-ingested for processing.
- An external app pushes files into Salesforce. Files uploaded through third-party platforms can be automatically processed once they reach Salesforce.
Relevant CloudFiles Event Types
| Event Type | Description |
|---|---|
| salesforce-file-attached | Triggered when a file is uploaded to Salesforce native storage (e.g., via Files or Notes & Attachments). |
## CloudFiles Document Management
CloudFiles Document Management integrates seamlessly with external storage systems such as Google Drive, SharePoint, OneDrive, and AWS S3, as well as with CloudFiles Components (widgets, Datarooms, and Lightning Components) embedded within Salesforce.
Files that are uploaded, modified, deleted, or accessed through any connected source can automatically trigger AI-driven workflows for document classification, data extraction, and downstream automation.
Common Trigger Scenarios
- New file upload: Files added via external storage, CloudFiles widgets, or Dataroom File Requests automatically initiate Document AI processing.
- File modification or replacement: Updated files trigger re-processing or metadata synchronization in Salesforce.
- Folder creation: Folders created via Flow or CloudFiles actions can initiate automated organization or compliance workflows.
- File or folder cloning: Deletions or cloning operations can trigger cleanup or downstream process updates.
- Merged document split: Automatically splits combined documents into individual records through Document AI.
Relevant CloudFiles Event Types
| Event Type | Description |
|---|---|
| resource-attached | Triggered whenever a file or folder in external storage is attached to a Salesforce record. |
| content-version-created | Triggered when a Salesforce File (Content Document) is created from an external storage file. |
| resource-updated | Triggered when metadata of a file or folder is updated from Salesforce. |
| file-uploaded | Triggered when a file is uploaded to external storage via the CloudFiles widget in Salesforce. |
| resource-cloned | Generated for each successful external resource cloning operation, enabling chained or downstream processes. |
| file-received | Triggered when a file is uploaded via the File Request module in a CloudFiles Dataroom. |
| document-split | Triggered after a merged file is automatically split into separate documents by Document AI |
> There are additional events beyond those mentioned here, which can be used as per your specific use case. Refer to the All Event Types article to learn more.
## Summary
Multi-Source Triggers in CloudFiles automatically detect and respond to file activities such as uploads, updates, or folder creations across Salesforce, external storage systems (like SharePoint, Google Drive, etc;), inbound emails, and CloudFiles components. Each activity generates a CloudFiles Event that can initiate AI-driven workflows for document classification, data extraction, and automation. This ensures every file, regardless of its origin, is intelligently captured, processed, and routed within your workflows, reducing manual effort and fragmentation across systems.
---
# AI Flow Actions
https://help.cloudfiles.io/salesforce/ai-flow-actions
# AI Flow Actions
CloudFiles' AI-powered Flow Actions bring intelligence and automation into document workflows by processing, querying, and splitting documents automatically.
> Kind: Guide · Updated: Jul 4, 2026
In every organization today, managing documents has quietly become one of the biggest hidden time-drains. Teams spend hours uploading, labeling, searching, and extracting information from files, whether it’s KYC documents for onboarding customers, invoices for finance approvals, or contracts that need to be verified. Despite the shift to digital, much of this work still feels manual and repetitive
CloudFiles uses AI-powered Flow Actions that bring intelligence and automation right into your document workflows. Instead of just storing files, it helps you understand and act on them. These Flow Actions work together to transform static documents into dynamic data that drives business decisions automatically.
You can use the following flow actions to process files, extract data, classify or split the files received and trigger the respective flows.
## Processing the Document
Every intelligent workflow begins with preparation, and that’s exactly what CloudFiles Process Document using AI action does.

Before you can ask questions or extract insights from a file, it needs to be processed so the AI can understand it. This action takes documents like PDFs, images, or scanned files and converts them into an AI-readable format. Once processed, the document becomes searchable, structured, and ready for analysis.
> Once the file is processed a document-processed event is generated that can be used to trigger follow-up flows.
For example, imagine a company receiving hundreds of KYC documents daily. Instead of employees manually reviewing each one, CloudFiles can automatically process every new upload, making each document ready for automated checks or information extraction.
## Querying the Document
The Query Document actions allow you to execute natural language prompts on documents that have already been processed using the Process Document using AI action.

These actions enable dynamic querying, classification, and data extraction from processed documents, for instance, identifying document types (e.g., Passport, Driving License) or extracting key fields such as name, issue date, passport number, and expiry date.
You can choose between two variants based on your use case:
- Query Document/Dataset : Executes a single prompt or query on a processed document. Ideal for specific data retrieval or classification tasks.
- Query Document/Dataset (Batch) : Executes multiple prompts in one go, allowing batch querying, classification, or extraction of multiple data fields simultaneously. This helps minimize the number of flow elements and reduces the risk of flow timeouts during large-scale or multi-query processing.
> Returns either a single text result (Query Document) or a collection of responses (Query Document(Batch)). These results can be looped through, mapped to corresponding Salesforce fields, or used for decision-making within the flow.
Additionally, the action supports general AI queries without a document reference for instance, generating structured text or emails based on extracted data.
## Splitting Document
The Split Document using AI flow action automatically separates merged PDFs, like bundles of invoices or multi-document contracts into individual, well-labeled files using artificial intelligence. It works with both Salesforce Files and files stored on external storages, intelligently identifying document boundaries and generating searchable, OCR-enhanced files.

Each split file is auto-named based on its content (e.g., invoice number, vendor name) and can be stored in Salesforce or your preferred cloud drive. Once the process is complete, a document-splitevent is published, allowing you to trigger follow-up flows like record creation or notifications making the process fully automated.
## Summary
With AI Flow Actions, CloudFiles transforms document management from a manual task into a seamless, intelligent workflow. By automatically processing files into AI-readable formats, querying them for key details, and splitting merged PDFs into organized, well-labeled documents, CloudFiles ensures every step happens effortlessly. Each action triggers the next through events enabling end-to-end automation that saves time, improves accuracy, and keeps your Salesforce workflows running smoothly without manual intervention.
---
# Document Mapper (Guide)
https://help.cloudfiles.io/salesforce/document-mapper
# Document Mapper
Document Mapper combines AI-powered extraction with Salesforce automation, using configurable mapper fields and prompts to extract data from uploaded files and map it into parent and child Salesforce records.
> Kind: Guide · Updated: Jul 28, 2026
Getting document data into Salesforce usually means typing it in by hand — and the moment a document carries more than a few simple fields, the work multiplies. Picklists have to match your exact values, lookups have to be matched to records that already exist, and a single document often needs to populate a parent record and its related records at once.
Document Mapper handles all of it in one place. You pick a Salesforce object, describe what you want in plain language, and AI does the extraction, the matching, and the record creation — no code, and no jumping between tools. Every field type on your object is supported natively, so there's nothing a document can throw at you that has to be handled somewhere else.
Each configuration you build is saved with a unique Config ID that stores your mapping logic and can be reused anywhere — a list view button, a record detail button, or a Salesforce Flow.

## Every Field Type, Handled in One Place
The heart of Document Mapper is a single workspace where every field on your object is mapped the same simple way. Fields are automatically grouped by the role they play — Main Record, Lookups, and Child Relationships — and each field carries a type badge so you always know what you're working with. Whatever the type, the approach is the same: tell the mapper what you want in plain language, and it takes care of the rest.

For most fields — text, numbers, currency, dates, and the like — a short description of what to pull from the document is all it takes. The AI finds the value and formats it correctly for the field. The field types that usually need extra care are handled just as easily here:
Picklists are matched to your exact Salesforce values, even when the document uses different wording. You can add a short prompt to any value to tell the AI precisely when that value should be chosen, so results always land on valid, on-model options.

Multi-select picklists work the same way, with the AI free to choose more than one value when the document calls for it — capturing every applicable option rather than forcing a single choice.
Lookups — the fields that usually mean writing code — are resolved right inside the mapper. Describe the match in plain language and the AI turns it into a reliable matching plan: typically a fuzzy match that tolerates small differences in spelling, spacing, or formatting between the document and your Salesforce records, though you can also ask for an exact match or a multi-step strategy that tries one approach and falls back to another. You keep clear control over what happens if nothing matches or several records match, and for teams that already have custom logic, an existing Salesforce Flow can be plugged in just as easily. Either way, unmatched documents are held back rather than creating bad data.


Child relationships let a single document populate several related records at once — line items on an order, partners on an account, purchase orders against a contract. Instead of processing the document once per record, Document Mapper reads the parent and all its related rows in one pass: you describe how to recognize each row in the document, map the fields on it, and the mapper creates every related record and links it back to the parent automatically. Rows can even carry their own lookups, matched to existing records the same way — so a document with one account and a dozen line items becomes a fully linked set of records in a single run.

## See the Result Before You Commit
Nothing is written to Salesforce until you're ready. Upload one or more sample documents, choose which of them to run the test on — testing on fewer documents uses fewer tokens — and Document Mapper shows you exactly what it extracted from each: every field value alongside a confidence score and a plain-language explanation of where it came from, plus the full set of related records it would create.


You can refine your descriptions and run again as many times as you like until the output is exactly right — all without leaving the mapper.
Once you go live, you decide how much oversight each run gets. Leave a configuration on auto-approve and extracted records are written to Salesforce as soon as a run finishes. Switch it to send-to-review and every run pauses first for a person to check and approve — covered next.
## A Full Record of Every Run
Every time a configuration processes a document, it's logged as a CloudFiles DocAI Run — giving you a complete, searchable history of what was processed, when, and how it turned out. Each run captures its status, the Config ID and version that produced it, the parent record it was tied to, and its owner.

If a run fails, its record explains what went wrong and offers a Reprocess button so you can retry it in one click. Reprocessing creates a fresh run rather than overwriting the original, so your history stays intact and you can always see exactly what happened.

### Review, Edit, and Approve Before Anything Is Written
Not every run should write to Salesforce the instant it finishes. When a configuration is set to send-to-review, each run lands in a Pending Review status and waits for a person to sign off — turning the run record into a full review workspace rather than just a log entry.
Open the run and you get the extracted result side-by-side with the source document itself, so you can check every value against the page it came from without switching tabs or opening the file separately.
The review is organized exactly the way the mapping is. The Details tab holds the main-record fields, and the Related tab holds every child record the run produced — line items, partners, and the like — shown in a grid you can work through row by row. Everything is editable in place: correct a mistyped value, adjust a quantity, or use Add Row to include something the extraction missed. If a run doesn't look right at all, Reject it instead.

When the record is exactly right, Approve & Write to Salesforce commits the parent and all its related records in one step. Not finished in one sitting? Save Progress keeps your edits on the run so you can come back to it later. Nothing reaches Salesforce until you approve — so a human always has the final say, with the document right there to check against.
## One Configuration, Many Ways to Use It
Once saved, the same Config ID can be put to work wherever you need it:
- List View Button — upload a document and create new records straight from a list view.
- Detail Page Button — upload against an existing record to update its fields or add related records.
- Flow Action — drop the same configuration into a Salesforce Flow to fold document extraction into larger automation.
Because every method shares one Config ID, you build the mapping once and reuse it everywhere.
## Built for Any Team
Document Mapper is versatile across industries. Sales teams can spin up Accounts and Opportunities from client documents without manual entry, and operations teams can process contracts, invoices, or onboarding forms in a few clicks — with related records matched and linked automatically along the way.
Head to Document AI → Document Mapper → Create New Configuration and see how effortless record creation and updates can be. Try it out today!
---
# Workflows (Automation & Bulk Actions)
https://help.cloudfiles.io/salesforce/workflow-builder
# Workflows
Workflows reads documents with AI, compares the results against Salesforce records, branches and loops on your own rules, and writes back as many creates or updates as the outcome calls for — all from one no-code canvas that plugs directly into Salesforce Flow.
> Kind: Guide · Updated: Sep 4, 2026
Getting document data into Salesforce is rarely a straight copy. The value on the page has to be pulled out, checked against what's already on the record, and acted on by your own rules — whether that means updating a record, creating a new one, skipping it, or flagging it for a person. A fixed field map can extract and write, but it can't compare and decide, and that's where most real document processes actually live.
Workflows handles that whole loop in one place. It reads a document, compares what it finds against your Salesforce records, decides what to do, and writes the result back — with no code and no jumping between tools. You build the process once as an ordered sequence of steps on a visual canvas, each step feeding the next. The result is one process that turns a document into the right records, the way your team would do it by hand.

## Start Every Run the Same Way
Every workflow begins from a launch form, where you set up the two things a run reads from:
- Documents to read, either a single file or a group of related files to work through together.
- Values the logic depends on, such as a date, an amount, or a checkbox. These are also the fields a Salesforce Flow fills in when it launches the workflow, so what you define here is exactly what the Flow supplies.
The same screen is where you set the workflow's review policy, which decides whether a run pauses for a person before it writes to Salesforce.

## Read Any Document with AI
Once a run starts, the AI reads the document for you, and how it reads depends on what you need. Extract fields pulls a structured set of values you define — a total, a date, a vendor name, or a whole table of line items — and each one comes back with a confidence score, so you always know how sure the AI was. Ask the document puts a plain-language question to the page when you just need a single fact, and Classify sorts a document into labels you choose, so the run can tell an invoice apart from a receipt and treat each one differently. Whatever the AI reads becomes a value the rest of the workflow can build on.

## Find and Compare Against Salesforce
A value off a document only means something once you can check it against what you already have, so a workflow finds the matching Salesforce record before it acts, and it can match no matter how the data is worded. An exact match works when the document carries a clean identifier. A fuzzy match tolerates the small differences that trip up exact matching — pairing "Acme Corp." on the page with "Acme Corporation" in Salesforce. An AI-picked match lets the model choose the best record when several could fit. Once the record is found, its fields sit alongside the extracted ones, so a later step can weigh the two directly — comparing an amount against the current total, or a name against what's on file. And if nothing matches, that's a real outcome you can act on, not a silent failure.

## Branch, Loop, and Decide
This is the part a fixed field map can't do. A Decision reads what the run has found so far and sends it down the right path — it can update the record when there's a clean match, create a new one when there isn't, or flag it for a person when something looks off. You write the rules once and the run follows them, top to bottom, taking the first that fits. A loop repeats a set of steps for every item in a list, so a document with a dozen line items becomes a dozen linked records in a single pass. Put decisions and loops together and one workflow can handle whatever shape a document arrives in.

## Write Records Back
With the decision made, the run writes. It can create new records, update existing ones, delete, create many at once, or run an autolaunched Flow of your own and pick up what it hands back — and because the decision chose the path, the same workflow can update on one route and create on another. Writes are built to be safe in two ways: a blank value never wipes a field that already has data, and a single run can make several linked writes in order, such as a parent record, its child rows, and a related update, turning one document into a fully connected set of records at once.

## Keep a Human in the Loop
You decide how much oversight each run gets. Let it run straight through with no stops for a process you trust, hold once before the first write so someone can check what the AI read, or pause on every write for records you can't afford to get wrong. When a run pauses, the reviewer sees exactly what's about to be written and either approves it or rejects the run — what they approve is exactly what lands, never edited on the way through. Every pause, approval, and rejection is recorded, so each run keeps a full trail of who signed off on what.
## Test, Publish, and Evolve Safely
A workflow saves itself as a draft while you build it, so there's no Save button to remember. Before you publish, a test run lets you try it on a real document and step through exactly what each block read and did, so a wrong extraction or a missed match is caught while it's still cheap to fix. When it's ready you publish a version, and that version is locked — a run already in progress finishes on the version it started on, and nothing changes under it. Improving a workflow later is as simple as publishing again, because every Flow that uses it picks up the new version automatically.

## Plug Into Your Salesforce Automation
Workflows are built and tested inside the CloudFiles app, but they really pay off once they run on their own. A ready-made Flow action, CloudFiles: Run Doc AI Workflow, lets any Salesforce Flow launch a workflow with the documents, field values, and record it needs. It always runs the latest published version, so improving a workflow never means touching the Flows that use it, and it reports back cleanly — your Flow learns whether the run launched (a Success flag), gets an ID to track it by (the Run Id and Run Record Id), and reads a clear reason if it didn't (an Error), so the automation around it always knows what happened. The traffic runs both ways: a Run a Salesforce Flow step inside a workflow calls an active autolaunched Flow in your org, so logic you already built in Flow Builder stays where it is and the workflow hands off to it mid-run.

Every run launched this way is tracked on its own CloudFiles DocAI Run record inside Salesforce. The record shows the run's status, links back to its full history, and is where a reviewer opens a pending write to approve or reject it — so you can see and act on every run without leaving Salesforce.
## Built for Any Team
Workflows fits any process where documents drive records. Finance teams turn invoices into linked headers and line items, operations teams route mixed document types down the right path automatically, and healthcare or compliance teams check a document against the record on file and flag any mismatch. Wherever a document needs to become more than one connected record — checked, matched, and written the way your team would do it by hand — Workflows handles it end to end.
Head to Document AI → Workflows → New workflow and build your first process. Try it out today!
---
# Actionable AI Outputs
https://help.cloudfiles.io/salesforce/actionable-ai-outputs
# Actionable AI Outputs
CloudFiles AI brings intelligence directly into document management and generation inside Salesforce, organizing, generating, and processing documents automatically with accuracy and consistency.
> Kind: Guide · Updated: Jul 4, 2026
## Introduction
CloudFiles AI brings intelligence directly into document management and generation inside Salesforce. Instead of treating documents as static files, CloudFiles uses AI to understand content the moment it enters the system, ensuring documents are organized, generated, and processed automatically with accuracy and consistency.
By combining AI-driven document management, generation, and intelligent PDF processing, CloudFiles removes manual effort from every stage of the document lifecycle and enables scalable, reliable document workflows across teams and industries.
1. **AI Driven Document Management** — The AI Driven Doc Management feature intelligently identifies, renames, and routes every file the moment it enters Salesforce. It reads and understands each document’s content, extracts key details, applies clean naming standards, and places files in the correct external folders automatically. This ensures every document is instantly organized, searchable, and stored with complete accuracy, creating a consistent and effortless document management experience across teams and industries.
2. **AI Driven Document Generation** — The AI-Powered Document Generation feature automatically interprets uploaded files and Salesforce records, generates personalized content, and assembles complete documents using templates. It removes manual writing and formatting work, ensuring every document is accurate, consistent, and ready to use with minimal effort.
3. **Intelligent PDF Splitting** — The Intelligent PDF Splitting feature uses AI and OCR to automatically separate merged or multi-page PDFs into individual, organized documents. It identifies boundaries accurately, even in scanned files, and generates clean, searchable outputs with meaningful file names. Each split file is instantly ready for downstream automations in Salesforce, helping teams handle bulk uploads like invoices or contracts with zero manual effort.
---
# AI Driven Document Management
https://help.cloudfiles.io/salesforce/ai-driven-document-management
# AI Driven Document Management
This article explores how CloudFiles brings Document Management and Document AI together to simplify the way documents move through Salesforce.
> Kind: Guide · Updated: Jul 4, 2026
Document Management and Document AI are each useful on their own, one keeps files organized, while the other brings intelligence. But when they work together, they create a smoother, more reliable document flow. This article explores how CloudFiles brings these capabilities together to simplify the way documents move through Salesforce.
Every organization handles a constant flow of documents, contracts, invoices, KYC files, proposals, reports, moving between teams, customers, vendors, and partners. But once these files enter Salesforce, things quickly become chaotic. Documents land on the wrong records, naming conventions break, external collaborators send files through email instead of proper channels, and key information stays hidden inside PDFs. This leads to delays, errors, repeated work, and a heavy manual burden on teams
## Core Components of the CloudFiles Document System
CloudFiles brings together these tightly integrated capabilities:
- Document Management – Salesforce & External Storage Integration: CloudFiles connects Salesforce with external storage systems like SharePoint, Google Drive, OneDrive, Box, Dropbox, and AWS S3. It maintains consistent folder structures across Salesforce records and external repositories. Documents stay organized, searchable, and accessible without duplicating files in Salesforce.
- Document Management Components & Workflow Automation: Native Salesforce components and Flow actions automatically create folders and route documents based on record activity. Folder structures align with business processes such as sales, onboarding, and compliance.Document organization runs automatically, reducing manual effort and errors.
- External Document Sharing & Collection: CloudFiles enables secure sharing through sharing links and Data Rooms directly from Salesforce. External users can view, download, and upload files through controlled, trackable access. All shared and collected documents stay connected to Salesforce records with full visibility and governance.
- Intelligent Document Processing with Document AI: Document AI classifies documents and extracts key business information from uploads automatically. Extracted data enriches Salesforce records and triggers downstream workflows. Teams can act on document insights immediately, without manual review or data entry.
Together, these capabilities create a flexible document framework where documents can be understood, organized, and routed as part of broader Salesforce workflows, without relying on manual handling or rigid, upload-only processes.
## How These Components Work Together
The value of combining Document Management and Document AI lies in what it enables. Below are a few representative use cases that organizations commonly solve using CloudFiles. These examples illustrate the possibilities, not the limits.
Understands documents the moment they're uploaded: When a user uploads a contract, invoice, ID proof, or even a poorly scanned multi-page PDF, Document AI immediately reads and identifies it. It detects document types accurately even with handwritten, rotated, or low-quality content ensuring that mixed uploads are sorted and understood without any manual effort.
Renames files automatically based on their content: Instead of generic names like “scan001.pdf” or “document (5).pdf,” AI extracts meaningful details such as customer names, invoice numbers, dates, or ID types and uses them to generate clean, standardized filenames. This keeps your entire document repository searchable, consistent, and audit-ready without relying on users to rename files.
Files documents exactly where they belong: Once classified and renamed, CloudFiles routes each document to the correct external folder automatically. A KYC document is placed under the customer’s compliance directory, an invoice moves to Finance, and a signed agreement is stored neatly under Contracts within the related Opportunity or Account. Users never need to think about folder paths, the system handles structure and placement with perfect consistency.
Combines secure document sharing with AI-powered processing: CloudFiles also allows organizations to collect documents from customers, partners, or applicants using secure share links. When external users upload files through these links, Document AI applies the same pipeline, identifying the file type, extracting key details, renaming the document, and filing it in the correct Salesforce-linked folder. Associated records are updated automatically, eliminating the need for teams to manually inspect, sort, or organize incoming documents.
> This automation benefits every industry that depends on document i intake. Financial teams process KYC files and statements without manual sorting. Procurement teams keep invoices and vendor certificates automatically organized. Real estate firms collect identity proofs and agreements through the CloudFiles widget and see them immediately classified and stored. Any business handling high document volumes gains instant structure, accuracy, and reliability.
## Summary
CloudFiles is not just about managing files or extracting data. It’s about creating a unified document system inside Salesforce, where documents are consistently understood, correctly organized, and ready to support downstream business processes.
By bringing Document Management and Document AI together, CloudFiles transforms documents from operational overhead into reliable, intelligent building blocks for scalable workflows.
---
# AI Driven Document Generation
https://help.cloudfiles.io/salesforce/ai-driven-document-generation
# AI Driven Document Generation
Document Generation and Document AI together form an end-to-end content engine that turns raw documents and record data into ready-to-send quotes, proposals, invitations, and onboarding packs.
> Kind: Guide · Updated: Jul 4, 2026
Document Genaration and Document AI each solve major gaps in Salesforce, one automates document creation, the other understands incoming documents to generate structured data and draft intelligent content. Together, they create a powerful, end-to-end content engine that turns raw documents and record data into ready-to-send quotes, proposals, invitations, and onboarding packs. This article explores how CloudFiles unifies these capabilities to eliminate manual writing, copying, and formatting.
Every organization relies heavily on documents, emails, proposals, quotes, invitations, onboarding kits, contracts, constantly moving between teams, customers, vendors, and partners. But creating these documents inside Salesforce is still a manual, disconnected process. Teams copy-paste data from records, rewrite similar messages repeatedly, dig through PDFs to extract details, and assemble templates by hand. This leads to slow turnaround times, inconsistent communication, and a heavy operational burden on teams.
## Core Components of the CloudFiles Document System
CloudFiles fixes this problem at the source. CloudFiles brings together these tightly integrated capabilities:
- Document Generation: CloudFiles enables automated document generation directly from Salesforce data using reusable templates. Documents like quotes, proposals, contracts, and letters are generated instantly with accurate, up-to-date record information. This eliminates manual copy-paste and ensures consistent, professional output every time.
- Intelligent Document Understanding: Document AI extracts key business information from documents with accuracy. Beyond extraction, it understands context to classify files and generate summaries, insights, and draft write-ups from document content. This enables teams to move faster by turning documents into structured data and usable content inside Salesforce.
Together, these features create a fully automated content pipeline that can start whenever you choose, on record updates, file uploads, stage changes, or any custom trigger.
## How These Components Work Together
The value of combining Document Generation and Document AI lies in how content is created, understood, and automated end to end. Below are a few representative use cases that organizations commonly solve using CloudFiles. These examples illustrate the possibilities, not the limits.
### Generate customer-ready quotes from uploaded vendor documents:
When teams receive supplier price sheets, SOWs, or contract PDFs, Document AI extracts item details, pricing, quantities, and validity terms. Doc Gen then merges this extracted data into a standardized quote or proposal template, producing a polished, customer-facing document without manual rewriting or copying.
### Create personalized invitations and communication packs instantly:
Document AI reads uploaded briefs, event PDFs, or reference documents to extract key details such as agenda, location, deadlines, and speaker information. AI Compose transforms this into a tailored message, and Doc Gen assembles it into a branded invitation or outreach PDF that can be sent directly to Leads or Contacts.
### Build onboarding or compliance packs from KYC and contract files:
When users upload KYC files, agreements, or compliance documents, Document AI identifies and extracts customer details, ID types, dates, and conditions. Doc Gen uses this structured data to automatically generate onboarding kits, welcome documents, and compliance summaries, ensuring accuracy and format consistency.
### Produce structured summaries and reports from uploaded documents:
Teams often receive multi-page requirement docs, financial statements, or project briefs. Document AI captures the important sections, numbers, and instructions. Doc Gen then compiles these into organized project summaries, requirement briefs, or internal reports, reducing hours of manual summarization and formatting.
> This automation benefits every team that repeatedly creates customer-facing documents. Sales teams produce quotes and proposals instantly. Event teams generate personalized invitations in bulk. Support and onboarding teams assemble customer packs based on extracted KYC or contract information. Any business that relies on recurring communication gains speed, accuracy, personalization, and consistency.
## Summary
CloudFiles automates document creation in Salesforce by using AI to understand records and uploaded files, generate personalized content, and assemble complete documents through Doc Gen templates. This eliminates manual writing, copying, and formatting, helping teams create accurate, professional, and fully-personalized documents effortlessly.
---
# Intelligent PDF Splitting
https://help.cloudfiles.io/salesforce/intelligent-pdf-splitting
# Intelligent PDF Splitting
The CloudFiles: Split Document Using AI flow action automatically analyzes and splits merged PDF files using AI and OCR, detecting document boundaries and producing cleanly structured, searchable, auto-named output files.
> Kind: Guide · Updated: Jul 4, 2026
When organizations receive documents in bulk, like invoice bundles, scanned contracts, or multi-page application forms, they’re often merged into a single, lengthy PDF. Manually identifying where one document ends and another begins is time-consuming, error-prone, and inconsistent across teams. This becomes even more challenging when dealing with scanned or image-based files that aren’t searchable.
The CloudFiles: Split Document Using AI flow action solves this challenge by automatically analyzing and splitting merged PDF files stored in Salesforce or external cloud storage. Using advanced AI and OCR (Optical Character Recognition), the system scans the content of the file to intelligently detect where each new document begins, whether that’s the start of a new invoice, a contract section, or an application form and then separates the file into cleanly structured individual documents.
This feature uses AI-based content boundary detection to identify exactly where each document begins and ends, ensuring accurate and logical splits even in large, complex PDFs. It also performs OCR to convert scanned or image-based pages into fully searchable documents, improving accessibility and indexing. Once the processing is complete, the system automatically:
- Publishes a document-split event that includes metadata for each split file, enabling real-time automation and seamless integration with Salesforce flows or downstream processes.
- Uploads a searchable OCR-enhanced version of the original merged PDF for easier retrieval and indexing.
- Auto-names each split file using AI, leveraging content such as invoice numbers, vendor names, or reference IDs to generate meaningful file names.
Together, these steps ensure every output file is organized, searchable, and ready for use with zero manual effort.

> You can experience this firsthand through the Split Salesforce Files using AI testdrive, which lets you try the feature in real-time and see how effortlessly the process works.
Various industries benefit from Intelligent PDF Splitting, as it helps automate the handling of bulk, merged, or scanned documents. For example, finance teams can automatically split and name large bundles of invoices for faster reconciliation, while legal teams can separate merged contract PDFs into individual agreements for smoother compliance and review workflows.
> **Optional Enhancements** — For documents with very specific structures, you can guide the AI with simple instructions to improve precision. For example: “Each invoice starts with ‘Invoice Number’ and ends with ‘Subtotal.’ Split at each occurrence.” These hints help the system adapt to custom formats and deliver even more accurate results.
Together, these capabilities make Intelligent PDF Splitting a powerful tool for any organization dealing with high volumes of merged or scanned documents. By combining AI-driven boundary detection, automatic OCR enhancement, and event-based automation, it transforms document-heavy workflows into streamlined, error-free processes. Teams save time, improve accuracy, and maintain cleaner, more searchable document repositories across Salesforce and external storage platforms.
Try it out now using the Split External Files using AI Test Drive and experience hands-free document processing powered by CloudFiles.
---
# Document AI Tutorials
https://help.cloudfiles.io/salesforce/document-ai-tutorials
# Document AI Tutorials
This tutorial series walks through the core capabilities of Document AI, including configuring initial flows, processing files, extracting and mapping data to Salesforce object fields, and integrating into automation workflows.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
Welcome to the Document AI Tutorials category. This tutorial series walks you through the core capabilities of Document AI, including how to configure and set up initial flows, process files, extract and map data to Salesforce object fields, and seamless integration into your automation workflows.
Browse through the list below to get started -
- AI Flows - Initial Setup Guide - This guide explains how to set up Salesforce flows to process files using CloudFiles Document AI, which is a necessary first step before running AI queries. It covers how to process documents from both Salesforce and external storage, each with slightly different methods, in order to generate a processed document ID required for querying.
- Batching AI Queries - In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to create a KYC upload checker. While this is similar in functionality to KYC Upload Checker, instead of performing multiple Query Document calls, we will perform a single call for multiple actions using the Query Document (Batch) action.
- Classify and Rename Uploaded Files - In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to classify incoming documents and rename them appropriately.
- Document Mapper Tutorial This tutorial explains how to use CloudFiles Document Mapper with Salesforce List View Buttons to automate processing of structured business documents. It extracts key information from uploaded files and creates the corresponding Salesforce records, including related Line Items, without manual data entry.
- Document Checklist - In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to classify incoming documents and update the checklist appropriately.
- Get CSV text Output from AI Query - In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to extract multiple data fields from uploaded documents in CSV format using a single query.
- Get JSON Output from AI Query - In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to extract data from documents in a structured JSON format.
- KYC Upload Checker - In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to create a KYC upload checker.
- Line Item Extraction - This article explains how to use CloudFiles with Salesforce Flow to automate data extraction from uploaded documents. It covers how files are processed using CloudFiles Document AI, how Natural Language Queries extract key information (such as order line items), and how the extracted data is further handled within the flow.
- Mass property extraction from a Medical Form - In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to extract multiple properties from documents using custom metadata.
- Signature Checking - This article demonstrates how to automate signature detection using CloudFiles and Salesforce Flow. When a file is uploaded to Salesforce or external storage, CloudFiles Document AI processes it, a Natural Language Query checks for a signature, and the corresponding Salesforce record is updated based on the result.
- Simple Data Extraction from KYC Files - This tutorial provides step-by-step guidance on configuring Salesforce Flow Automations using CloudFiles Document AI Flow Actions. It focuses on processing Salesforce files that are uploaded or attached to object records, extracting information from those files using AI, and automating the update of Salesforce object fields based on the extracted data.
- Splitting multiple combined POs into child objects - In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to split multiple combined documents from an uploaded Salesforce file.
## Beyond this Tutorial
This tutorial demonstrated a foundational example of processing files from connected External Storage. You can adapt the same logic to address numerous enterprise use cases, including:
- File Metadata Management: Automatically tagging and categorizing files based on type, content, or extracted information, updating relevant metadata columns accordingly.
- Automated File Routing: Moving files automatically between storage locations or triggering approval tasks based on file type, contents, or extracted insights.
- Order Processing: Extracting data from uploaded Purchase Orders, updating corresponding Order records, or automatically creating Order Line Items.
- Invoice Automation: Capturing essential details from invoices uploaded into Opportunity folders, updating related Salesforce fields, or initiating payment-related workflows.
- HR Onboarding Automation: Extracting key employee details from onboarding documents uploaded into employee-specific folders, automating record creation, and data updates.
- Compliance Automation: Automatically processing compliance-related documents (e.g., certifications) uploaded into Account folders, and instantly updating compliance status.
- Insurance Claim Automation: Parsing claim documents uploaded to Case records, extracting essential data, and updating claim statuses and details automatically.
Exploring these use cases along with Document AI can greatly streamline your Document Management & Sharing and enhance data accuracy, significantly boosting your organization's productivity.
---
# AI Flows - Initial Setup Guide
https://help.cloudfiles.io/salesforce/ai-flows-initial-setup-guide
# AI Flows - Initial Setup Guide
This guide provides a detailed overview of setting up Salesforce flows to process files using CloudFiles Document AI as a pre-cursor to querying results from AI.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
This guide provides a detailed overview of setting up Salesforce flows to process files using CloudFiles Document AI. This setup is to be used as a pre-cursor to perform actual querying to get results from AI.
In order to ask a natural language query to CloudFiles AI, you first need to process the document and receive a processed document ID. The file to be processed can be either a Salesforce upload or it may be uploaded in external storages. CloudFiles provides functionlity to process both types of uploads, albeit in a slightly different manner.
Read the sections below carefully.
## Pre-requisites
Ensure the following before starting:
- CloudFiles Installed in Salesforce: Available on Salesforce AppExchange.Check out Installation and Configuration and to know more.
- Active Subscription or Trial: Ensure access to CloudFiles Document AI
## Processing Files using CloudFiles Document AI
In order to query your files using AI, we first need to process the document. This prepares the document so that it can be sent to AI for querying.
You will need to create 2 separate flows. The first flow will trigger when the upload is done and will send the uploaded file to AI for processing. The second flow will trigger when the document has finished processing and can now be queried.
- Process New Document Flow - This flow sends any new file uploads for processing. Processing is an asynchronous operation and may take some time to complete.
- Document Processing Complete Flow - This flow executes when the document has been processed. This is the flow in which you will actually add the query & response logic.
To create these flows, first decide if you want to process a Salesforce file upload or an external storage file upload. Based on this, refer to one of the below articles in order to setup the flows.
For Salesforce File Uploads - If you are uploading files into the Salesforce Files or Notes & Attachments section, refer to Process Salesforce Files article in order to setup the initial flows.
For External Storage Uploads - If you are uploading files into external storages such as SharePoint or Google Drive, refer to Process External Files article in order to setup the initial flows.
Once you are finished with the relevant article, you should have the below two flows ready in your org. Here's a screenshot of how these flows will look like. Check the next section on how to use these flows further in order to get responses from AI.
When a new Salesforce File is uploaded or attached onto the records-

When a new file is uploaded in an external storage through the CloudFiles LWC-

> First decide whether you want to work with Salesforce Files or External files and based on that, use either the Process Salesforce Files or the Process External Files article in order to setup the 2 flows.
## Querying the document using AI
Once you have the above flows setup, you are ready to start querying the document and getting responses. This is done using the 'Query Document' flow action. In order to see how this action can be used to achieve specific goals, refer to our detailed tutorials listed in the Document AI Tutorials article.
> This tutorial only helps setup the initial flows to make the document ready for AI. In order to actually use AI to get responses, checkout other tutorials.

---
# Process Salesforce Files
https://help.cloudfiles.io/salesforce/process-salesforce-files
# Process Salesforce Files
A guide to processing Salesforce Files for Document AI by setting up two flows: one to send newly uploaded files for processing, and one to handle completed processing so AI queries can be run.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will guide you on how to process Salesforce Files for Document AI. Processing the files is a mandatory step that must be done before AI queries can be executed on a file. Processing makes the file ready for CloudFiles AI.
You will need to create 2 separate flows. The first flow will trigger when the upload is done and will send the uploaded file to AI for processing. The second flow will trigger when the document has finished processing and can now be queried.
- Process New Document Flow - This flow sends any new file uploads for processing. Processing is an asynchronous operation and may take some time to complete.
- Document Processing Complete Flow - This flow executes when the document has been processed. This is the flow in which you will actually add the query & response logic.
Read the sections below carefully to setup these 2 flows.
## Pre-requisites
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

## Process New Document Flow
This flow is triggered whenever a new Salesforce File is uploaded or attached (identified by the Salesforce File Attached event) onto the records. It processes each attached file using Process Document using AI in the context of the triggering record. Successful file processing publishes a Document Processed event, triggering the Document Processing Complete Flow that is covered in the next section.
Check the sub-sections below for details on each of these steps.

### Create Record Triggered Flow
Create a new record-triggered flow with the triggering object type set as cldfs__CloudFilesEvent__c. Additionally set some filter conditions. This ensures that the flow is only triggered for the correct type of events. E.g. using the below conditions, we will only trigger the flow when a new file is uploaded on contact records -
- Type ( cldfs__Type__c ) = salesforce-file-attached
Include a Run Asynchronously path to access an external system after the original transaction for the triggering record is successfully committed.
Here's how the trigger conditions would look like.

### Get Event Details
Now that we have trigger setup, we will get more details related to the event. We will use the Get Event Details action for this. Within In the Run Asynchronously path, add the Get Event Details action. Under "Set Input Values", toggle Event (Custom Object) and select Triggering cldfs__CloudFilesEvent__c ( {!$Record} ).

### Loop through attached files
Since there might be multiple files attached, we will loop through all files and process each one seperately. For this we use a loop element and choose the collection variable from the output of Get Event Details : {!Get_Triggering_Event_Details.SalesforceFiles.ContentDocumentIds}

### Process Each File
In order to actually process the file, we simply use the Process Document flow action as shown below. This action takes in the following parameters :
- File Id: select Current Item from Loop
( {!For_Every_Attached_Content_Document} ).
- Library: type salesforce.
- Context: select Outputs from Get Event Details > Salesforce Files Details > ParentId ( {!Get_Triggering_Event_Details.SalesforceFiles.ParentId} ).
- Optionally, set Instructions with special processing guidelines.

## Document Processing Complete Flow
This flow is triggered when the document we sent for processing in the flow above has finished processing. We will use the Document Processed event along with a record triggered flow to intercept this. We will then get the event details that will give us the triggering record and the processed document ID that can be used later to perform AI queries on the document.

### Create Record Triggered Flow
Create a new record-triggered flow with the triggering object type set as cldfs__CloudFilesEvent__c. Additionally set some filter conditions. This ensures that the flow is only triggered for the correct type of events. E.g. using the below conditions, we will only trigger the flow when a new file is uploaded on contact records -
- Type ( cldfs__Type__c ) = document-processed
Include a Run Asynchronously path to access an external system after the original transaction for the triggering record is successfully committed.
Here's how the trigger conditions would look like.

### Get Event Details
Now that we have trigger setup, we will get more details related to the event. We will use the Get Event Details action for this. Within In the Run Asynchronously path, add the Get Event Details action. Under "Set Input Values", toggle Event (Custom Object) and select Triggering cldfs__CloudFilesEvent__c ( {!$Record} ).

### Useful Event Information
Now that we have the event details of the document-processed event, we can use this to get 2 useful pieces of information -
- Processed Document ID - This will be used as an input to the Query Document Action that has used in various other tutorials on Document AI Tutorials.
- Context - This is important to retrieve the record ID or other important metadata that you want to pass when processing the document. Check the Process Each File Section above to understand what is retrieved in the context output.
- File - Details of the processed file specified in the input, which helps identify the file post processing.

## What Next?
In this tutorial, we have only explained how to process a Salesforce file so that it is ready for AI queries. For actually understanding how automated queries can be performed and how the responses can be used to enrich Salesforce data, check the other tutorials mentioned in the Document AI Tutorials article.
---
# Process External Files
https://help.cloudfiles.io/salesforce/process-external-files
# Process External Files
This guide provides a detailed overview of setting up Salesforce flows to process files using CloudFiles Document AI.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
This guide provides a detailed overview of setting up Salesforce flows to process files using CloudFiles Document AI. This setup is to be used as a pre-cursor to perform actual querying to get results from AI.
In order to ask a natural language query to CloudFiles AI, you first need to process the document and receive a processed document ID. The file to be processed can be either a Salesforce upload or it may be uploaded in external storages. CloudFiles provides functionlity to process both types of uploads, albeit in a slightly different manner.
Read the sections below carefully.
## Pre-requisites
Ensure the following before starting:
- CloudFiles Installed in Salesforce: Available on Salesforce AppExchange.Check out Installation and Configuration and to know more.
- Active Subscription or Trial: Ensure access to CloudFiles Document AI
## Processing Files using CloudFiles Document AI
In order to query your files using AI, we first need to process the document. This prepares the document so that it can be sent to AI for querying.
You will need to create 2 separate flows. The first flow will trigger when the upload is done and will send the uploaded file to AI for processing. The second flow will trigger when the document has finished processing and can now be queried.
- Process New Document Flow - This flow sends any new file uploads for processing. Processing is an asynchronous operation and may take some time to complete.
- Document Processing Complete Flow - This flow executes when the document has been processed. This is the flow in which you will actually add the query & response logic.
To create these flows, first decide if you want to process a Salesforce file upload or an external storage file upload. Based on this, refer to one of the below articles in order to setup the flows.
For Salesforce File Uploads - If you are uploading files into the Salesforce Files or Notes & Attachments section, refer to Process Salesforce Files article in order to setup the initial flows.
For External Storage Uploads - If you are uploading files into external storages such as SharePoint or Google Drive, refer to Process External Files article in order to setup the initial flows.
Once you are finished with the relevant article, you should have the below two flows ready in your org. Here's a screenshot of how these flows will look like. Check the next section on how to use these flows further in order to get responses from AI.
When a new Salesforce File is uploaded or attached onto the records-

When a new file is uploaded in an external storage through the CloudFiles LWC-

> First decide whether you want to work with Salesforce Files or External files and based on that, use either the Process Salesforce Files or the Process External Files article in order to setup the 2 flows.
## Querying the document using AI
Once you have the above flows setup, you are ready to start querying the document and getting responses. This is done using the 'Query Document' flow action. In order to see how this action can be used to achieve specific goals, refer to our detailed tutorials listed in the Document AI Tutorials article.
> This tutorial only helps setup the initial flows to make the document ready for AI. In order to actually use AI to get responses, checkout other tutorials.

---
# Batching AI Queries
https://help.cloudfiles.io/salesforce/batching-ai-queries
# Batching AI Queries
A tutorial on using CloudFiles Document AI with Salesforce flow automations to build a KYC upload checker that runs multiple natural language queries in a single batched call.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to create a KYC upload checker. While this tutorial is similar in functionality to KYC Upload Checker, instead of performing multiple Query Document/Dataset calls, we will perform a single call for multiple actions using the Query Document/Dataset (Batch) action.
Each time a file is uploaded into Salesforce or external storage, the following actions will occur :
- The file will be processed using CloudFiles Document AI.
- Natural Language Queries will execute to classify the file and extract key details.
- Corresponsing fields will be updated in Salesforce.
> Since we have multiple queries to run, we will use the Query Document/Dataset (Batch) action in this tutorial. To configure this tutorial using the Query Document/Dataset action instead, refer to the article on KYC Upload Checker.
In order to setup this automation, you first need to have some pre-requisites. After this you can start setting up some query automations and updates to achieve your use-case. Check the sections below for more information. In the image below, we have demonstrated this in action.

## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Initial Automation Setup
There are 2 flows you will need to setup to process the uploaded files. The first flow is triggered when the document is uploaded into Salesforce or external storage. This flow sends the file to AI for processing. This might take a few seconds. Once the AI is done with processing, the second flow will trigger which will contain the processed document. You can then run queries on this processed document.
- Flow 1: Send Document For Processing - Triggered when file is uploaded into Salesforce or external storage. Sends the file for processing which may take a few seconds to a minute.
- Flow 2: Document Processing Complete - Triggered when the file has been processed by AI. Performs queries on the file to extract the data.
Once your flow setup is complete, your flows should look like the following-

> Read the article on AI Flows - Initial Setup Guide carefully to setup both the flows. Once your initial flows are setup as shown above, you are ready to move to the next step.
## Query Automation Setup
Now that you have the initial automation setup, we can take the document processed flow and extend it to query the document and update the required fields. In this section, we show how to query the processed document, check the results and perform the necessary updates.
### Classifying the document
In order to classify the document, we will simply use the Query Document/Dataset flow action along with a natural language prompt. This action taken in a processed document ID and a text query as input. The processed document ID is available as output of the Get Event Details action. Here are the full inputs used in the image below.
> In this section we have used the Query Document action since we had a singular classification query to execute. In the next section, we will use the Query Document (Batch) action to perform multiple data extractions with a single call.
Processed Document Id = Outputs from Get Event Details : Get Processed Event Details > Document Processed > ProcessedDocumentId
Query = Classify the file as either a driving license or a passport. If the file does not match either of these types, classify it as other. Based on the classification, give the output as one of the following - Driving License, Passport, or Other.

Now that our documents are classified, we can use the output of the 'Query Document' action to create 2 branches in our flow. In each of the branches, we will ask document specific questions to extract relevant information. We will use the Query Document/Dataset (Batch) action to perform all queries in a single call.
### Create Query Variables
In order to batch queries, first create an apex-defined variable of class cldfs__QueryDocumentPrompt for each of the queries you need to run. This means you will need to create multiple such variables. Here is an example of one such variable.

Now using an assignment flow action, assign the 'id' & 'query' fields to your created variable as shown below. Here id is a text identifier that we will use later while looping over the batched results. Query is the natural language prompt you wish to ask AI.

Repeat this for the queries you need to run. As you can see below, we have created and assigned multiple such variables, each with a different id & query. Here are some example queries we used :
- Return the Given Name of the Passport Holder
- Return the Passport Issue Date in YYYY-MM-DD Format
- Return the Passport Number

> The effectiveness of the CloudFiles: Query Document action heavily depends on the quality of the query or input prompt.Tips for crafting effective prompts:Be Specific: Avoid vague prompts like "Return Expiry Date of the Passport". Instead, use a more detailed query like: "Return the Expiry Date of the Passport in the format DD/MM/YYYY."Define a return format statement as well which should cover all the expected outcomes in order to avoid garbage values and unprecedented results.Test and Refine: You can test the quality of your queries and verify if they yield the desired results by using the Playground feature in the CloudFiles app.Testing Queries in the Playground:Navigate to CloudFiles App > Document AI > Playground.Upload a sample file.Use the interactive Query side-component to experiment with different prompts against the file.This iterative process helps you fine-tune your queries for optimal results before implementing them in your workflows.
This iterative process helps you fine-tune your queries for optimal results before implementing them in your workflows.
### Create Query Collection
Now that you have constructed the variables, we will combine them into an apex-defined collection variable of class cldfs_QueryDocumentPrompt.
The creation of this collection variable has been shown in the image below-

Once created, you can simply use an assignment operator to add the above variables into this collection. This has been shown below-

### Execute Queries in Batch
The previous consolidates all constructed queries into a single collection, preparing them for batch execution using Query Document/Dataset (Batch). In this step, we will actually use this action along with the collection variable from previous step to execute these queries. This action takes in 2 inputs -
- Processed Document Id: Select Triggering cldfs__CloudFilesEvent__c {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId}
- Prompts: Select QueryCollection_Passport (the previously created query collection)
The final action with the inputs is shown below -

This step executes all data extraction queries simultaneously, optimizing performance and ensuring efficient processing.
### Loop & Filter the Results
The batch action above provides the results in a batched manner as well. We need to loop through these results in order to update them in our Salesforce record. We further need to filter the results into branches in order to update them in the correct salesforce properties. This step allows the flow to individually handle each query result, thus giving more control.
The image below shows how the loop has been setup. Set the Collection Variable to Outputs from Execute Passport Queries > Prompts.

Once you have setup the loop, you can check the loop item's 'id' field in order to create the branches. These are the same IDs that we provided above while creating the Query variables. The image below shows an example branch-

### Update Salesforce fields
Now that we have branches created to handle the response of each of the individual queries sent, we can easily update our record fields. While we can simply add the Update record action into these branches, this will trigger multiple record updates for the same record in a short time.
Since it is a good practice to perform less number of record update calls, we will use a simple trick. We will create some empty text variables for each of the responses, and store the result from the response array into these variables. You can simply create a text variable assign the looped item's 'result' as shown in the screenshot below-

> CloudFiles Document AI query results are always returned as plain text. To assign these text results to Salesforce fields of types other than Text, you must utilize Salesforce Flow’s native logic and formula elements to convert the values appropriately. For example, the DATEVALUE formula converts text into a Date type field, ensuring compatibility and correct field assignment.
Now that we have various variables for our responses, we can use a singular Update Record method to update the fields with these values. This has been shown below-

That's it. Your flow is now configured to run multiple queries in a batch and save the responses in record fields.
## See it in Action
Now that everything is set up, you can test your flows. When a Passport or Driver's License is uploaded as Salesforce Files onto a Contact record, the mapped fields should be updated automatically.
> **Note** — Note: As Flow Automation executions and document processing via AI may take a short time, the field updates will not reflect immediately. To view the updates, wait briefly and refresh the page.

Congratulations! You've successfully created an AI-powered KYC Documents checker using CloudFiles AI & Salesforce flow.
## Beyond this Tutorial
While this tutorial provides a simple and specific use case for processing Salesforce Files, the same logic can be extended to various scenarios such as:
- Order Management: Automatically extracting details from Purchase Orders uploaded to Order records and updating related fields or creating Order Line Items.
- Invoice Processing: Extracting invoice details uploaded on Opportunities and updating relevant fields or creating related payment records.
- HR Onboarding: Automatically extracting and populating data from employee documents uploaded to custom Employee records.
- Compliance Management: Processing compliance-related documentation (e.g., certifications) uploaded to Account records, updating compliance status automatically.
- Insurance Claims: Extracting data from insurance claim documents uploaded to Case records and automatically updating claim status and related details.
Explore these use cases to streamline your document management and Salesforce data updates, enhancing your organization's efficiency and accuracy.
---
# Classify and Rename Uploaded Files
https://help.cloudfiles.io/salesforce/classify-and-rename-uploaded-files
# Classify and Rename Uploaded Files
Learn how to use CloudFiles Document AI with Salesforce flow automations to classify incoming documents (Passport or Driving License) and automatically rename them with the appropriate prefix.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to classify incoming docs and rename them appropriately. Each time a file is uploaded into Salesforce or external storage, the following actions will occur:
- The file is processed using CloudFiles Document AI.
- A Natural Language Query executes to classify the file as Passport or Driving License.
- File is automatically renamed with a prefix based on the classification.
In order to setup this automation, you first need to have some pre-requisites. After this you can start setting up some query automations and updates to achieve your use-case. Check the sections below for more information.
## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Initial Automation Setup
There are 2 flows you will need to setup to process the uploaded files. The first flow is triggered when the document is uploaded into Salesforce or external storage. This flow sends the file to AI for processing. This might take a few seconds. Once the AI is done with processing, the second flow will trigger which will contain the processed document. You can then run queries on this processed document.
- Flow 1: Send Document For Processing - Triggered when file is uploaded into Salesforce or external storage. Sends the file for processing which may take a few seconds to a minute.
- Flow 2: Document Processing Complete - Triggered when the file has been processed by AI. Performs queries on the file to extract the data.
> Read the article on AI Flows - Initial Setup Guide carefully to setup both the flows. Once your initial flows are setup as shown above, you are ready to move to the next step.
Once your flow setup is complete, your flows should look like the following.

## Query Automation Setup
Now that you have the initial automation setup, we can take the document processed flow and extend it to query the document and update the required fields. In this section, we show how to query the processed document, check the results and perform the necessary updates.
### Querying the document
In order to query the document, we will simply use the Query Document/Dataset flow action. This action taken in a processed document ID and a text query as input. The processed document ID is available as output of the Get Event Details action. Here are the full inputs used in the image below.
Processed Document Id :
( {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId} )
Query = Enter a clear Natural Language Classification Prompt such as:What type of File is this ? If this is a Passport Return "Passport", If this is a Driver's License Return "DL", If anything else Return "NA".

### Checking the answers
The Query document action above outputs a text variable which is the full response of AI for the given query. You can use this text response along with flow branching logics to perform complex things. Below, we have used the response from AI to create 2 separate branches which we will use in the next step.

This step ensures the flow accurately identifies the type of document processed, allowing appropriate subsequent record updating actions.
### Create File Name Formula
Now that we have the AI categorization and the file name, we will create a simple formula to concatenate the two together and create the final desired file name. Shown below is a text resource variable where this formula has been used. The file name is available as an output of the Get Event Details action : Get_Triggering_Event_Details > DocumentProcessed > File > name.

### Updating File Name
Now that our flow knows which document is which type, we are simply going to append it's name with the AI output and and then update the file. Based on whether your file was uploaded in Salesforce or in external storage, we will use one of the following approaches to update the file name -
- For Salesforce Files - Simply update the Content Document Title using Update Records Action.
- For External Files - Use CloudFiles' Update Resource flow action to update external file name
Refer to the sections below based on your use-case.
### For Salesforce Files
Here we will use the Salesforce Update Records action to update the title of the uploaded content document. The ID of the content document to be updated is provided in the output of Get Event Details : Get_Triggering_Event_Details > DocumentProcessed > File > id. The corresponding action is shown below.

### For External Files
We will use the CloudFiles' Set Resource Property flow action to update the external file's name. In order to use this action, we first need a create an Apex-Defined variable of the class cldfs_Resource.

We need to assign some values to this variable using an Assignment action. These values help identify the location of the file in the external library. These may include the id, driveID, library & type of the resource. These values are available as outputs of the Get Event Details action.
- Var_Resource > driveId = Get Triggering Event Details > Document Processed > File > driveId
- Var_Resource > id = Get Triggering Event Details > Document Processed > File > id
- Var_Resource > library = Get Triggering Event Details > Document Processed > File > library
- Var_Resource > type = Get Triggering Event Details > Document Processed > File > type

Finally, we use this variable in the Set Resource Property action along with the desired file name to make the update. We need to provide the resource as an input and define a property value pair. Use 'name' as Property name and the formula we created above for the proeprty value. This is shown below.

> When Updating a Resource's 'Name' Column/Property with Set Resource PropertyTo update the 'Name' column of a SharePoint Resource (File or Folder), you need to follow a special configuration:Separate action for 'Name'You must create a separate Set Resource Property action for updating the 'Name' column.Only the 'Name' column can be updated within this action.No other columns (properties) can be updated in the same action when modifying the 'Name' column.Updating 'Name' and other columnsIf you need to update both the 'Name' column and other columns simultaneously, you must use two separate actions:One action should be dedicated solely to updating the 'Name' column.A second action should update all other columns.
## See it in Action
Now that everything is set up, you can test your flows. When a Passport or Driver's License is uploaded as Salesforce Files onto a Contact record, the corresponding Salesforce File should be renamed automatically.
> **Note** — Note: As Flow Automation executions and document processing via AI may take a short time, the field updates will not reflect immediately. To view the updates, wait briefly and refresh the page.
> **Flow 2 Debug** — Whenever a file is processed using the Process Document using AI action, a Document Processed object record is published.You can query these event object records to verify successful file processing and debug the flow.Example SOQL Query:To check Document Processed events sorted by the most recent:SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESCYou can check the Context and File Details in the Data Field of the record.When a flow runs in debug mode and executes Query Document/Dataset action, you can check the results and modify the queries if required.
---
# Document Mapper Tutorial
https://help.cloudfiles.io/salesforce/document-mapper-tutorial
# Document Mapper Tutorial
Learn how to use CloudFiles Document Mapper, a no-code feature that integrates with Salesforce List View Buttons to automatically process business documents and create corresponding Salesforce records.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, you’ll learn how to use CloudFiles Document Mapper, a powerful no-code feature that integrates seamlessly with Salesforce List View Buttons to automate the processing of business documents—such as Purchase Orders, Invoices, Quotes, and other structured files. Document Mapper analyzes the uploaded document, extracts key information, and automatically creates the corresponding Salesforce records, including any related child records like Line Items, based on the configuration you define. This enables you to convert structured documents into clean, accurate Salesforce data with minimal setup and no manual data entry.
With this setup, CloudFiles will:
- Automatically detect the Document Type (PO, invoice, quote, etc.)
- Extract important fields such as Document Number, Document Date, Total Amount, Company Name, and Document Description
- Identify and parse Line Items (if present) and create corresponding child Line Item records associated with the parent Business Document
Before configuring this automation, ensure that the required prerequisites are completed. Once ready, you can begin building your query automations and update rules to fit your specific use case. Refer to the sections below for detailed guidance.
The image below provides a visual overview of how the Document Mapper process works:

## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Create a Document Mapper Configuration
Navigate to CloudFiles App → Document AI → Document Mapper, then click Create New Configuration to start setting up your document mapping. Start by selecting the Salesforce Object you want to map documents to, such as an Account, Opportunity, or any Custom Object.

Once the object is selected and saved, you can define the fields and provide AI prompts that instruct CloudFiles on what information should be extracted from the uploaded documents.

When configuring the data extraction, click the +Add button to open the configuration popup shown in the image below.

From here, you can also add a related object, allowing you to define child object mappings for scenarios where the document contains Line Items or similar structured sub-records. Specify the child object type, outline the fields that need to be extracted, and define prompts that help identify both the Line Item section and each of its individual fields.
After setting up the extraction rules, upload a sample document to fine-tune the prompt and achieve the expected output. This helps ensure the AI correctly understands your instructions before deploying the configuration.

Once you are satisfied with the results, simply click Save to generate the Config ID, which you will later use when integrating Document Mapper with List View or Detail Page buttons in Salesforce.

> You’ll use this Config ID while setting up your List View or Detail Page buttons.
### Create a New List View Button
To allow users to trigger Document Mapper directly from a Salesforce list view, begin by creating a new List View Button on the Business Document object. Go to Setup → Object Manager, open the Business Document object, and navigate to Buttons, Links, and Actions to create a new button or link. Configure it as a List Button, set the Content Source to URL, and choose the behavior to display in the existing window without the sidebar or header.
Next, copy the template URL below, replace .vf.force.com/apex/documentMapperAction?configId={your_config_id}
```

After saving the button, add it to your list view layout.
## Test it in action
Once configured, users can simply click the button, upload a file, and let Document Mapper automatically create the corresponding records. Before saving, a preview screen will display the newly created record, allowing users to review and adjust the extracted field values if needed. After verifying the information, they can click Save Records to finalize the record creation.

After completing all the steps, you can view the newly created record by navigating to the Business Document object’s list view. By opening the newly created Business Document record, you can also see the automatically created child Line Item records in the Related List.

---
# Document Checklist
https://help.cloudfiles.io/salesforce/document-checklist
# Document Checklist
Shows how to use CloudFiles Document AI with Salesforce flow automations to classify incoming documents via Natural Language Query and automatically update a student's Document Checklist.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to classify incoming documents and update the checklist appropriately. Each time a file is uploaded into Salesforce or external storage, the following actions will occur:
- The file is processed using CloudFiles Document AI.
- A Natural Language Query executes to classify the uploaded files.
- Based on the classification, document checklist is updated.
In order to setup this automation, you first need to have some pre-requisites. After this you can start setting up some query automations and updates to achieve your use-case. Check the sections below for more information.
> This tutorial showcases how academic documents uploaded to a student's record in Salesforce is classified using CloudFiles Document AI. Based on the classification, the related Document Checklist (a child object) is updated with the document name, submission status, and upload date, ensuring automated tracking of student submissions.
## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Initial Automation Setup
There are 2 flows you will need to setup to process the uploaded files. The first flow is triggered when the document is uploaded into Salesforce or external storage. This flow sends the file to AI for processing. This might take a few seconds. Once the AI is done with processing, the second flow will trigger which will contain the processed document. You can then run queries on this processed document.
- Flow 1: Send Document For Processing - Triggered when file is uploaded into Salesforce or external storage. Sends the file for processing which may take a few seconds to a minute.
- Flow 2: Document Processing Complete - Triggered when the file has been processed by AI. Performs queries on the file to extract the data.
> Read the article on AI Flows - Initial Setup Guide carefully to setup both the flows. Once your initial flows are setup as shown above, you are ready to move to the next step.
Once your flow setup is complete, your flows should look like the following.

## Query Automation Setup
Now that you have the initial automation setup, we can take the document processed flow and extend it to query the document and update the required fields. In this section, we show how to query the processed document, check the results and perform the necessary updates.
### Querying the document
In order to query the document, we will simply use the Query Document/Dataset flow action. This action takes a processed document ID and a text query as input. The processed document ID is available as output of the Get Event Details action. Here are the full inputs used in the image below.
Processed Document Id :
( {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId} )
Query = Enter a clear Natural Language Classification Prompt .
This prompt is used to classify academic documents uploaded to a student’s record in Salesforce. The goal is to identify the type of document and update the associated checklist accordingly.
Classify the uploaded file into one of the following categories: 10th Marksheet, 12th Marksheet, Passport, Transcript, or Transfer Certificate. Based on the document type identified, return a specific number as follows: return 1 if the file is a 10th Marksheet, 2 if it is a 12th Marksheet, 3 for a Passport, 4 for a Transcript, and 5 for a Transfer Certificate. If the document does not match any of these categories, return 0. Only return the corresponding number with no additional explanation or text.
For example, if a 12th Marksheet is uploaded , then the AI Output will be 2.

### Checking the answers
The Query document action above outputs a text variable which is the full response of AI for the given query. You can use this text response with Flow decision branches to perform relevant actions based on the document type. Below, we have used the response from AI to create 5 separate branches based on the document type, which we will use in the next step.

This step ensures the flow accurately identifies the type of document processed, allowing appropriate subsequent record updating actions.
### Updating Document Checklist
Once the classification result is received and matched using decision branches, the corresponding entry in the Document Checklist, a child object of the Student record, can be filtered and updated. Each time a document is uploaded and processed, its status in the checklist is updated accordingly.

## See it in Action
Now that everything is set up, you can test your flows. When a document is uploaded as a Salesforce File on the record, the document checklist is automatically updated.
> **Note** — Note: As Flow Automation executions and document processing via AI may take a short time, the field updates will not reflect immediately. To view the updates, wait briefly and refresh the page.
> **Flow 2 Debug** — Whenever a file is processed using the Process Document using AI action, a Document Processed object record is published.You can query these event object records to verify successful file processing and debug the flow.Example SOQL Query:To check Document Processed events sorted by the most recent:SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESCYou can check the Context and File Details in the Data Field of the record.When a flow runs in debug mode and executes Query Document/Dataset action, you can check the results and modify the queries if required.
---
# Get CSV text Output from AI Query
https://help.cloudfiles.io/salesforce/get-csv-text-output-from-ai-query
# Get CSV text Output from AI Query
Learn how to use CloudFiles Document AI with Salesforce flow automations to extract multiple data fields from uploaded documents in CSV format using a single natural language query.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to extract multiple data fields from uploaded documents using a single query. Each time a file is uploaded into Salesforce or external storage, the following actions will occur:
- The file is processed using CloudFiles Document AI.
- A Natural Language Query executes to extract information from the document in CSV format.
- Extracted information is then updated in its respective fields.
In order to setup this automation, you first need to have some pre-requisites. After this you can start setting up some query automations and updates to achieve your use-case. Check the sections below for more information.
## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Initial Automation Setup
There are 2 flows you will need to setup to process the uploaded files. The first flow is triggered when the document is uploaded into Salesforce or external storage. This flow sends the file to AI for processing. This might take a few seconds. Once the AI is done with processing, the second flow will trigger which will contain the processed document. You can then run queries on this processed document.
- Flow 1: Send Document For Processing - Triggered when file is uploaded into Salesforce or external storage. Sends the file for processing which may take a few seconds to a minute.
- Flow 2: Document Processing Complete - Triggered when the file has been processed by AI. Performs queries on the file to extract the data.
Once your flow setup is complete, your flows should look like the following.

> Read the article on AI Flows - Initial Setup Guide carefully to setup both the flows. Once your initial flows are setup as shown above, you are ready to move to the next step.
## Query Automation Setup
Now that you have the initial automation setup, we can take the document processed flow and extend it to query the document and update the required fields. In this section, we show how to query the processed document, check the results and perform the necessary updates.
### Querying the document
In order to query the document, we will simply use the Query Document/Dataset flow action. This action taken in a processed document ID and a text query as input. The processed document ID is available as output of the Get Event Details action. Here are the full inputs used in the image below.
Processed Document Id :
( {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId} )
Query = Enter a detailed natural language prompt that clearly defines the structure and format of the expected output:
"Return the following details from the Driver's License. Full Name (First Name. + Last name), DL Number, Issue Date and Expiry Date. The ouput should be in the format FullName; DL Number;IssueDate;ExpiryDate. For example if the name is John Doe, DL number is 123456, Issue Date is 12 Mar 2014, expiry is 12 mar 2019 the output should be John Doe,123456,12-03-2014,12-03-2019. If any of the details are missing, put a space as placeholder."
Example Result:
```text
John Doe,12345678,12-03-2014,12-03-2019
```
This output can now be parsed using formulas to update respective fields like name, DL number, issue date and expiry date.
> One prompt can be designed to simultaneously extract multiple fields from a document.

### Parsing AI Output with Salesforce Formulas
The Query Document action returns output in CSV format. Use flow formulas to extract specific values. Below are examples:
### Updating Contact Record
Once the values are parsed, use an Update Records action to populate them into the correct fields.
To identify the right contact record, use a Get Records element where : Id = {!Get_Triggering_Event_Details.DocumentProcessed.Context}.
Filter and retrieve the ontact, then update its fields using the extracted values.

## See it in Action
Now that everything is set up, you can test your flows. When a Driver's License is uploaded as Salesforce Files onto a Contact record, the required fields should get populated accordingly.
> **Note** — Note: Since flow executions and AI processing may take a few moments, the updates might not appear instantly. Refresh the page to view the latest values.
> **Flow 2 Debug** — Whenever a file is processed using the Process Document using AI action, a Document Processed object record is published.You can query these event object records to verify successful file processing and debug the flow.Example SOQL Query:To check Document Processed events sorted by the most recent:SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESCYou can check the Context and File Details in the Data Field of the record.When a flow runs in debug mode and executes Query Document/Dataset actions, you can check the results and modify the queries if required.
```sql
SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESC
```
You can check the Context and File Details in the Data Field of the record. When a flow runs in debug mode and executes Query Document/Dataset actions, you can check the results and modify the queries if required.
---
# Get JSON Output from AI Query
https://help.cloudfiles.io/salesforce/get-json-output-from-ai-query
# Get JSON Output from AI Query
Learn how to use CloudFiles Document AI with Salesforce flow automations to extract data from documents into structured JSON and process it with Apex.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to extract data from documents in a structured JSON format. Each time a file is uploaded into Salesforce or external storage, the following actions will occur:
- The file is processed using CloudFiles Document AI.
- A natural language query is executed to extract information from the document in a JSON format tailored to your object and field structure.
- The extracted data is parsed and processed using Salesforce Apex.
In order to setup this automation, you first need to have some pre-requisites. After this you can start setting up some query automations and updates to achieve your use-case. Check the sections below for more information.
## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Initial Automation Setup
There are 2 flows you will need to set up to process the uploaded files. The first flow is triggered when the document is uploaded into Salesforce or external storage. This flow sends the file to AI for processing. This might take a few seconds. Once the AI is done with processing, the second flow will trigger which will contain the processed document. You can then run queries on this processed document.
- Flow 1: Send Document For Processing - Triggered when file is uploaded into Salesforce or external storage. Sends the file for processing which may take a few seconds to a minute.
- Flow 2: Document Processing Complete - Triggered when the file has been processed by AI. Performs queries on the file to extract the data.
> All information related to setting up these flows is given in the AI Flows - Initial Setup Guide article. Please go through this article carefully to set up these flows.
Once your flow setup is complete, your flows should look like the following.

## Query Automation Setup
Now that you have the initial automation setup, we can take the document processed flow and extend it to query the document and update the required fields. In this section, we show how to query the processed document, check the results and perform the necessary updates.
### Querying the document
In order to query the document, we will simply use the Query Document/Dataset flow action. This action taken in a processed document ID and a text query as input. The processed document ID is available as output of the Get Event Details action.

Here are the full inputs used in the above image:
Processed Document Id : {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId}
Query = AI can be guided to generate structured outputs and responses tailored to our specific requirements, thereby simplifying data processing. Provide a clear prompt that tells the AI what data to extract, the required format for each field, and the output structure (e.g., JSON). Specify how to handle missing values (e.g., use null ) and include any key mappings for integration.
> **Example:** — For example, consider a Driver's License or Passport. We need to write a query to extract various details from the document, such as the type, number, issue date, expiry date, and the holder's name. The sample query for this is:" Identify the type of KYC document provided (e.g., Passport, Driver's License). Extract the following fields from the document: Document Type (e.g., 'Passport', 'Driver's License') Document Number Full Name of the document holder Date of Issue (in YYYY-MM-DD format) Date of Expiry (in YYYY-MM-DD format) Return only the structured JSON in this exact format: { "KYC_Document_Type__c": "", "KYC_Document_Number__c": "", "KYC_Document_Holder_Name__c": "", "KYC_Document_Issue__c": "", "KYC_Document_Expiry__c": "" }\n If any field is missing or unreadable, return its value as null. Only return the JSON object and nothing else."The AI output as tested on the above sample document is as follows:{ "KYC_Document_Type__c": "Driver's License", "KYC_Document_Number__c": "64040738293", "KYC_Document_Holder_Name__c": "KOWALSKI JAN", "KYC_Document_Issue__c": "2019-03-06", "KYC_Document_Expiry__c": "2028-01-18" }
The AI output as tested on the above sample document is as follows:
```json
{
"KYC_Document_Type__c": "Driver's License",
"KYC_Document_Number__c": "64040738293",
"KYC_Document_Holder_Name__c": "KOWALSKI JAN",
"KYC_Document_Issue__c": "2019-03-06",
"KYC_Document_Expiry__c": "2028-01-18"
}
```
### Process AI Output Using Apex Action
Once the line items are available in JSON format, they can be processed in various ways within Salesforce. In this case, we use an Apex Action to process the output —it parses the JSON, maps each data field to the appropriate Object field, and updates the corresponding fields on the Contact record.

This is the Apex code used to process the JSON input :
## See it in Action
Now that everything is set up, you can test your flows. When a Purchase Order is uploaded as a Salesforce File on the record, the corresponding order line items are automatically extracted, created, and listed.
> **Note** — Note: As Flow Automation executions and document processing via AI may take a short time, the field updates will not reflect immediately. To view the updates, wait briefly and refresh the page.
> **Flow 2 Debug** — Whenever a file is processed using the Process Document using AI action, a Document Processed object record is published.You can query these event object records to verify successful file processing and debug the flow.Example SOQL Query:To check Document Processed events sorted by the most recent:SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESCYou can check the Context and File Details in the Data Field of the record.When a flow runs in debug mode and executes Query Document/Dataset action, you can check the results and modify the queries if required.
```sql
SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESC
```
You can check the Context and File Details in the Data Field of the record. When a flow runs in debug mode and executes Query Document/Dataset action, you can check the results and modify the queries if required.
---
# KYC Upload Checker
https://help.cloudfiles.io/salesforce/kyc-upload-checker
# KYC Upload Checker
Set up a KYC upload checker in Salesforce using CloudFiles Document AI and flow automations to classify uploaded documents and auto-update Account fields.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to create a KYC upload checker. Each time a file is uploaded into Salesforce or external storage, the following actions will occur :
- The file will be processed using CloudFiles Document AI.
- Natural Language Queries will execute to classify the file and extract key details.
- Corresponsing fields will be updated in Salesforce.
In order to setup this automation, you first need to have some pre-requisites. After this you can start setting up some query automations and updates to achieve your use-case. Check the sections below for more information. In the image below, we have demonstrated this in action.

## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Initial Automation Setup
There are 2 flows you will need to setup to process the uploaded files. The first flow is triggered when the document is uploaded into Salesforce or external storage. This flow sends the file to AI for processing. This might take a few seconds. Once the AI is done with processing, the second flow will trigger which will contain the processed document. You can then run queries on this processed document.
- Flow 1: Send Document For Processing - Triggered when file is uploaded into Salesforce or external storage. Sends the file for processing which may take a few seconds to a minute.
- Flow 2: Document Processing Complete - Triggered when the file has been processed by AI. Performs queries on the file to extract the data.
All information related to setting up these flows is given in the AI Flows - Initial Setup Guide article. Please go through this article carefully to set up these flows.
Once your flow setup is complete, your flows should look like the following.

> Read the article on AI Flows - Initial Setup Guide carefully to setup both the flows. Once your initial flows are setup as shown above, you are ready to move to the next step.
## Query Automation Setup
Now that you have the initial automation setup, we can take the document processed flow and extend it to query the document and update the required fields. In this section, we show how to query the processed document, check the results and perform the necessary updates.
### Classifying the document
In order to classify the document, we will simply use the Query Document/Dataset flow action along with a natural language prompt. This action taken in a processed document ID and a text query as input. The processed document ID is available as output of the Get Event Details action. Here are the full inputs used in the image below.
Processed Document Id = Outputs from Get Event Details : Get Processed Event Details > Document Processed > ProcessedDocumentId
Query = Classify the file as either a driving license or a passport. If the file does not match either of these types, classify it as other. Based on the classification, give the output as one of the following - Driving License, Passport, or Other.

### Extract Document Specific Info
Now that our documents are classified, we can use the output of the 'Query Document' action to create 2 branches in our flow. In each of the branches, we will ask document specific questions to extract relevant information.
First, we will add a decision element to determine whether a document is a Driving License or a Passport based on the earlier classification query. We will create two outcomes for this decision element, one for each document type, as shown below -
and direct the flow accordingly. Then, we will add KYC-specific queries using the ‘Query Document’ action to retrieve crucial KYC details. Finally, we will populate these details into the relevant custom fields of the Account object. The detailed steps are given below -

Next, we will use more natural language queries to extract specific information from the documents. Different relevant queries can be written as text constants and applied as needed. It is advisable to make these queries highly objective and specific.
For this tutorial, we have used three queries: one to fetch the Passport number, another for the Passport country, and a third for the Driver's license number. Refer to the queries below for an understanding of prompt writing. You can customize these queries to suit your requirements.
> Prompt to fetch Driver’s License Number - "Given document is a driving license. Extract the Driving License number from this and only output the driving license number. If Driving License number cannot be read, give output as Not Available."
> Prompt to fetch Passport Country' - "Given document is a passport. Extract the Passport country from this and classify is as one of the following - USA, UK, Germany, Australia, India. If passport country cannot be classified as one of the given options then output Other."
> Prompt to fetch Passport Number - "Given document is a passport. Extract the Passport number from this and only output the passport number. If passport number cannot be read, give output as Not Available."
The output of each of the queries will be used in next section to update the Salesforce fields.
### Updating Salesforce fields
We will use ‘Update Records’ action for updating the above fetched information in the relevant fields of the Account object record. Follow these configurations - Update Records > Check Specify conditions to identify records, and set fields individually > Fill Account as Object
> **Note** — Note - Here we are using earlier mentioned context of the uploaded file to find the right Account record by comparing Account ‘Id’ with the ‘Context’. In order to do so use Id Equals Outputs from Get Processed Event Details > DocumentProcessed > Context field-value pair to filter account records in ‘Update Records’.
Refer to the video given below for visual understanding -
[Watch video](https://youtu.be/LQ-kLwn2aiM)
## See it in Action
Now that everything is setup, let’s test our flow. Follow the steps below to see this AI automation in action.
- Simply create a new Account record in Salesforce and then go the ‘Files’ tab that we added previously.
- Upload KYC document(s) using the ‘Files’ tab. You can upload the files one by one or multiple files at once. You can choose to upload passports, driver's licenses, or any other document types.
- The flow may take a few seconds to run so click on the refresh page on the top.
- Navigate to the ‘Details’ tab. You will find the relevant fields updated if the desired documents are uploaded, or the AI output will indicate if the Passport or Driver's License was not detected.

Congratulations! You've successfully created an AI-powered KYC Documents checker using CloudFiles AI & Salesforce flow.
---
# Line Item Extraction
https://help.cloudfiles.io/salesforce/line-item-extraction
# Line Item Extraction
This tutorial shows how to use CloudFiles with Salesforce flow automations to extract order line item data from uploaded purchase orders using Document AI and Apex.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to extract data from documents in a specified format. Each time a file is uploaded into Salesforce or external storage, the following actions will occur:
- The file is processed using CloudFiles Document AI.
- A Natural Language Query executes to extract order line items from the uploaded purchase orders.
- Information is extracted
- The extracted information is then processed.
In order to setup this automation, you first need to have some pre-requisites. After this you can start setting up some query automations and updates to achieve your use-case. Check the sections below for more information.
Refer to the below image to understand the working:

## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Initial Automation Setup
There are 2 flows you will need to setup to process the uploaded files. The first flow is triggered when the document is uploaded into Salesforce or external storage. This flow sends the file to AI for processing. This might take a few seconds. Once the AI is done with processing, the second flow will trigger which will contain the processed document. You can then run queries on this processed document.
- Flow 1: Send Document For Processing - Triggered when file is uploaded into Salesforce or external storage. Sends the file for processing which may take a few seconds to a minute.
- Flow 2: Document Processing Complete - Triggered when the file has been processed by AI. Performs queries on the file to extract the data.
> Read the article on AI Flows - Initial Setup Guide carefully to setup both the flows. Once your initial flows are setup as shown above, you are ready to move to the next step.
Once your flow setup is complete, your flows should look like the following.

## Query Automation Setup
Now that you have the initial automation setup, we can take the document processed flow and extend it to query the document and update the required fields. In this section, we show how to query the processed document, check the results and perform the necessary updates.
### Querying the document
In order to query the document, we will simply use the Query Document/Dataset flow action. This action taken in a processed document ID and a text query as input. The processed document ID is available as output of the Get Event Details action.

Here are the full inputs used in the above image:
Processed Document Id :
( {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId} )
Query = AI can be guided to generate structured outputs and responses tailored to our specific requirements, thereby simplifying data processing. Provide a clear prompt that tells the AI what data to extract, the required format for each field, and the output structure (e.g., JSON). Specify how to handle missing values (e.g., use null ) and include any key mappings for integration.
> **Example:** — Suppose there is a parent object called Purchase Orders, which has a related child object called Order Line Items. Each order line item includes the following fields: Line Item Name, Quantity, Unit Price, and Line Amount.We need a query that can extract the Order Line Items from a given sample Purchase Order and return the results in a structured JSON array format.The sample query is:Extract all line items from the Purchase Order document. For each line item, extract the following fields: - Line Item Name - Quantity (whole number) - Unit Price (currency value with two decimals) - Line Amount (currency value with two decimals) Return the result as a JSON array of objects. Each object must have these keys: - Item_Name__c - Quantity__c - Unit_Price__c - Line_Amount__c Format example: [ { "Item_Name__c": "", "Quantity__c": , "Unit_Price__c": , "Line_Amount__c": }, { "Item_Name__c": "", "Quantity__c": , "Unit_Price__c": , "Line_Amount__c": } ] Rules: - If any field is missing for a line item, set its value to null (e.g., "Unit_Price__c": null). - Quantity must be an integer (no decimals). - Unit Price and Line Amount must be numbers with two decimal places. - Output only the JSON array. No extra text, comments, or explanation. The AI Output as tested in the AI Playground on the above sample document is as follows:[{"Line Item Name": "Onsite STEM Workshop Training", "Quantity": "1", "Unit Price": "5000.00", "Line Amount": "5000.00"}, {"Line Item Name": "STEM Workbook 1", "Quantity": "850", "Unit Price": "12.00", "Line Amount": "10200.00"}, {"Line Item Name": "STEM Workbook 2", "Quantity": "850", "Unit Price": "42.00", "Line Amount": "35700.00"}, {"Line Item Name": "STEM Workbook 3", "Quantity": "850", "Unit Price": "15.50", "Line Amount": "13175.00"}, {"Line Item Name": "Test Series 1", "Quantity": "850", "Unit Price": "9.50", "Line Amount": "8075.00"}, {"Line Item Name": "Test Series 2", "Quantity": "850", "Unit Price": "11.50", "Line Amount": "9775.00"}]
The AI Output as tested in the AI Playground on the above sample document is as follows: [{"Line Item Name": "Onsite STEM Workshop Training", "Quantity": "1", "Unit Price": "5000.00", "Line Amount": "5000.00"}, {"Line Item Name": "STEM Workbook 1", "Quantity": "850", "Unit Price": "12.00", "Line Amount": "10200.00"}, {"Line Item Name": "STEM Workbook 2", "Quantity": "850", "Unit Price": "42.00", "Line Amount": "35700.00"}, {"Line Item Name": "STEM Workbook 3", "Quantity": "850", "Unit Price": "15.50", "Line Amount": "13175.00"}, {"Line Item Name": "Test Series 1", "Quantity": "850", "Unit Price": "9.50", "Line Amount": "8075.00"}, {"Line Item Name": "Test Series 2", "Quantity": "850", "Unit Price": "11.50", "Line Amount": "9775.00"}]
### Process AI Output Using Apex Action
Once the line items are available in JSON format, they can be processed in various ways within Salesforce. In this case, we use an Apex Action to handle the data — it reads the JSON, maps each item to the correct Salesforce fields, associates them with the specified Purchase Order, and inserts all the records in a single step.

This is the Apex code used to process the JSON input :
## See it in Action
Now that everything is set up, you can test your flows. When a Purchase Order is uploaded as a Salesforce File on the record, the corresponding order line items are automatically extracted, created, and listed.
> **Note** — Note: As Flow Automation executions and document processing via AI may take a short time, the field updates will not reflect immediately. To view the updates, wait briefly and refresh the page.
> **Flow 2 Debug** — Whenever a file is processed using the Process Document using AI action, a Document Processed object record is published.You can query these event object records to verify successful file processing and debug the flow.Example SOQL Query:To check Document Processed events sorted by the most recent:SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESCYou can check the Context and File Details in the Data Field of the record.When a flow runs in debug mode and executes Query Document/Dataset action, you can check the results and modify the queries if required.
---
# Mass property extraction from a Medical Form
https://help.cloudfiles.io/salesforce/mass-property-extraction-from-a-medical-form
# Mass property extraction from a Medical Form
Learn how to set up Salesforce flow automations with CloudFiles Document AI and Custom Metadata to extract multiple properties from uploaded medical form documents.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to extract multiple properties from documents using custom metadata. Each time a file is uploaded into Salesforce or external storage, the following actions will occur:
- The file is processed using CloudFiles Document AI.
- The natural language query is stored as a field in Custom Metadata and is used to extract information from the document. .
- The extracted data is processed using Salesforce Apex.
In order to setup this automation, you first need to have some pre-requisites. After this you can start setting up some query automations and updates to achieve your use-case. Check the sections below for more information.
## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Initial Automation Setup
There are 2 flows you will need to set up to process the uploaded files. The first flow is triggered when the document is uploaded into Salesforce . This flow sends the file to AI for processing. This might take a few seconds. Once the AI is done with processing, the second flow will trigger which will contain the processed document. You can then run queries on this processed document.
- Flow 1: Send Document For Processing - Triggered when file is uploaded into Salesforce or external storage. Sends the file for processing which may take a few seconds to a minute.
- Flow 2: Document Processing Complete - Triggered when the file has been processed by AI. Performs queries on the file to extract the data.
> All information related to setting up these flows is given in the AI Flows - Initial Setup Guide article. Please go through this article carefully to set up these flows.
Once your flow setup is complete, your flows should look like the following.

### Configure the Custom Metadata
Custom Metadata is lightweight, efficient, supports org-to-org transfers, and runs in the background. In this tutorial, we use a Custom Metadata type called CloudFiles Prompts which includes four fields: Label, Field_API_Name__c, Field_Type__c (e.g., Date, String, Integer), and Prompt__c.
Prompt__c stores a natural language query used to fetch a value, mapped to the field defined in Field_API_Name__c, with its type specified in Field_Type__c.
Steps to Add a New Record to Custom Metadata:
- Go to Setup (click the gear icon → Setup).
- In the Quick Find box, type "Custom Metadata Types" and click it.
- Click on your custom metadata type (e.g., CloudFiles_Prompts).
- Under the custom metadata details, click "Manage Records".
- Click the "New" button to add a new record.
- Fill in the required fields.
- Click Save.
Below is an example of two entries in the CloudFiles Prompts ,Custom Metadata, showing the mapped fields and prompt details:

## Query Automation Setup
Now that you have the initial automation setup, we can take the document processed flow and extend it to query the document and update the required fields. In this section, we show how to query the processed document, check the results and perform the necessary updates.
### Get the Custom Metadata
Now to use the Custom Metadata we created, use a Get Records element to fetch all created CloudFiles Prompts records.
> Since Custom Metadata behaves like standard records, we can use 'Get Records' to query and retrieve its entries in flows.

### Create a Prompt Collection
Once the CloudFiles Prompts records have been successfully retrieved, we add a Loop element to iterate through the output CloudFiles Prompts record collection. For each record in the loop,we create an Apex-defined variable Var_Prompt to hold structured data such that:
- {!Var_Prompt.id}
- {!Var_Prompt.query}
Then the populated Var_Prompt is added into the Apex-defined collection variable VarColl_Prompt.
### Execute queries in batch
The previous steps consolidates all queries into a single collection, preparing them for batch execution using Query Document/Dataset (Batch). In this step, we will actually use this action along with the collection variable from previous step to execute these queries. This action takes in 2 inputs -
- Processed Document Id: Select Triggering cldfs__CloudFilesEvent__c {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId}
- Prompts: Select VarColl_Prompt (the previously created query collection)
The final action with the inputs is shown below -

> **Example:** — Suppose the medical form shown below is uploaded to the Files section of the corresponding record.The image below illustrates how values extracted using prompts stored in Custom Metadata are mapped to their respective fields on the Salesforce details page of the medical form.
### Process AI Output Using Apex Action
Once the AI output is received from the Query (Batch) action, a Apex action is used to handle the data. This Apex class maps the AI-generated prompt results to fields on Medical Form records using the custom metadata type CloudFiles Prompts. It loops through each record and its prompts, checks the field type, sets the field values, and updates the records in Salesforce.

This is the Apex code used to process the AI output:
## See it in Action
Now that everything is set up, you can test your flows. When a Medical form is uploaded as a Salesforce File on the record, the properties are extracted and updated in the record.
> **Note** — Note: As Flow Automation executions and document processing via AI may take a short time, the field updates will not reflect immediately. To view the updates, wait briefly and refresh the page.
> **Flow 2 Debug** — Whenever a file is processed using the Process Document using AI action, a Document Processed object record is published.You can query these event object records to verify successful file processing and debug the flow.Example SOQL Query:To check Document Processed events sorted by the most recent:SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESCYou can check the Context and File Details in the Data Field of the record.When a flow runs in debug mode and executes Query Document/Dataset action, you can check the results and modify the queries if required.
---
# Signature Checking
https://help.cloudfiles.io/salesforce/signature-checking
# Signature Checking
Tutorial on using CloudFiles with Salesforce flow automations to check if a document is signed and authenticated, updating Salesforce records accordingly.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to check if a document is signed and authenticated . Each time a file is uploaded into Salesforce or external storage, the following actions will occur:
- The file is processed using CloudFiles Document AI.
- A Natural Language Query runs to detect the presence of a signature .
- The related Salesforce record is updated to reflect whether the signature is present or not.
In order to setup this automation, you first need to have some pre-requisites. After this you can start setting up some query automations and updates to achieve your use-case. Check the sections below for more information.
## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Initial Automation Setup
There are 2 flows you will need to setup to process the uploaded files. The first flow is triggered when the document is uploaded into Salesforce or external storage. This flow sends the file to AI for processing. This might take a few seconds. Once the AI is done with processing, the second flow will trigger which will contain the processed document. You can then run queries on this processed document.
- Flow 1: Send Document For Processing - Triggered when file is uploaded into Salesforce or external storage. Sends the file for processing which may take a few seconds to a minute.
- Flow 2: Document Processing Complete - Triggered when the file has been processed by AI. Performs queries on the file to extract the data.
> Read the article on AI Flows - Initial Setup Guide carefully to setup both the flows. Once your initial flows are setup as shown above, you are ready to move to the next step.
Once your flow setup is complete, your flows should look like the following.

## Query Automation Setup
Now that you have the initial automation setup, we can take the document processed flow and extend it to query the document and update the required fields. In this section, we show how to query the processed document, check the results and perform the necessary updates.
### Querying the document
In order to query the document, we will simply use the Query Document/Dataset flow action. This action taken in a processed document ID and a text query as input. The processed document ID is available as output of the Get Event Details action. Here are the full inputs used in the image below.
Processed Document Id :
( {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId} )
Query = Enter a clear Natural Language Classification Prompt such as:
Check if a valid signature from a doctor is present in the given document. A valid signature may be handwritten or digital and is typically located near the bottom or in a designated section of the document. It may also be accompanied by identifying information such as the doctor’s name, designation, or license number. Return 'Yes' if a valid signature from a doctor is present, otherwise return 'No'.

> Example:Suppose a medical prescription, as shown below, is uploaded to the Files section of the corresponding record.To verify the authenticity of the document, we use the following query:"Check if the document contains a valid doctor's signature. Return 'Yes' if a valid signature is present; otherwise, return 'No'."This query helps determine whether the document is verified based on the presence of a valid signature. The AI Output for this document is 'Yes'.
This query helps determine whether the document is verified based on the presence of a valid signature. The AI Output for this document is 'Yes'.
### Check AI Output and Update the Record
The Query Document action returns text variables as the AI's response to the input query. If the response is Yes, indicating the document is verified, proceed to identify the correct Patient Record record. To do this, compare the ‘Id’ with the ‘Context’. In order to do so use Id Equals Outputs from Get Processed Event Details > DocumentProcessed > Context field-value pair to filter contact records in ‘Update Records’.

## See it in Action
Now that everything is set up, you can test your flows. When a medical form or prescription is uploaded into a Medical form record, the verfied status is updated if a valid signature is present.
> **Note** — Note: As Flow Automation executions and document processing via AI may take a short time, the field updates will not reflect immediately. To view the updates, wait briefly and refresh the page.
> **Flow 2 Debug** — Whenever a file is processed using the Process Document using AI action, a Document Processed object record is published.You can query these event object records to verify successful file processing and debug the flow.Example SOQL Query:To check Document Processed events sorted by the most recent:SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESCYou can check the Context and File Details in the Data Field of the record.When a flow runs in debug mode and executes Query Document/Dataset actions, you can check the results and modify the queries if required.
```sql
SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESC
```
You can check the Context and File Details in the Data Field of the record. When a flow runs in debug mode and executes Query Document/Dataset actions, you can check the results and modify the queries if required.
---
# Simple Data Extraction from KYC Files
https://help.cloudfiles.io/salesforce/simple-data-extraction-from-kyc-files
# Simple Data Extraction from KYC Files
Learn how to set up Salesforce flow automations with CloudFiles Document AI to automatically extract KYC data (name, dates, license number) from uploaded Driving License files and update Contact record fields.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to extract data from uploaded documents . Each time a file is uploaded into Salesforce or external storage, the following actions will occur:
- The file is processed using CloudFiles Document AI.
- A Natural Language Query executes to extract information from the Driving License.
- Information is automatically updated in its respective fields.
In order to setup this automation, you first need to have some pre-requisites. After this you can start setting up some query automations and updates to achieve your use-case. Check the sections below for more information.
## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Initial Automation Setup
There are 2 flows you will need to setup to process the uploaded files. The first flow is triggered when the document is uploaded into Salesforce or external storage. This flow sends the file to AI for processing. This might take a few seconds. Once the AI is done with processing, the second flow will trigger which will contain the processed document. You can then run queries on this processed document.
- Flow 1: Send Document For Processing - Triggered when file is uploaded into Salesforce or external storage. Sends the file for processing which may take a few seconds to a minute.
- Flow 2: Document Processing Complete - Triggered when the file has been processed by AI. Performs queries on the file to extract the data.
> Read the article on AI Flows - Initial Setup Guide carefully to setup both the flows. Once your initial flows are setup as shown above, you are ready to move to the next step.
Once your flow setup is complete, your flows should look like the following.

## Query Automation Setup
Now that you have the initial automation setup, we can take the document processed flow and extend it to query the document and update the required fields. In this section, we show how to query the processed document, check the results and perform the necessary updates.
### Querying the document
In order to query the document, we will simply use the Query Document/Dataset flow action. This action takes in a processed document ID and a text query as input. The processed document ID is available as output of the Get Event Details action. Here are the full inputs used in the images below.
Processed Document Id : ( {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId} ) Query = Enter a clear Natural Language Data Extraction Prompt such as: Return the Full Name including the first and last name of the Driving License Holder

Processed Document Id : ( {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId} ) Query = Enter a clear Natural Language Data Extraction Prompt such as: Return the Driving License Issue Date in DD-MM-YYYY Format

Processed Document Id : ( {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId} ) Query = Enter a clear Natural Language Data Extraction Promptsuch as: Return the Driving License Expiry Date in DD-MM-YYYY Format

> The extracted date is returned as a text string but can be converted to a Date type data type using Salesforce formulas.
Processed Document Id : ( {!Get_Triggering_Event_Details.DocumentProcessed.ProcessedDocumentId} ) Query = Enter a clear Natural Language Classification Prompt such as: Return the Driving License Number

### Updating Contact Record
The Query document action above outputs text variables which is the full response of AI for the given query.To find the right Contact record compare 'Id' with the 'Context'. In order to do so use Id Equals Outputs from Get Processed Event Details > DocumentProcessed > Context field-value pair to filter contact records in 'Update Records'.

Now set the field values manually as shown in the below image:

## See it in Action
Now that everything is set up, you can test your flows. When a Driver's License is uploaded into a Contact folder from CloudFiles LWC on Contact record page, the mapped fields should be updated automatically.
> **Note** — Note: As Flow Automation executions and document processing via AI may take a short time, the field updates will not reflect immediately. To view the updates, wait briefly and refresh the page.
> **Flow 2 Debug** — Whenever a file is processed using the Process Document using AI action, a Document Processed object record is published.You can query these event object records to verify successful file processing and debug the flow.Example SOQL Query:To check Document Processed events sorted by the most recent:SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESCYou can check the Context and File Details in the Data Field of the record.When a flow runs in debug mode and executes Query Document/Dataset actions, you can check the results and modify the queries if required.
```sql
SELECT Id, Name, CreatedDate, cldfs__Data__c
FROM cldfs__CloudFilesEvent__c
WHERE cldfs__Type__c = 'document-processed'
ORDER BY CreatedDate DESC
```
You can check the Context and File Details in the Data Field of the record. When a flow runs in debug mode and executes Query Document/Dataset actions, you can check the results and modify the queries if required.
---
# Splitting multiple combined POs into child objects
https://help.cloudfiles.io/salesforce/splitting-multiple-combined-pos-into-child-objects
# Splitting multiple combined POs into child objects
Learn how to configure three Salesforce flows using CloudFiles Document AI to automatically split a multi-document file into individual purchase orders, create child records for each split, and attach the corresponding files to their records.
> Kind: Tutorial · Updated: Jul 4, 2026
## Overview
In this tutorial, we will see how CloudFiles can be used with Salesforce flow automations to split multiple combined documents from an uploaded Salesforce file. Each time a file is uploaded into Salesforce, the following actions will occur:
- The file is split using CloudFiles Document AI.
- Child records are created for each split file.
- The split file is then linked to its respective record.
In order to set up this automation, you first need to have some pre-requisites. After this you can start setting up AI automations and updates to achieve your use-case. Check the sections below for more information.
## Pre-requisites
Before starting with this tutorial, you need to ensure that CloudFiles Document AI is properly installed & configured in your system. Additionally, you also need to create some initial automations to process the files before you can query them. Check the 2 sections below carefully -
### Installation & Configuration
Ensure the following before starting:
- CloudFiles Document AI Installation and Configuration are complete.
- You have an Active Subscription or Trial of CloudFiles Document AI.
- The CloudFiles Event Mode setting is set to Custom Object

### Automation Setup
In this use case, a file containing multiple purchase documents will be uploaded to an Account record. The file will be split into individual purchase orders, with separate records created for each PO. Finally, each split file will be attached to its corresponding record. The following three flows are required, to achieve this:
Flow 1: Send Document for Splitting - Triggered when a file is uploaded to Salesforce, this flow sends the file for AI-based splitting, which may take a few seconds to a minute.
Flow 2: Handling the Split Event - Triggered when the file has been split by AI, this flow processes the resulting parts to create corresponding child records.
Flow 3: Attach Files to Respective Records - Triggered when a new child record is created, this flow attaches the relevant split file segment to the respective record.
## Send Document for Splitting
This flow is triggered automatically when Salesforce Files are uploaded or attached to an Account record. It uses CloudFiles Document AI to split the uploaded file into multiple documents, with each split representing an individual purchase order or document unit.

### Setting up the trigger
Create a Record-Triggered Flow on the object cldfs__CloudFilesEvent__c, with the trigger condition: Type = salesforce-file-attached AND Object Type = Account. Enable the Run Asynchronously path.
### Retrieve Event Details
Within the asynchronous path, use the Get Event Details action. Set the Event (Custom Object) to the Triggering cldfs__CloudFilesEvent__c {!$Record}.
The Outputs from Get Event Details > Salesforce Files Details will give you access to:
- ContentDocumentIds - A list of uploaded or attached file IDs.
( {!Get_Event_Details.SalesforceFiles.ContentDocumentIds} )
- ParentId – The Account record ID that the files were uploaded to.
( {!Get_Event_Details.SalesforceFiles.ParentId} )
These outputs will be used in the next step to split each uploaded file individually.

> For more information refer to the Process Salesforce Files article. This flow is based on the same structure outlined in the article, but instead of using the Process Document action, we are using the Split Document Using AI action.
### Split Attached Files
Next, add a Loop element to iterate through each ContentDocumentId retrieved from the Get Event Details step. This prepares the flow to split each uploaded file one by one.
Within the loop, add the Split Document using AI action. Configure it with following inputs:
- File Id - Current Item from Loop ({!For_Every_Attached_Content_Document})
- Library - type salesforce.
- Context - select Outputs from Get Event Details > Salesforce Files Details > ParentId ( {!Get_Triggering_Event_Details.SalesforceFiles.ParentId} ).
- You can also provide optional Instructions to guide the AI on how to split the file.
For example: "This is a bundle of scanned purchase orders. Each purchase order starts with a bold header containing the name of the company or their logo. Split at each occurrence of this pattern and name them as the name of the company."
Each time this Split Document Using AI action is executed, CloudFiles processes the uploaded file, performs the split, and publishes a Document Split event once it's done. This event becomes the trigger for the next flow — Flow 2: Handling the Split Event.
> For more information refer to the Split Document Using AI action.
## Handling the Split Event
Once a file is successfully split using CloudFiles Document AI, a Document Split event is published. This flow is triggered by that event and is responsible for processing the resulting split files — creating child records (e.g., Purchase Orders) for each individual document segment.
After completing the flow setup, your flow should appear as shown below.

### Setting up the trigger
Create a Record-Triggered Flow on the object cldfs__CloudFilesEvent__c, with the trigger condition: Type = document-split. Enable the Run Asynchronously path.
### Retrieve Event Details
Within the asynchronous path, use the Get Event Details action. Set the Event (Custom Object) to the Triggering cldfs__CloudFilesEvent__c {!$Record}.

The Outputs from Get Event Details > Document Split will give you access to:
- ContentVersionIds - A list of IDs of all the split files generated
( {!Get_Triggering_Event_details.DocumentSplit.ContentVersionIds} )
- RecordId – The Account record ID ( passed as Context in Flow 1)
( {!Get_Event_Details.DocumentSplit.RecordId} )
These outputs will be used in the next step to split each uploaded file individually.
### Process Created Files
Use a Get Records element to fetch all created ContentVersion records by matching
Id In {!Get_Triggering_Event_details.DocumentSplit.ContentVersionIds}.
> The Split Document Using AI action returns both the split files and the original merged file. The merged document, typically named Blank Page, should be filtered out to prevent the creation of unnecessary child records. This can be achieved by checking the file name and applying the appropriate condition.
Add a Loop element to iterate through the output ContentVersion record collection. For each record in the loop i.e. for each split file, respective Child Object records shall be created in the subsequent steps.

### Configure Child Records
For each Content Version in the loop, configure a Single Child Record Variable and assign the following values:
- For the relationship field on the Child Record (e.g., Account__c) , use:
Outputs from Get Triggering Event Details > Document Split > RecordId {!Get_Triggering_Event_details.DocumentSplit.RecordId}
- For the respective file reference field (e.g., Content_Document_Id__c), use:
Current Item from Loop For Content Versions > ContentDocument ID > ContentDocument ID {!For_Content_Versions.ContentDocument.Id}
Add each assigned record to a Record Collection Variable. This approach supports bulk record creation while minimizing DML statements and reducing governor limit risk.

### Create Child Records
After exiting the loop, use a Create Records action to insert all records stored in the collection variable. This creates one child record per split file.

Once the child records have been successfully created for each split document, the final step is to make those files accessible from the records themselves. Although each record stores a reference to its associated split file, a ContentDocumentLink must be created to display the file in the record's Files related list. This is handled in Flow 3: Attach Files to Respective Records.
## Attach Files to Respective Records
This flow attaches each split document to the corresponding child record (e.g., Purchase Order). It reads the file reference (stored as ContentDocumentId) from the record and links the file using a standard Salesforce ContentDocumentLink.
Create a Record-Triggered Flow on the Child Object with the trigger condition that the file reference field (e.g., Content_Document_Id__c) is not null. This ensures the flow only runs for records that already contain a valid file reference.
Finally, add a create records element to create a ContentDocumentLink. The ContentDocumentId should be sourced from the record's file reference field, and the LinkedEntityId should be the record's ID {!$Record.Id}
Refer to the below image for more information:

With this final step, the automation is complete — transforming uploaded files into individually split, recorded, and attached documents within Salesforce.
> **Note** — Note: As Flow Automation executions and document processing via AI may take a short time, the field updates will not reflect immediately. To view the updates, wait briefly and refresh the page.
---
## HubSpot: Document Management
---
# Workflow Actions
https://help.cloudfiles.io/hubspot/workflow-actions
# Workflow Actions
Learn how to effectively use CloudFiles actions in HubSpot workflows with this comprehensive document. Discover step-by-step instructions for creating folders, attachments, datarooms, and more, along with links to each individual action guide.
> Kind: Workflow action · Updated: Jul 8, 2026
Detailed instructions to use CloudFiles actions inside HubSpot workflows.
- Add to Dataroom Action: The Add to dataroom action lets you add files, folders, and file request blocks from various cloud storage to datarooms through workflows, with customizable destination folders.
- Copy Resource Action: The Copy Resource action allows you to create and place copies of files in any cloud storage, including renaming them during the process. This works across platforms like SharePoint and Google Drive.
- Create Attachment Action: The Create attachment action links files, folders, or datarooms to HubSpot records, displaying them as tiles in the CloudFiles widget for easy access.
- Create Dataroom Action: The Create Dataroom action allows creating or cloning dataroom templates using HubSpot workflows.
- Create Folder Action: The Create Folder action by CloudFiles allows automatic folder creation in cloud storages using HubSpot workflows, supporting complex hierarchies and auto-creating folder attachments on HubSpot records.
- Delete Attachment - This action allows you to automatically remove file/folder attachments from HubSpot records using workflows which is helpful when there are too many files or folders attached in the CloudFiles widget, or when certain attachments are no longer needed.
- Delete Dataroom Action: The Delete Dataroom action in CloudFiles lets you delete file datarooms through HubSpot workflows.
- Delete Resource Action - The Delete Resource action in CloudFiles allows you to remove files or folders from your cloud storage.
- Generate Document Action- The Generate Document action allows you to automatically create documents using predefined templates within HubSpot workflows and save generated document to a pre-defined destination.
- Get Attachment Details Action: The Get Attachment details action retrieves attachment details linked to HubSpot records, enabling process automation and automatic creation of attachments and sharing links.
- Get Resource Property Action - The "Get Resource Property" action in CloudFiles retrieves the external URL and various metadata related to a file or folder stored in your cloud library.
- How to get the folder, drive, site ID etc... required for automations? Drive ID, folder ID, folder path or a file path are generally required for automations related to HubSpot workflows.
- Move HubSpot Files Action: The Move HubSpot Files action transfers files from HubSpot's file manager to external storage, counting each file copy as a separate automation action. It is ideal for managing files collected via HubSpot forms.
- Move Resource Action - The Move Resource action by CloudFiles is used to move the file from one destination to another destination.
- Share Attachment Action: The Share Attachment action by CloudFiles allows sharing attachments through HubSpot workflows, similar to manually creating a sharing link from a HubSpot record.
- Update Link Settings Action: The Update Link Settings action allows you to modify security settings of links in HubSpot, such as disabling downloads, setting expiry dates, and requiring email verification.
- Update Resource Permissions Action - The Update Resource Permission action by CloudFiles allows you to manage access to files or folders by specifying email addresses. You can grant or revoke access to a particular file or folder.
- Update Resource Action - The Update Resource action in CloudFiles allows you to update metadata, such as renaming files and folders or adding descriptions.
---
# Add to Dataroom Action
https://help.cloudfiles.io/hubspot/add-to-dataroom-action
# Add to Dataroom Action
Learn how to use the "Add to dataroom" action by CloudFiles to effortlessly insert files, folders, and file request blocks into CloudFiles datarooms. This comprehensive document provides step-by-step instructions for adding the action to a workflow and configuring its parameters.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The "Add to dataroom" action by CloudFiles enables you to insert files, folders and file request blocks to your CloudFiles datarooms using a workflow. These files & folders can be picked from any cloud storage such as Google Drive, SharePoint, OneDrive etc... Moreover, the file request block's destination folder can also be set using this action. Using this action multiple times can enable a host of use-cases related to dataroom sharing & requesting.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

The "Add to dataroom" action can take in various types of parameters. The paramters can change based on previous selections. Here is a list of all parameters taken in by this action.
1. Dataroom ID: The ID of the dataroom where this addition needs to be done. This can be retrieved using the create dataroom action or hardcoded.
2. Type: Selector for whether you want to add file / folder or dataroom into the dataroom.
3. File Request Parameters: Name, description and other parameters used to personalize the file request block being added to the dataroom.
4. Cloud Storage Parameters: These parameters are used to specify the source for file / folder or the destination of file request block in the respective cloud storage. There are various parameters required here.
5. Return Values: Various values returned by this action after execution.
The sections below cover all the parameters in detail.
## 1 - Dataroom ID
The dataroom ID is the parameter that identifies a dataroom to which the file / folder / file request block is to be added. Every dataroom created in CloudFiles has an ID associated with it. This ID can either be retrieved using the return values of the create dataroom action or from the CloudFiles Dashboard.
If the dataroom was created using the same workflow, dataroom ID can be retrieved from the return value of the create dataroom action. This is useful for dynamic use-cases where dataroom is created by the workflow itself and can be different for each record.

In cases where the additions are to be done in the same dataroom always, it's ID can be retrieved from the CloudFiles dashboard. The steps are mentioned below -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
- Go to the Datarooms tab.
- Either create a new dataroom here or click on the dataroom which is to be cloned.
- In the address bar of your browser, you will find the dataroom ID. It should look something like this: 62629eb2c0d56a0230f75ab5
The dataroom ID is shown in the image below -

## 2 - Type
This selector helps specify whether a file / folder or dataroom is being added to the dataroom. There are 2 available choices here. Content implies addition of file or folder into the dataroom. File Request implies addition of a file request block into the dataroom. Based on your selection here, parameters below will change.

## 3 - Library
This parameter is visible if you select Content in the Type selector above. If you select File Request, this parameter becomes visible if a destination needs to be set.
Library is the desired Cloud storage from where you want to add a file or folder from or where you want the file request block's upload to go to. Anything between CloudFiles, OneDrive, SharePoint, Box or Dropbox can be selected. Based on your choice, new parameters would become visible in the action. These are discussed in the sections below.

## 4 - Path to File / Folder
This field is available for cases when cotnent is to be added. If you are trying to add a file or a folder, this is the field where you specify the path to that file or folder. Note that exact and full path must be provided here in order to add the file / folder correctly to the dataroom.
The path to the file or folder can be copied from the metadata on the CloudFiles dashboard and then personalized using the record tokens. Follow the simple steps below -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
- Under the libraries tab, navigate to the file or folder that you are trying to add.
- Copy the parameter from the meta data on the right side of the screen.
Parameter from meta data is shown below -

## 5 - Shared Drive ID / Drive
This is important for Google Drive & SharePoint library selection. Both these cloud storage have multiple drives where files can be stored. E.g. Google Drive has My Drive & Shared Drive while SharePoint can have multiple drives inside multiple sites. This parameter helps CloudFiles identify which drive to pick / push the file or folder from.
The drive ID can be copied using the meta data in CloudFiles dashboard as shown in the steps in the Path to file / folder section above.
## 6 - File Request Name
This is the name you wish to give your file request block. This name appears on the top of the request block when you share the dataroom with the customer. Usually it's a good practice to use personalization tokens or names of specific documents that the customer needs to upload here. As shown below, we prompt the user to upload passports here.

## 7 - File Request Description
This is an optional field, used to describe your file request block. This is additional level of detail that you can give such as the specifications for the file uploads that must be done. We use this to tell the user that latest valid passport must be uploaded.

## 8 - File Request Destination
This is Yes / No selector to specify whether you want to set a destination folder for the file request block. If set to yes, additional parameters will appear below to help set the destination folder. If set to No, the file will still show up and will be stored on CloudFiles server.

## 9 - Path to Destination Folder
This field is available for cases when destination of the file request block needs to be set on a folder in some cloud storage. If you are trying to transfer the requested files to a specified location on cloud storage, this is the field where you specify the path to that folder. Note that exact and full path must be provided here in order to set the destination folder correctly.
The folder path can be copied using the meta data in CloudFiles dashboard as shown in the steps in the Path to file / folder section above.
## 10 - Root Folder ID (Optional)
If your folders are deeply nested, this optional parameter can help speed things up. Instead of searching through all the folders every time, which can slow things down, you can enter a specific Folder ID here to add the files uploaded via the dataroom to make the process easier.
You don’t need to fill in the Drive ID or Path to Destination, as the files will be stored inside the root folder by default.
Even if you want to add the files inside a specific subfolder, you can do so by adding a slash ( / ) followed by the subfolder name in the Path to Destination field. The purpose of the Root Folder parameter is to simplify the process, so you don’t have to enter the full path manually in such cases.
If you need a Folder ID, you can find it in the CloudFiles Library metadata.
> **Note** — Use this parameter only if you are sure how to use it; otherwise, leave it blank.
## 11 - Return Values
The Add to Dataroom action returns the following values. These can be used in later actions to chain together actions and create complex automations.
- Action Status- This is a success or failure message based on whether the action executed correctly.

Need help? Book time with our team of experts.
---
# Copy Resource Action
https://help.cloudfiles.io/hubspot/copy-resource-action
# Copy Resource Action
Learn how to use the "Copy File" action by CloudFiles to easily duplicate and relocate files across various cloud storages. This comprehensive document covers the necessary parameters, such as library, source, destination, and renaming the file while copying.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The copy resource action by CloudFiles enables you to create copies of your files, which can be placed in folders on any cloud storages. E.g. you can create a copy of a file within SharePoint or even in a different cloud storage such as Google Drive. The action also also allows you to rename the file while copying it.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

The "Copy Resource" action takes in various parameters to specify the source & destination of the file. The parameters can change based on the library selected.
1. Library: The desired library where the file must be copied from (e.g. SharePoint, Google Drive etc...)
2. Path to File: The exact path to the file, including the file name and extension. There may be more than one parameters required to specify this path based on library selection.
3. Path to destination: The exact path to destination where the file must be copied. There may be more than one parameters required to specify this path based on library selection.
4. Return Values: Various values returned by this action after execution.

These parameters have been detailed in the sections below.
## 1 - Library
The cloud storage from where the file is to be copied from. Anything between CloudFiles, OneDrive, SharePoint, Box or Dropbox can be selected. Based on your choice, new parameters would become visible in the action. These are discussed in the sections below.

## 2 - Path to file
This specifies the source from which the files must be picked.
> **Note** — The Copy Resource action can also be used to clone Google Drive folders within HubSpot workflows.
Note that this parameter must include the file name along with the extension. You can specify the full path using a simple '/' separated string with the file name at the end.
The path to the folder can be copied from the metadata on the CloudFiles dashboard and then personalised using the record tokens. Follow the simple steps below -
1. Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
2. Under the libraries tab, navigate to the file or folder that you are trying to add.
3. Copy the parameter from the meta data on the right side of the screen.
These meta deta example is shown below -

## 3 - Path to destination
This specifies the destination where the files must be copied to. Note that this parameter must include the file name along with the extension. Thus you can specify a different file name and rename the file through this action. You can specify the full path using a simple '/' separated string with the file name at the end.
The path to the folder can be copied from the metadata on the CloudFiles dashboard and then personalized using the record tokens. To copy the full folder path from metadata, follow the steps in the Path to File section above.
## 4 - Shared Drive ID / Drive
This is important for Google Drive & SharePoint library selection. Both these cloud storage have multiple drives where files can be stored. E.g. Google Drive has My Drive & Shared Drive while SharePoint can have multiple drives inside multiple sites. This parameter helps CloudFiles identify which drive to pick / push the file.
The drive ID can be copied using the meta data in CloudFiles dashboard as shown in the steps in the Path to file section above.
## 5 - Return Values
The Copy Resource action returns the following values. These can be used in later actions to chain together actions and create complex automations.
1. Action Status - This is a success or failure message based on whether the action executed correctly.

Need help? Book time with our team of experts.
---
# Create Attachment Action
https://help.cloudfiles.io/hubspot/create-attachment-action
# Create Attachment Action
Learn how to use the "Create Attachment" action in HubSpot to effortlessly link files, folders, or datarooms with your HubSpot records. Discover the essential parameters needed, including target cloud storage and the resource to attach.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The create attachment action is used to associate files, folders or datarooms to HubSpot records. An attachment is a tile that appears on the CloudFiles widget in the sidebar on any HubSpot record which enables easy access to associated resources. Files & folders can even be attached automatically from cloud storage such as SharePoint, Dropbox, Google Drive etc...
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

The Create attachment action requires the following parameters in order to create the attachment -
- Library- This specifies the target cloud storage library such as Google Drive, SharePoint, OneDrive etc...
- Library Dependent parameters- The parameters after library change based on the library selection. These parameters help specify the target file, folder or dataroom that must be attached to the record.

In the sections below, we detail each of the parameters that can appear in this action.
## 1 - Library
Library is the desired Cloud storage from where you want to create a file, folder or dataroom attachment. For files and folders, anything between CloudFiles, OneDrive, SharePoint, Box or Dropbox can be selected. For dataroom attachments, you must select CloudFiles as the library.

Based on your choice, new parameters would become visible in the action. These are discussed in the sections below.
## 2 - Resource Type
This parameter becomes visible when CloudFiles library is chosen. This is important for users who want to attach a dataroom to the record. The selector shows the type of resources that can be attached. Selecting dataroom in this selector helps the app identify that a dataroom needs to be attached.

## 3 - Resource ID
This parameter becomes visible when CloudFiles library is chosen. This is important for users who want to attach a dataroom to the record. If you have created a dataroom in this workflow using the Create Dataroom action, you can simply use the return value of that action in this parameter. This is shown below -

If instead you have an existing dataroom that you want to attach to all records, grab the dataroom ID from the CloudFiles dashboard and use it in the parameter. You can grab an existing dataroom ID using the steps below -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
- Go to the Datarooms tab.
- Either create a new dataroom here or click on the dataroom which is to be cloned.
- In the address bar of your browser, you will find the dataroom ID. It should look something like this:
This is shown in the image below -

## 4 - Shared Drive ID / Drive
This is important for Google Drive & SharePoint library selection. Both these cloud storage have multiple drives where files can be stored. E.g. Google Drive has My Drive & Shared Drive while SharePoint can have multiple drives inside multiple sites. This parameter helps CloudFiles identify which drive to pick the file or folder from.
In order to retrieve this Drive ID, follow the simple steps below -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
- Under the libraries tab, navigate to the file or folder that you are trying to attach.
- Copy the parameter from the meta data on the right side of the screen.
Meta data preview is shown in the image below -

## 5 - Path to file or folder
This field is available for all library selections. If you are trying to attach a file or a folder, this is the field where you specify the path to that file or folder. Note that exact and full path must be provided here in order to attach the file / folder correctly.
The path to the file or folder can be simply copied from the meta data info in the CloudFiles Library using the same steps as specified in the shared drive ID section above.
## 6 - Root Folder ID (Optional)
This is an optional parameter that can be used for optimization if you have very deep folder hierarchy. Instead of having the action search through the entire hierarchy every time which may cause slowness, you can specify a hard coded folder ID here. Along with this, you must also update the path you specified above such that the CloudFiles app will start the search for the file or folder from the root folder ID rather than the root of the cloud storage.
The folder ID of any folder can be retrieved from the meta data info in the CloudFiles Library using the same steps as specified in the shared drive ID section above.
> **Use this parameter only when you are absolutely sure you know how to use it, otherwise keep it blank.** — Keep this parameter empty if you are already using the full path to the folder in the previous paramter. This parameter is only meant to be an optimization in case you have a deep folder hierarchy and want to set a non-root folder as the base for searching for the path in the previous parameter.
## 7 - Return Values
The Create Attachment action returns the following values. These can be used in later actions to chain together actions and create complex automations.
- Action Status- This is a success or failure message based on whether the action executed correctly.
- New Attachment ID- The ID of the newly created attachment. This can be used as the attachment ID in other actions such as share attachment

Need help? Book time with our team of experts.
---
# Create Dataroom Action
https://help.cloudfiles.io/hubspot/create-dataroom-action
# Create Dataroom Action
Learn how to create and clone datarooms using the CloudFiles "Create Dataroom" action. This document provides step-by-step instructions on setting up a file portal for organizing and linking multiple files and folders and requesting files from customers.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The CloudFiles "Create Dataroom" Action will help you create and clone datarooms.
A dataroom is a file portal, where you can link multiple files & folders, organize them in groups and even request files from your customers. This addition of content and file request blocks can also be automated using the Add to Dataroom Action.
In this article, we focus on the Create Dataroom action. This action lets you create empty datarooms or even clone existing dataroom templates using HubSpot workflows.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

This action has 3 parameters that can be set as summarized below -
1. Dataroom name - The name that appears on the dataroom
2. Dataroom description - Additional description for conveying more information
3. Template Dataroom ID - Used for cloning an existing dataroom instead of creating one from scratch.
4. Return Values - Various values that are returned by this action and can be used in further actions for chaining.

We detail each of these parameters below.
## 1 - Dataroom name
This is the name you wish to give your cloned dataroom. This name appears on the top banner when you share a dataroom with the customer. Usually it's a good practice to use personalization tokens such as deal name or company name to create the dataroom name. As shown below, we use the Deal Name with some more text to create our final dataroom name.

## 2 - Dataroom description (Optional)
This is an optional field, used to describe your dataroom. This is additional level of detail that you can give, maybe specifying the type of files that would be shared in this dataroom. We used a simple string along with deal personalization tokens to set this field up.

## 3 - Template Dataroom ID (Optional)
This field is used in case you want to clone an existing dataroom. Cloning datarooms is useful if you have a set group structure, or some files & folders that you always want to share or some file request blocks that you always want to have in the dataroom. Cloning allows you to copy this structure into the new dataroom, thus avoiding the need to add everything from scratch.
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
- Go to the Datarooms tab.
- Either create a new dataroom here or click on the dataroom which is to be cloned.
- In the address bar of your browser, you will find the dataroom ID. It should look something like this:
Dataroom ID is shown in the image below -

Now we can use this dataroom ID in our workflow in the Template Dataroom ID field. This will prompt the action to clone an existing dataroom instead of creating it from scratch.

## 4 - Return Values
The Create Dataroom action returns the following values. These can be used in later actions to chain together actions and create complex automations.
1. Action Status - This is a success or failure message based on whether the action executed correctly.
2. New Dataroom ID - The ID of the newly created dataroom. This can be used as the resource ID for this dataroom, e.g. in the Create Attachment Action.

Need help? Book time with our team of experts.
---
# Create Folder Action
https://help.cloudfiles.io/hubspot/create-folder-action
# Create Folder Action
Learn how to use the Create folder action by CloudFiles to automatically create folders in cloud storage platforms like Google Drive and SharePoint using HubSpot workflows. This action is versatile and can be combined with the Create Attachment action to build complex folder hierarchies.
> Kind: Workflow action · Updated: Apr 30, 2026
The Create folder action by CloudFiles creates a folder in a desired destination on any cloud storage. This means you can automatically create folders in Google Drive, SharePoint, OneDrive etc... using standard HubSpot workflows. This also enables you to create complex folder hierarchies by using this action multiple times. You can use this action along with the Create Attachment action to auto-create folder attachments on your HubSpot records when they are created.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

The Create folder action will require the following parameters:
- Library - The desired library where the folder must go (e.g. SharePoint, Google Drive etc...)
- Destination parameters- Various parameters that specify where the folder will be created. These parameters can change after you select the library
- Folder name- Final name of the folder that would be created through this action.

In the sections below, we detail out each of the parameters that you can see in this action.
## 1 - Library
Library is the desired Cloud storage from where you want to create the folder. For files and folders, anything between CloudFiles, OneDrive, SharePoint, Box or Dropbox can be selected.

## 2 - Shared Drive ID / Drive
This is important for Google Drive & SharePoint library selection. Both these cloud storage have multiple drives where files can be stored. E.g. Google Drive has My Drive & Shared Drive while SharePoint can have multiple drives inside multiple sites. This parameter helps CloudFiles identify which drive to pick the file or folder from.
In order to retrieve this Drive ID, follow the simple steps below -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to your CloudFiles storage.
- Under the libraries tab, navigate to the file or folder that you are trying to attach.
- Copy the parameter from the meta data on the right side of the screen.
Parameters preview is shown in the image below -

## 3 - Path to destination
This specifies the destination folder in which this new folder will be created. You can specify this using a simple '/' separated path. The path to the folder can be simply copied from the meta data info in the CloudFiles Library using the same steps as specified in the shared drive ID section above.
## 4 - Folder name
This is the name you wish to give your newly created folder. Usually it's a good practice to use personalization tokens such as deal name or ID to create the folder name. This can help avoid duplicity. As shown below, we use the Deal Name & ID to create our final folder name.

## 5 - Root Folder ID (Optional)
If your folders are deeply nested, this optional parameter can help speed things up. Instead of searching through all the folders every time, which can slow things down, you can enter a specific Folder ID here to make the process faster.
You don’t need to fill in the Drive ID or Path to Destination, as they’re not required because the folders will be created inside the root folder by default.
Even if you want to add the folder inside a specific subfolder, you can do so by adding a slash ( / ) followed by the subfolder name in the Path to Destination field. The purpose of the Root Folder parameter is to simplify the process, so you don’t have to enter the full path manually in such cases.
If you need a Folder ID, you can find it in the CloudFiles Library metadata.
> **Note** — Use this parameter only if you are sure how to use it; otherwise, leave it blank.
## 6 - Return Values
The Create Folder action returns the following values. These can be used in later actions to chain together actions and create complex automations.
- Action Status- This is a success or failure message based on whether the action executed correctly.

Need help? Book time with our team of experts.
---
# Delete Attachment (Workflow Action)
https://help.cloudfiles.io/hubspot/delete-attachment
# Delete Attachment
The "Delete Attachment" action in CloudFiles allows you to automatically remove file/folder attachments from HubSpot records using workflows. This is helpful when there are too many files or folders attached, or when certain attachments are no longer needed.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The "Delete Attachment" action in CloudFiles allows you to automatically remove file/folder attachments from HubSpot records using workflows. This is helpful when there are too many files or folders attached in the CloudFiles widget, or when certain attachments are no longer needed.
To use this action, make sure there is already an attachment linked to the record. You can do this in two ways:
- Manually attach a file/folder to the record using the CloudFiles widget, or
- Automatically create an attachment through a workflow if the file/folder/dataroom already exists.
Once the attachment is in place, you can set up a workflow to trigger the Delete Attachment action based on your preferred conditions. For example, you might want to remove the attachment once a deal is closed, or if incorrect files were uploaded.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

The "Delete Attachment" action in CloudFiles uses one parameter to identify the attachment to be deleted and provides a return value after the action is executed.
- Attachments to Delete – This parameter accepts a single attachment ID or a list of attachment IDs that need to be deleted from the record. In the section below, we will discuss this attachment ID in detail and explore ways to get this.
- Return Value – After the action runs, it returns the status of the deletion process, confirming whether the attachment was successfully deleted or if any errors occurred.

## 1 - Attachments to Delete
The "Delete Attachment" action can only remove an attachment if it has the attachment details. To get these details, the action must be preceded by either the "Create Attachment" action or the "Get Attachment Details" action. Both these actions provide the Attachment ID in their return values, which can be used as input for the Delete Attachment action.
If the attachment is being automatically created within the same workflow, the return value from the Create Attachment action can be directly used. However, if the attachment was created earlier, either manually or through another workflow, the Get Attachment Details Action should be used to fetch the Attachment ID.
The screenshot below shows how both actions return the Attachment ID, which can then be passed to the Delete Attachment action to specify the file or folder that needs to be deleted.

## 2 - Return Values
The Delete Attachment action returns the following values. These can be used in later actions to chain together actions and create complex automation.
- Action Status- This is a success or failure message based on whether the action was executed correctly.

---
# Delete Dataroom Action
https://help.cloudfiles.io/hubspot/delete-dataroom-action
# Delete Dataroom Action
Learn how to use the Delete Dataroom action in CloudFiles to efficiently delete datarooms using HubSpot workflows. This action ensures that any files received but not transferred to an external cloud storage are removed along with the dataroom.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The Delete Dataroom action by CloudFiles allows you to delete datarooms using HubSpot workflows. A dataroom is a file portal, where you can store multiple files, folder and add file blocks for your viewers. The delete action will delete any files received and not transferred to an external cloud storage.
However the action does not delete the files that have been received and transferred to an external storage. Moreover, the action also does not delete any files or folders that were added to the dataroom. Those can only be deleted through the library.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

The "Delete dataroom" action takes in only one parameter. It also returns some values that can be used in later actions.
- Dataroom ID:- The ID of the dataroom which needs to be deleted. This needs to be either stored during creation or retrieved manually using the CloudFiles library.
- Return Values:- Various values returned by this action after execution.

The sections below cover all the parameters in detail.
## 1 - Dataroom ID
The Dataroom ID is the parameter that identifies a dataroom which needs to be deleted. Every dataroom created in CloudFiles has an internal ID associated with it. This ID can either be retrieved using the return values of the create dataroom action, get attachment details action or from the CloudFiles Dashboard.
- From Create Dataroom Action- This action returns the ID of the newly created dataroom. You can store this ID in a HubSpot property associated with the record and use it later to delete the dataroom.
- From Get Attachment Details Action- If the dataroom is already attached to the HubSpot record, you can also get the dataroom ID from the resource ID field of the Get Attachment Details action. This is one of the return values of the Get Attachment Details action.
- From CloudFiles dashboard- This is usually not applicable in deletion use-cases. You can manually get the dataroom ID from the CloudFiles dashboard as shown in the steps of Create Dataroom Action's Template Dataroom ID parameter.
In the graphic below, we are retrieving the Dataroom ID using the resource ID return value of the Get Attachment Details action.

## 2 - Return Values
The Delete Dataroom action returns the following values. These can be used in later actions to chain together actions and create complex automations.
1. Action Status -This is a success or failure message based on whether the action executed correctly.

Need help? Book time with our team of experts.
---
# Delete Resource Action
https://help.cloudfiles.io/hubspot/delete-resource-action
# Delete Resource Action
The "Delete Resource" action in CloudFiles allows you to remove files or folders from your cloud storage. For example, if a customer is no longer with your company and you want to delete their folder, you would use the "Delete Resource" action to do this.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The "Delete Resource" action in CloudFiles allows you to remove files or folders from your cloud storage. For example, if a customer is no longer with your company and you want to delete their folder, you would use the "Delete Resource" action to do this.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

## Input Parameters
The "Delete Resource" action takes in various parameters to specify the source & destination of the file.
- Library: The desired library where the file must be moved (e.g. SharePoint, Google Drive etc...)
- Path to Resource: The exact path to the file or the folder. There may be more than one parameters required to specify this path based on library selection.
- Return Values: Various values returned by this action after execution.

These parameters have been detailed in the section below:
### 1 - Library
The cloud storage from where the file is to be deleted from. Anything between CloudFiles, OneDrive, SharePoint, Box or Dropbox can be selected. Based on your choice, new parameters would become visible in the action. These are discussed in the sections below.

### 2 - Path to Resource
This specifies the source from where the files must be deleted. You can specify the full path using a simple '/' separated string with the file name at the end.
The path to the folder can be copied from the metadata on the CloudFiles dashboard and then personalized using the record tokens. Follow the simple steps below -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
- Under the libraries tab, navigate to the file or folder that you are trying to add.
- Copy the parameter from the meta data on the right side of the screen.
These meta deta example is shown below -

### 3 - Shared Drive ID / Drive
This is important for Google Drive & SharePoint library selection. Both these cloud storage have multiple drives where files can be stored. E.g. Google Drive has My Drive & Shared Drive while SharePoint can have multiple drives inside multiple sites. This parameter helps CloudFiles identify which drive to delete the file.
The drive ID can be copied using the meta data in CloudFiles dashboard as shown in the steps in the Path to resource section above.
## Return Values
The Move Resource action returns the following values. These can be used in later actions to chain together actions and create complex automations.
- Action Status - This is a success or failure message based on whether the action executed correctly.

---
# Generate Document Action
https://help.cloudfiles.io/hubspot/generate-document-action
# Generate Document Action
The Generate Document action by CloudFiles allows you to automatically create documents using predefined templates within HubSpot workflows.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The Generate Document action by CloudFiles allows you to automatically create documents using predefined templates within HubSpot workflows.
Using this action, documents can be dynamically generated based on HubSpot data within your templates and generate file can be stored directly in your connected cloud storage such as SharePoint, Google Drive, OneDrive or Dropbox
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?
The Generate Document action requires several parameters to define how and where the document should be created.
- Template ID: Specifies which template should be used for document generation
- Destination Library: The desired library where the file must be saved to (e.g. SharePoint, Google Drive etc...)
- Path to Destination Folder: The exact path to destination where the file must be saved to. There may be more than one parameters required to specify this path based on library selection.
- Shared Drive ID / Drive: Required for storage providers like Google Drive & SharePoint
- Convert to PDF: Determines the output format of the generated document
- Return Values: Various values returned by this action after execution.

These parameters have been detailed in the sections below.
### 1 - Template ID
Each template created with CloudFiles has a unique Template ID that identifies it during automation. When the workflow runs, CloudFiles uses this ID to locate the correct template and generate the document based on the data available in the HubSpot record. The Template ID can be found on the Templates page in the CloudFiles web interface.

### 2 - Destination Library
The Destination Library defines the cloud storage location where the generated document will be saved. CloudFiles supports multiple storage providers such as SharePoint, Google Drive, OneDrive and Dropbox. Depending on the selected library, additional parameters such as Drive ID may be required.

### 3 - Shared Drive ID / Drive
This is important for Google Drive & SharePoint library selection. Both these cloud storage have multiple drives where files can be stored. E.g. Google Drive has My Drive & Shared Drive while SharePoint can have multiple drives inside multiple sites. This parameter helps CloudFiles identify which drive to choose for the generated file.
### 4 - Path to Destination Folder
The Path to Destination Folder specifies the exact location within the selected cloud storage where the generated document will be saved. This path should be provided as a ’/’ separated string representing the folder structure. The folder path can be copied from the metadata section in the CloudFiles dashboard and can be personalized using HubSpot record tokens to dynamically organize generated documents based on records info.
To copy Path to Destination Folder and Drive ID from CloudFiles dashboard, Follow the steps below:
- Open CloudFiles dashboard- https://hubspot.cloudfiles.io/ and login if prompted.
- Under the libraries tab, navigate to the folder where you want to save the generated document.
- Copy the parameter from the metadata on the right side of the screen.

### 5 - Convert to PDF
The Convert to PDF parameter determines the format in which the generated document will be saved. When enabled, the generated document will be automatically converted into PDF format. Otherwise, the document will be saved in the same format as the original template.

### 6 - Return Values
The Generate Document action returns the following values. These can be used in later actions to chain together actions and create complex automations.
- Action Status - This is a success or failure message based on whether the action executed correctly.

---
# Get Attachment Details Action
https://help.cloudfiles.io/hubspot/get-attachment-details-action
# Get Attachment Details Action
Learn how to use the "Get Attachment Details" action in CloudFiles to retrieve attachment details associated with a HubSpot record. Automate processes and perform actions based on attachment information such as the linked file, folder, or dataroom.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The Get Attachment details by CloudFiles receives the details of attachment(s) which can then be used in other actions to perform process automations. An Attachment is a association between a file / folder / dataroom & a HubSpot record. This association shows up as a tile on the right side of the HubSpot record in the CloudFiles Widget. Other attachment related workflow actions can help create attachments automatically & create sharing links of these attachments.
In order to get an attachment's details, make sure that you already have an attachment on the triggering record. E.g. you can either trigger a workflow after someone has manually attached a file onto the record or you can automatically create an attachment if you have the file / folder / dataroom ready.

This action has only one parameter that can be set to specify the attachment for which the details need to be fetched. It returns a number of values that can be later used in other actions -
- Attachments to Fetch - This is a selector to specify if only the latest attachment's details needs to be fetched or if details of all attachments need to be fetched.
- Return Values- Status of action run along with a number of other parameters that can be used in later actions.

## 1 - Attachments to Fetch
A record can be associated to multiple files & folders. Since this action is only used to get the details of a pre-existing attachment on the triggering record. The Attachments to Fetch action provides a selector with these 2 choices. This has been shown in the graphic below.
If you choose to return all attachment details, the return values of this action may contain comma separated lists. Thus, it is always advisable to just return one attachment's detail at a time.

## 2 - Return Values
The Get Attachment Details action returns the following values. These can be used in later actions to chain together actions and create complex automations.
- Action Status- This is a success or failure message based on whether the action executed correctly.
- Attachment ID- This is the internal ID of the attachment. This may be useful in use-cases such as creating the same attachment on another record by passing this attachment to it.
- URL Slug- This is the final slug of the CloudFiles URL that was generated using this action. Slug may be important for usage in marketing & sales email automations
- URL- This is the complete CloudFiles URL that was generated using this action.
- Cloud Storage URL- This is the internal Cloud Storage URL (e.g. the Google Drive link or the SharePoint Link) of the file or folder this attachment is associated to.
- Resource Id- This is the internal ID (e.g. file ID or folder ID or dataroom ID) of the associated file / folder / dataroom.
- Name- This is the name of the associated file / folder / dataroom. The file name will contain the extension as well.
- Type- This specifies whether the attachment is associated to file, folder or dataroom
- Status- This specifies whether the attached file / folder / dataroom is shared / not shared / offline etc...

Need help? Book time with our team of experts.
---
# Get Resource Property Action
https://help.cloudfiles.io/hubspot/get-resource-property-action
# Get Resource Property Action
The "Get Resource Property" action in CloudFiles retrieves the external URL and various metadata related to a file or folder stored in your cloud library. This is useful when you need to add the URL of a specific file or folder to a HubSpot custom object.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The "Get Resource Property" action in CloudFiles retrieves the external URL and various metadata related to a file or folder stored in your cloud library. This is useful when you need to add the URL of a specific file or folder to a HubSpot custom object. To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

## Input Parameters
The "Get Resource Property" action takes in various parameters to specify the source & destination of the file.
- Library: The location where the file or folder URL needs to be extracted, such as SharePoint, Google Drive, or other storage platforms.
- Path to Resource: The exact path to the file/folder. There may be more than one parameters required to specify this path based on library selection.
- Property to get: The API name of property to be get.
- List of Property Names:
- name - gives the name of the resource
- description - gives the description of the resource
- id - gives the ID of the resource
- driveId - gives the drive ID of the resource
- library - gives the library that the resource is in
- externalUrl - gives the cloud drive (SharePoint, Google Drive, etc.) URL of the resource
- path - gives the path of the resource in the cloud drive
- type - gives the type of resource (file/folder)
- size - gives the size of the resource
- createdAt - gives the date of creation of the resource (not present in dropbox
- updatedAt - gives the date when the resource was last updated
- extension - gives the extension of the resource
4. Return Values: Various values returned by this action after execution.

These parameters have been detailed in the section below:
### 1 - Library
Choose the cloud storage platform from which you want to extract the file or folder URL. You can choose from CloudFiles, OneDrive, SharePoint, Box, or Dropbox. Depending on your selection, additional parameters will appear in the action, which are explained in the sections below.

### 2 - Path to Resource:
This defines the source from which the file or folder URL needs to be extracted. You can specify the full path using a simple '/' separated string with the file name at the end.
The path to the folder can be copied from the metadata on the CloudFiles dashboard and then personalized using the record tokens. Follow the simple steps below -
1. Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
2. Under the libraries tab, navigate to the file or folder that you are trying to add.
3. Copy the parameter from the meta data on the right side of the screen.
This meta data example is shown below -

### 3 - Property to get
In this parameter, specify “externalUrl” to retrieve the URL of the file or folder stored in Google Drive, SharePoint, or other storage platforms.

## Return Values
The Move Resource action returns the following values. These can be used in later actions to chain together actions and create complex automation.
1. Action Status - This is a success or failure message based on whether the action is executed correctly.
2. Value (Boolean) - If the user prefers the output in a boolean format (yes/no), it will return the value accordingly.
3. Value (Date and Time) - If the user wants the output in date and time format, it will return the value accordingly.
4. Value (Date)- If the user requests the output in a date format, it will be returned accordingly.
5. Value (Number) - If the user requests the output as a number, it will be returned in that format.
6. Value (String) - If the user wants the output as a string in the form of an internal URL, the function will return the value accordingly.

---
# How to get the folder, drive, site ID etc... required for automations?
https://help.cloudfiles.io/hubspot/how-to-get-the-folder-drive-site-id-etc-required-for-automations
# How to get the folder, drive, site ID etc... required for automations?
Learn how to obtain drive ID, folder ID, folder path, or file path in HubSpot with this helpful guide. Access these parameters through the CloudFiles native app or directly from HubSpot to configure automations.
> Kind: Guide · Updated: Jun 4, 2026
In this article, we will explain how to get the drive ID, folder ID, folder path or a file path for HubSpot users. These are generally required for automations related to HubSpot workflows.
For HubSpot users, first go into the CloudFiles native app to access these parameters. You can either login into https://app.cloudfiles.io or use the simple steps below to go to the native app directly from HubSpot.
Once you are in the native app, you can simply go to the desired folder or file and view the metadata info on the right side.
This is shown in the image below -

Drive ID may be needed when selecting Library as Google Drive or SharePoint. Folder ID is usually needed when setting a root folder for optimization in various actions. File and folder paths are often needed for creating & maintaining desired hierarchies from HubSpot workflows.
Need help? Book time with our team of experts.
---
# Move HubSpot Files Action
https://help.cloudfiles.io/hubspot/move-hubspot-files-action
# Move HubSpot Files Action
Learn how to use the "Move HubSpot Files" action by CloudFiles to seamlessly transfer files from HubSpot file manager to an external storage system. Perfect for situations where HubSpot forms are utilized to collect files that need to move to cloud storage.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The "Move HubSpot Files" action by CloudFiles enables you to move files stored in HubSpot file manager (such as the ones uploaded by through a HubSpot form) to an external storage system. This action is useful in scenarios where a HubSpot form is being used to collect files. If copying multiple files, each file copy is counted as 1 automation action.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

The "Move HubSpot Files" action takes in various parameters. The parameters can change based on the library selected.
1. Files: The HubSpot property which contains a public link of the HubSpot file. E.g. the property field associated to HubSpot form's file input.
2. Library: The desired library where the file must go (e.g. SharePoint, Google Drive etc...)
3. Destination Parameters: Various parameters used to specify the destination folder in which these files must be copied to.
4. File Name: You can use this parameter if you want to rename file while moving it. Leaving it blank will copy the file with the same name as the original file.
5. Return Values: Various values returned by this action after execution. Includes the full file name and path where the file was uploaded to be used in later actions if needed.

The sections below cover all the parameters in detail.
## 1 - Files
This parameter helps specify the file(s) that need to be copied. The value should come from a HubSpot property which stores a publicly accessible HubSpot URL of the file. E.g. when adding a file upload box to a HubSpot form, a HubSpot property needs to be associated to it. When files are uploaded, this HubSpot property contains a publicly accessible URL of the file.
It's also possible to copy multiple files at once. E.g. if multiple files are uploaded in the form, the property value will contain a semi-colon separated list of the URLs. Note that each file copy is counted as one automation action. If you need to rename the file or use the file name in further actions, it is advisable to copy one file in one action.
We used a HubSpot form related property on our contact to supply to this parameter.

## 2 - Library
The final cloud storage where you want to transfer these files to. Anything between CloudFiles, OneDrive, SharePoint, Box or Dropbox can be selected. Based on your choice, new parameters would become visible in the action. These are discussed in the sections below.

## 3 - Path to destination
This specifies the destination folder in which the files must be copied. You can specify this using a simple '/' separated path. The path to the folder can be copied from the metadata on the CloudFiles dashboard and then personalized using the record tokens. Follow the simple steps below -
1. Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
2. Under the libraries tab, navigate to the file or folder that you are trying to add.
3. Copy the parameter from the meta data on the right side of the screen.
The meta data example is shown -

## 4 - Shared Drive ID / Drive
This is important for Google Drive & SharePoint library selection. Both these cloud storage have multiple drives where files can be stored. E.g. Google Drive has My Drive & Shared Drive while SharePoint can have multiple drives inside multiple sites. This parameter helps CloudFiles identify which drive to pick / push the file or folder from.
The drive ID can be copied using the meta data in CloudFiles dashboard as shown in the steps in the Path to destination section above.
## 5 - File name
This is the name you wish to give your copied file. If left blank, the file will take it's original name. Usually it's a good practice to use personalization tokens such as deal name or ID or file type to create the file name. This can help avoid duplicity. As shown below, we use the Deal Name & ID to create our final file name. You don't need to specify the file extension here, CloudFiles picks it up automatically.

## 6 - Return Values
The Move HubSpot Files action returns the following values. These can be used in later actions to chain together actions and create complex automations.
1. Action Status - This is a success or failure message based on whether the action executed correctly.
2. File Name - The full name along with the extension of the finally copied file. This may be comma separated if multiple files were uploaded at once.
3. Path to File - The full slash separated path of the finally copied file. This may be comma separated if multiple files were uploaded at once.

Need help? Book time with our team of experts.
---
# Move Resource Action
https://help.cloudfiles.io/hubspot/move-resource-action
# Move Resource Action
The Move Resource action by CloudFiles is used to move the file from one destination to another destination. E.g. once the deal stage gets updated you want to update the location of the files stored in a cloud storage folder to another folder.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The Move Resource action by CloudFiles is used to move the file from one destination to another destination. E.g. once the deal stage gets updated you want to update the location of the files stored in any of your cloud storage folder to another folder, here the Move Resource flowaction comes into play.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

## Input Parameters
The "Move Resource" action takes in various parameters to specify the source & destination of the file.
- Library: The desired library where the file must be moved (e.g. SharePoint, Google Drive etc...)
- Path to Resource: The exact path to the file, including the file name and extension. There may be more than one parameters required to specify this path based on library selection.
- Path to destination: The exact path to destination where the file must be moved. There may be more than one parameters required to specify this path based on library selection.
- Return Values: Various values returned by this action after execution.

These parameters have been detailed in the section below:
### 1 - Library
The cloud storage from where the file is to be moved from. Anything between CloudFiles, OneDrive, SharePoint, Box or Dropbox can be selected. Based on your choice, new parameters would become visible in the action. These are discussed in the sections below.

### 2 - Path to Resource:
This specifies the source from where the files must be picked. You can specify the full path using a simple '/' separated string with the file name at the end.
The path to the folder can be copied from the metadata on the CloudFiles dashboard and then personalized using the record tokens. Follow the simple steps below -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
- Under the libraries tab, navigate to the file or folder that you are trying to add.
- Copy the parameter from the meta data on the right side of the screen.
These meta deta example is shown below -

### 3 - Path to Destination
This specifies the destination where the files must be moved to. Thus you can specify a different file name and rename the file through this action. You can specify the full path using a simple '/' separated string with the file name at the end.
The path to the folder can be copied from the metadata on the CloudFiles dashboard and then personalized using the record tokens. To copy the full folder path from metadata, follow the steps in the Path to resource section above.
### 4 - Shared Drive ID / Drive
This is important for Google Drive & SharePoint library selection. Both these cloud storage have multiple drives where files can be stored. E.g. Google Drive has My Drive & Shared Drive while SharePoint can have multiple drives inside multiple sites. This parameter helps CloudFiles identify which drive to pick / push the file.
The drive ID can be copied using the meta data in CloudFiles dashboard as shown in the steps in the Path to resource section above.
## Return Values
The Move Resource action returns the following values. These can be used in later actions to chain together actions and create complex automations.
- Action Status - This is a success or failure message based on whether the action executed correctly.

---
# Share Attachment Action
https://help.cloudfiles.io/hubspot/share-attachment-action
# Share Attachment Action
Learn how to share attachments using HubSpot workflows with the "Share Attachment" action by CloudFiles. This action requires an existing attachment on the record and allows you to specify the attachment and recipient to generate a sharing link.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The "Share attachment" action by CloudFiles enables you to share attachments using HubSpot workflows. Sharing an attachment is exactly the same as manually creating a sharing link of a file / folder / dataroom from HubSpot record.
In order to share an attachment, make sure that you already have an attachment made on the record. E.g. you can either trigger a workflow after someone has manually attached a file onto the record or you can automatically create an attachment if you have the file / folder / dataroom ready.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

This action has only one parameter that can be set to specify the attachment to be shared. It returns a number of values that can be later used in other actions -
- Attachments to Share - This is a single / list of attachment IDs for which sharing links need to be created. In the section below, we discuss this attachment ID in detail and explore ways to getting this.
- Return Values- Status of action run. URL and slug of the URL that was created using this action.

## 1 - Attachments to Share
Since the action "share attachment" is only used to share an attachment, it must be preceded by an action which can provide attachment details such as "Create Attachment action" or Get Attachment Details Action in their return values. Create Attachment's return value can be used when the attachment which is to be shared is being auto-created using the same workflow. Get attachment's return value should be used if the attachment was created previously, either manually or through another workflow.
The screenshot below shows the return values of both create attachment & get attachment actions. Both actions return the "Attachment ID" field which can be used as a value for this parameter.

## 2 - Return Values
The Share Attachment action returns the following values. These can be used in later actions to chain together actions and create complex automations.
- Action Status- This is a success or failure message based on whether the action executed correctly.
- URL Slug- This is the final slug of the CloudFiles URL that was generated using this action. Slug may be important for usage in marketing & sales email automations.
3. URL- This is the complete CloudFiles URL that was generated using this action

Need help? Book time with our team of experts.
---
# Update Link Settings Action
https://help.cloudfiles.io/hubspot/update-link-settings-action
# Update Link Settings Action
Learn how to update the settings of your CloudFiles links with the "Update Link Settings" action. This comprehensive document explains the various options available, including disabling downloads, setting expiry dates, and enforcing email verification.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
Update Link Settings action by CloudFiles updates the settings of the CloudFiles links created in your records. The settings include disabling downloads, expiry settings, enforcing email verification etc... This action can be used to apply security policies on your created links. E.g. if none of the shared collateral is to be downloaded, you can disable downloads on any shared collateral whose link is created through HubSpot.
Note that for this action to work, you must already have a link created for a file / folder / dataroom on the trigegring record. This can either be done using the Share Attachment action (for automation use-cases) or by triggering a workflow when ever someone manually attaches a file or creates a link on the record (manual use-case).

The Update link settings takes in a number of parameters. It also returns a few values that can be used in later actions -
- Links to Update:- This is selector to specify whether only the latest created link on the record must be updated or all links shared from the record must be updated.
- Disable Downloads:- Yes / No selector for disabling download on the file
- Expiry Settings:- Various parameters to specify the expiry of the link based on date or number of views.
- Email Collection & Authentication:-Specify whether the viewer must enter their email and authenticate with it. Add allow / block list.
- Return Values:- Various values returned by this action after execution.

We discuss each of the parameters in this action in detail below.
## 1 - Links to update
This parameter is used to choose which links are to be updated. As mentioned above, sharing links must have been created before using this action. This can either be done automatically using Share Attachment action or manually by attaching a file which triggers a workflow. The parameter helps you choose whether to update all links or only the latest link created on this record.
1. Latest : Choosing "Latest" will update only the latest link created on this record. The rest of the links (if any) would stay the same.
2. All : Choosing "All", will update all the links on the record. It won't make a difference if there is just one link on the record.

## 2 - Disable Downloads
If you disable download on your link, the viewer won't be able to download / print the file. Thus, this lets you prevent unauthorized distribution of the file and collect reliable analytics about it. You can choose either a yes or a no on this selector.
1. Yes : Choosing "Yes" means the download would be disabled and viewers won't be able to download / print the file.
2. No : Choosing "No" means download will stay enabled, i.e. users will see a download button through which they can download the file.

## 3 - Expires On
This sets the date and time till when the file can be viewed. Once the time has expired, the viewers would see a 'file not available' message on the shared link. A common use-case is to set the expiry of links to X months after today, thus only sharing it for a pre-defined interval of time.

## 4 - Expires after
This sets the maximum number of views of your file. After that many views, the link will expire and the viewers would see a 'file not available' message on the shared link. A common use-case is to share a one-time view coupon code or promotion.

## 5 - Require Email for accessing the link
This is a Yes / No selector to specify whether you want the viewer to enter their email while accessing the link. If you choose to collect the email, your GDPR and consent settings (if set in the CloudFiles Admin dashboard) will automatically be applied.
Note that collecting email does not necessarily mean collecting valid emails. For that, check the sections below.
1. Yes : This enables a email wall, and requires users to enter an email to access the file. Users can login through Google / Microsoft as well. Users can also enter the email in a text box and view the document.
2. No : This removes the email wall, and users can access the file without entering email.

## 6 - Enforce email verification
Enforcing email verification implies that the user will either need to login through google, outlook or use an email OTP to access the link. This ensures that only authenticated emails are entered into the email box. This parameter is a Yes/No selector for setting the email authentication.
1. Yes : This will force users to enter OTP from their inbox to ensure genuine email ids are entered or login through google / outlook.
2. No : This does not require users to enter OTP or verify the email in any way. They can still login through google / outlook or simply enter an email to view the document.

## 7 - Allowed Emails
Using this parameter, you can specify a list of emails which would be added into the allow list of the link. If the user enters one of these emails, only then they would be able to view the document. Using this feature along with email authentication can create a login like experience for your clients to view the files.
This parameter is a selector that can take the following 3 values -
1. All Contact Emails - If triggering on a deal or company record, all the associated contacts of that record would be added as emails to the list.
2. Enter Manually - You can manually enter the emails using this selection.
3. Association Label - You can select a subset of the associated contacts by filtering them using a HubSpot association label

## 8 - Return Values
The Update Link Settings action returns the following values. These can be used in later actions to chain together actions and create complex automations.
1. Action Status - This is a success or failure message based on whether the action executed correctly.

Need help? Book time with our team of experts.
---
# Update Resource Permissions Action
https://help.cloudfiles.io/hubspot/update-resource-permissions-action
# Update Resource Permissions Action
The "Update Resource Permission" action by CloudFiles allows you to manage access to files or folders by specifying email addresses. You can grant or revoke access to a particular file or folder, for example when a deal owner changes.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The "Update Resource Permission" action by CloudFiles allows you to manage access to files or folders by specifying email addresses. You can grant or revoke access to a particular file or folder. For example, if a deal stage is updated, you can use this action to update access so that only the deal owner has permission.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

## Input Parameters
The "Update Resource Permission" action takes in various parameters to specify the source & destination of the file.
- Library: The specific location where the file or folder access needs to be updated (e.g., SharePoint, Google Drive, etc.).
- Path to Resource: The exact path to the file/folder. There may be more than one parameters required to specify this path based on library selection.
- Action: You can grant or remove access to a file or folder.
- Permission: Choose whether the access should be read-only or include permission to make changes.
- Emails: Enter the email addresses of the people who should be given access.

These parameters have been detailed in the section below:
### 1 - Library
Select the cloud storage platform from which the file or folder's access needs to be updated. You can choose from CloudFiles, OneDrive, SharePoint, Box, or Dropbox. Depending on your selection, additional parameters will appear in the action, which are explained in the sections below.

### 2 - Path to Resource:
This specifies the source from where the files/folder’s access need to be updated. You can specify the full path using a simple '/' separated string with the file name at the end.
The path to the folder can be copied from the metadata on the CloudFiles dashboard and then personalized using the record tokens. Follow the simple steps below -
1. Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
2. Under the libraries tab, navigate to the file or folder that you are trying to add.
3. Copy the parameter from the meta data on the right side of the screen.
These meta data example is shown below -

### 3 - Action
In this parameter, specify whether you want to grant or revoke access to the specified file or folder for the given email addresses.

### 4 - Permission
In this parameter, if you choose the action as "Grant" then this parameter will show up. Choose the type of access you want to grant to users. If you want users to only view the file or folder, select "read." If you want them to be able to make changes, select "write.”

### 5 - Emails
In this parameter, you can manually enter email addresses separated by commas, use email IDs associated with specific labels, grant access to all contact emails linked to a particular HubSpot object, or allow everyone to access the file or folder.

## Return Values
The Move Resource action returns the following values. These can be used in later actions to chain together actions and create complex automations.
1. Action Status - This is a success or failure message based on whether the action executed correctly.

---
# Update Resource Action
https://help.cloudfiles.io/hubspot/update-resource-action
# Update Resource Action
The "Update Resource" action in CloudFiles allows you to update metadata, such as renaming files and folders or adding descriptions. It is very useful when you want to update custom columns in SharePoint.
> Kind: Workflow action · Updated: Jun 4, 2026
## Introduction
The "Update Resource" action in CloudFiles allows you to update metadata, such as renaming files and folders or adding descriptions. It is very useful when you want to update custom columns in SharePoint.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?

## Input Parameters
The "Update Resource" action takes in various parameters to specify the source & destination of the file.
- Library: The location where the file/folder name or description needs to be updated, such as in SharePoint, Google Drive, or other storage platforms.
- Path to Resource: The exact path to the file/folder. There may be more than one parameters required to specify this path based on library selection.
- Property to update: The API name of property to be updated.
- Value: The updated name or description of the file or folder.
- Return Values: Various values returned by this action after execution.

These parameters have been detailed in the section below:
### 1 - Library
Select the cloud storage platform from which the file or folder's name/description needs to be updated. You can choose from CloudFiles, OneDrive, SharePoint, Box, or Dropbox. Depending on your selection, additional parameters will appear in the action, which are explained in the sections below.

### 2 - Path to Resource:
This specifies the source from where the files/folder’s name/description needs to be updated. You can specify the full path using a simple '/' separated string with the file name at the end.
The path to the folder can be copied from the metadata on the CloudFiles dashboard and then personalized using the record tokens. Follow the simple steps below -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to app.cloudfiles.io
- Under the libraries tab, navigate to the file or folder that you are trying to add.
- Copy the parameter from the metadata on the right side of the screen.
This meta data example is shown below -

### 3 - Property to update
In this parameter, specify "name" when renaming a file or folder. Similarly, for Google Drive, enter "description" when updating the description. The API name of the column is required if you want to update columns in SharePoint.

### 4 - Value
In this parameter, enter the new name for the file or folder you want to rename. Similarly, for the description, provide the updated description in the respective field.

## Return Values
The Move Resource action returns the following values. These can be used in later actions to chain together actions and create complex automations.
- Action Status - This is a success or failure message based on whether the action was executed correctly.

---
# Workflow Triggers & List Filters
https://help.cloudfiles.io/hubspot/workflow-triggers-and-list-filters
# Workflow Triggers & List Filters
Learn how to automate tasks using CloudFiles, create powerful automations with the file viewed event, and effectively trigger workflows and filter contacts based on file views in HubSpot. This collection covers CloudFiles Events and CloudFiles Properties available for workflow automation.
> Kind: Guide · Updated: Jul 8, 2026
Collection of articles related to workflow triggers & list filters.
- All CloudFiles Events: This section is about CloudFiles Events that track actions like file views, uploads, attachments, and link creations. These events capture detailed metadata and can be used in HubSpot contact-based workflows.
- All CloudFiles Properties: This section is about CloudFiles Properties that automatically updates in HubSpot based on file views, uploads, and attachments. These properties like last viewed resource, total views, and files received can trigger workflows in company, deal, or ticket records.
- Filtering Lists - In this article, we explain how integrating CloudFiles with HubSpot enhances list filtering by adding document interaction metrics, enabling more precise segmentation across contacts, companies, deals, and tickets.
- Workflow Triggers: This section is about setting up CloudFiles workflow triggers in HubSpot based on document interactions or property changes. It covers event-based triggers and property-based triggers.
---
# All CloudFiles Events
https://help.cloudfiles.io/hubspot/all-cloudfiles-events
# All CloudFiles Events
The CloudFiles Events track actions related to files, folders, and datarooms, providing details on when and how they are accessed, shared, or attached.
> Kind: Guide · Updated: Jun 4, 2026
The CloudFiles Events track actions related to files, folders, and datarooms, providing details on when and how they are accessed, shared, or attached.
- File-viewed Event logs when a shared file is opened. It records the number of views, the percentage of content read, the total time spent, and the number of downloads. It also captures the date of access and link details, including the name and URL.
- File Received tracks when a file is uploaded to a dataroom. It includes the file name, the associated file request block, and the date it was received.
- Resource Attached records when a file, folder, or dataroom is linked to a record. It captures the resource name, type, and the date it was attached.
- Link Created logs when a shareable link is generated for a file, folder, or dataroom. It includes the link name, type, and creation date.
These events help monitor file interactions, maintain accurate records, and track how shared content is accessed and managed.
## 1. File-viewed Event
### About
The File-viewed event records details when someone opens and interacts with a shared file. It tracks how much of the file was read, how many times it was viewed, the total time spent, the number of downloads, the access date, and the link used to view the file. This helps in understanding file usage and user engagement.

### Properties
### i) Content Coverage
This shows the percentage of the file that was read. For example, if a file has 10 pages and only 1 page is read, the value is 10%. If the user scrolls to the last page without reading, it still shows 100%.
### ii) Link Name
This is the name of the shared link. In HubSpot, the link name usually matches the name of the associated HubSpot record. In the CloudFiles web app, users can name the link however they like.
### iii) Link URL
This is the web address of the shared file. The URL differs between HubSpot and the CloudFiles web app, even if the file is the same.
### iv) Number of Downloads
This shows how many times the file was downloaded. For example, if a whitepaper is downloaded more than five times by one contact, a workflow can assign a lead nurturing task to the marketing team.
### v) Number of Views
This is the total number of times the file was accessed. If a case study is viewed multiple times by a contact, a workflow can enroll them in a relevant campaign.
### vi) Occurred
This is the date when the file was viewed. For example, scheduling follow-ups based on this date allows actions like sending a thank-you email a day after a demo video is watched.
### vii) Resource Name
This is the name or title of the file that was accessed. A workflow can notify the product team when a specific file like "Beta_Features_Guide" is viewed, so they can prepare for feedback.
### viii) Time Spent (in seconds)
This shows how long the file was viewed, measured in seconds. If a prospect spends over 300 seconds on a pricing document, they can be moved to a priority lead list.
### ix) Total Views
This is the total number of times the file has been accessed across all sessions. The number can vary between the same file shared via different links in HubSpot and the CloudFiles web app, since the links are different.
## 2. File Received
### About
The File Received event is recorded when someone uploads a file to a dataroom. It captures the file name, the request block it was submitted to, and the date it was received. This helps in tracking document submissions.

### Properties
### i) Dataroom Name
This is the name of the dataroom where the file was uploaded. Workflows can use this to notify teams, such as alerting the compliance team when documents are added to a specific dataroom.
### ii) File Name
This is the name of the uploaded file. It can be used in workflows or communications to refer to the received document.
### iii) File Request Name
This is the name of the request block where the file was submitted. It can be used in HubSpot workflows to filter or trigger actions based on the request source.
### iv) Occurred
This is the date the file was received in the dataroom. It can trigger actions or notifications in HubSpot workflows when a file is received.
## 3. Resource Attached
### About
The Resource Attached event is recorded when a file, folder, or dataroom is attached to a HubSpot record. This helps in keeping a record of shared resources.

### Properties
### i) Name
This is the name of the file, folder, or dataroom that was attached. For example, if a file named "Contract_Template" is attached to a deal, a workflow can notify the legal team.
### ii) Occurred
This is the date when the resource was attached. This can be used to schedule follow-ups, such as setting a review meeting a week after a proposal is attached.
### iii) Tags
This property is not currently used in workflows.
### iv) Type
This shows whether the attached resource is a file, folder, or dataroom. Different workflows can be triggered based on the type—for example, prompting the team to review content when a folder is attached or reviewing content when a file is added.
## 4. Link Created
### About
The Link Created event captures when a shareable link is generated for a file, folder, or dataroom. It includes the link name, type, and the date it was created.

### Properties
### i) Name
This is the name of the link created for the file, folder, or dataroom. For example, if a link named "Product_Brochure_Q1" is created, a workflow can trigger a follow-up task for the sales team.
### ii) Occurred
This is the date when the link was created. For instance, if the file is viewed on a certain date, you can schedule a follow-up email for the next day.
### iii) Type
This shows whether the link was created for a file, folder, or dataroom. For example, when a dataroom is created, a task can be assigned to a project manager to review its contents.
Thus, this event helps track the creation of shareable links, ensuring transparency and better control over shared content.
---
# All CloudFiles Properties
https://help.cloudfiles.io/hubspot/all-cloudfiles-properties
# All CloudFiles Properties
Describes the five CloudFiles properties that auto-track file uploads, views, and attachments on HubSpot records for use in workflows.
> Kind: Guide · Updated: Jun 4, 2026
In this article, we have explained the five CloudFiles properties that automatically track and update important information about file uploads, views, and attachments. Each one of them updates automatically based on user actions and can be used in workflows to assist with internal processes.

## 1.Last Received File Request Name
### About
This property reflects the name of the most recent file request block in which the file was uploaded in the dataroom. It updates automatically when a client uploads a file through a file request block of a dataroom linked to a HubSpot record.
### Use Case
For example, this property can be used when a new file is uploaded via a specific file request block in the dataroom, a workflow can be triggered using this property to update the associated record's status, notify the responsible team member, and log the file for tracking purposes.
## 2. Last viewed resource
### About
This indicates the most recently accessed file, folder, or dataroom linked to a HubSpot record. It updates each time a user views a resource through a CloudFiles link.
### Use Case
For example, set up a workflow that activates when a contact views a shared resource. This can automatically update the contact's engagement score, move them to a targeted list for follow-up, or send a personalised email based on the specific resource viewed.
## 3. Number of Files Received
### About
This property counts the total number of files uploaded via file request blocks of the dataroom links associated with a HubSpot record. It increments with each successful file upload and can be viewed on the left-hand side of the relevant HubSpot record.
### Use Case
For example, create a workflow that monitors the number of files received in a dataroom attached to a particular company or deal. Once a predefined threshold is met (e.g., all required documents are submitted), the workflow can progress the deal to the next stage and assign tasks to team members
## 4. Number of Resources Attached
### About
This denotes the total number of files, folders, or datarooms linked to a specific HubSpot record using CloudFiles. It updates whenever a new resource is attached however, the number does not decrease when the attachment is removed from the record.
### Use Case
For example, one can design a workflow that triggers when new resources are attached to a record. This can prompt internal notifications, or initiate subsequent actions such as sharing the resources with stakeholders or updating documentation.
## 5. Total views
### About
This metric shows the cumulative number of times all CloudFiles resources linked to a HubSpot record have been viewed. It increases with each view, including multiple views by the same user, and can be found in the analytics section of the CloudFiles widget on the record.
### Use Case
For example, establish a workflow that triggers when the total number of views on a document surpasses a certain view count, which can then alert the sales team to increased interest, prompting timely follow-ups or tailored outreach strategies.
Thus, these properties track basic file and resource activity within HubSpot. They can be used with workflows to automate common tasks and keep records up to date based on actions like file uploads and views.
---
# Filtering Lists
https://help.cloudfiles.io/hubspot/filtering-lists
# Filtering Lists
HubSpot's list filtering enhanced by CloudFiles document interaction metrics for segmenting contacts, companies, deals, and tickets.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
HubSpot's list filtering capabilities enable users to segment data across contacts, companies, deals, and tickets based on specific criteria. Integrating CloudFiles enhances these capabilities by introducing document interaction metrics, allowing for more detailed segmentation based on file engagement.
## CloudFiles Events
CloudFiles integrates with HubSpot to provide event-based filters, particularly for the Contact object. These events capture interactions with shared documents, enabling more precise segmentation and automation.
### 1. File Viewed
Tracks when a contact views a shared document, recording metrics such as time spent, number of views, and percentage of content viewed.
### 2. File Received
Logs when a contact uploads files via a file request, noting details like the dataroom name and number of files received.
### 3. Resource Attached
Records when a resource is attached to a record, capturing information such as resource name, type, and associated tags.
### 4. Link Created
Captures the creation of new document links, including the link name, type, and creation timestamp.
For a comprehensive overview of all CloudFiles events and their applications within HubSpot, please refer to the All CloudFiles Events article.
### Use Cases for Filtering Lists Using CloudFiles Events
For instance, utilizing the File Viewed event allows identification of contacts who have engaged with specific documents. By filtering contacts who viewed a particular file and setting conditions such as "Time Spent (In Seconds)" greater than a specific threshold, or using "Number of Views" to gauge repeated engagement, one can create a list of highly engaged contacts for targeted follow-ups.
Similarly, the File Received event can track contacts who have submitted required documents. By filtering contacts based on the "File Request Name" they responded to and using "Number of Files Received" to ensure all necessary documents are submitted, it's possible to maintain a list of contacts who have completed document submissions.
## CloudFiles Properties
Beyond event-based filters, CloudFiles introduces properties that can be used for segmentation across Companies, Deals, and Tickets in HubSpot. These properties are automatically updated based on document interactions .
### 1.Last Received File Request Name:
Identifies the most recent file request name in which the file was received.
### 2.Last Viewed Resource
Indicates the last resource(file/folder/dataroom) viewed by the associated record.
### 3.Number of Files Received
Total files received from the associated record.
### 4.Number of Resources Attached
Count of resources attached to the record.
### 5.Total Views
Aggregate views of resources associated with the record.
For a comprehensive overview of all CloudFiles properties and their applications within HubSpot, please refer to the All CloudFiles Properties article.
### Use Cases for Filtering Lists Using CloudFiles Properties
1. Monitoring Document Submission Status
When managing processes that require clients to submit specific documents such as compliance forms or onboarding materials, it's crucial to track who has provided the necessary files.
By creating a list that filters records based on the "Last Received File Request Name" property, you can identify which clients have submitted the required documents. This list enables your team to follow up with those who haven't completed their submissions, ensuring timely compliance and efficient onboarding.
2. Identifying Recent Engagement with Resources
Understanding which resources your clients or prospects have recently engaged with can inform your follow-up strategies. By filtering records based on the "Last Viewed Resource" property, you can create a list of contacts who have recently viewed specific documents. This insight allows your team to tailor communications and provide relevant information that aligns with the client's current interests.
Thus, using CloudFiles filters in HubSpot lists provides teams with a practical way to organize and act on document engagement data. Whether tracking which contacts viewed key documents or identifying records with recent file submissions, these filters make it easy to surface relevant segments.
---
# Workflow Triggers
https://help.cloudfiles.io/hubspot/workflow-triggers
# Workflow Triggers
CloudFiles extends HubSpot workflow triggers with file-related event-based and property-based triggers to automate lead nurturing and follow-ups.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
In HubSpot, workflow triggers are conditions that, when met, initiate a predefined sequence of actions. CloudFiles extends this functionality by allowing workflows to be triggered based on specific file-related events or changes in file-related properties.
For example, when a contact views or downloads a document, a workflow can be triggered to follow up with that contact. This automation streamlines processes such as lead nurturing and sales follow-ups.
## Types of Workflow Triggers
CloudFiles offers two types of workflow triggers:
### 1.Event-Based triggers:
CloudFiles event-based triggers are triggered by specific actions taken by users concerning documents. CloudFiles supports the following event-based triggers:
- File Viewed Event: Can be used as a trigger when a contact views/downloads a document.
- File Received Event: Can be used as a trigger when a file is uploaded to a dataroom.
- Resource Attached Event: Can be used as a trigger when a file, folder, or dataroom is linked to a record.
- Link Created Event: Can be used as a trigger when a shareable link is generated for a file, folder, or dataroom.
These triggers are applicable to contact-based workflows in HubSpot. For instance, when a contact views a pricing document, a workflow can be triggered to notify the sales team.
To learn more about CloudFiles Events, visit our detailed guide: All CloudFiles Events
### 2.Property-Based Triggers:
CloudFiles property-based triggers rely on specific property values within HubSpot records. CloudFiles updates certain properties based on document interactions, which can then be used to trigger workflows.
- Last Received File Request Name: Reflects the name of the most recent file request block in which the file was uploaded in the dataroom.
- Last Viewed Resource: Indicates the most recently accessed file, folder, or dataroom linked to a HubSpot record.
- Number of Files Received: Counts the total number of files uploaded via file request blocks of the dataroom links associated with a HubSpot record.
- Number of Resources Attached: Denotes the total number of files, folders, or datarooms linked to a specific HubSpot record using CloudFiles.
- Total Views: Shows the cumulative number of times all CloudFiles resources linked to a HubSpot record have been viewed.
These properties can be utilised across various HubSpot objects, including companies, deals, and tickets. For example, a workflow can be set to trigger when a deal record shows that a document has been downloaded more than five times, indicating high interest.
To learn more about CloudFiles Properties, visit our detailed guide:All CloudFiles Properties
## Triggers with Events
CloudFiles event-based triggers are used when immediate action is required following a user's interaction with a document, such as viewing, downloading, or uploading it. In this section, we will discuss a few use cases where event-based triggers can be effectively applied.
### Examples:
- Prioritize Hot Leads Based on Document Engagement: Trigger a workflow when the Time Spent (in seconds) property from the File-viewed event shows that a prospect spent over 5 minutes (300 seconds) on a pricing sheet, automatically moving them to a "Hot Lead" list and alerting the assigned salesperson for immediate follow-up.
- Auto-Validate Client Submissions for Onboarding: Trigger a workflow when the File Request Name from the File Received event indicates that a client has uploaded a signed "Service Agreement" document, automatically creating a task for the onboarding specialist to start the client setup process.
- Kickoff Deal Review After Proposal Attachment: Trigger a workflow when the Resource Name property from the Resource Attached event matches "Final_Proposal.pdf", automatically notifying the sales manager and scheduling an internal deal review meeting within two business days.
CloudFiles supports these triggers by tracking document interactions and integrating the captured data into HubSpot workflows.
## Triggers with Properties
CloudFiles property-based triggers are effective for managing processes that depend on the state or value of specific record properties. In this section, we will discuss a few use cases where property-based triggers can help automate internal processes.
### Examples:
- Client Onboarding Notifications: When the "Number of Files Received" reaches a specified count, trigger a workflow to notify the assigned team member that all required documents have been submitted.
- Sales Engagement Alerts: Utilise the "Last Viewed Resource" or "Total Views" properties to detect when a prospect engages with shared content, prompting a workflow that alerts the sales representative for timely follow-up.
- Internal Collaboration Updates: Monitor the "Number of Resources Attached" property to trigger workflows that notify internal stakeholders whenever new resources are linked to a record, ensuring everyone stays informed.
Using property-based triggers allows for structured automation that aligns with predefined business processes.
Thus, CloudFiles enhances HubSpot workflows by introducing two types of triggers: event-based triggers, which respond to specific document interactions like views or uploads, and property-based triggers, which monitor changes in document-related properties. Implementing these triggers allows for automation of tasks such as lead follow-ups and client onboarding, streamlining business processes.
---
# Document Management (Document Management)
https://help.cloudfiles.io/hubspot/document-management
# Document Management
Document Management by CloudFiles brings your external file storage directly into HubSpot so teams can access, organise, and manage files without leaving the CRM. From HubSpot records, users can link files and folders, work with connected libraries, and keep content aligned with the records they support.
> Kind: Guide · Updated: Jul 8, 2026
Document Management by CloudFiles brings your external file storage directly into HubSpot so teams can access, organise, and manage files without leaving the CRM. From HubSpot records, users can link files and folders, work with connected libraries, and keep content aligned with the records they support.
This guide provides a complete overview of setting up CloudFiles Document Management in HubSpot and understanding the key features available to streamline your document workflows.
Get started with these two key sections:
- Setup & Configuration - This section covers the initial setup required for Document Management, including connecting storage accounts, adding the CloudFiles app card to HubSpot records, configuring system behaviour, and managing users and licenses.
- Features - This section covers the core capabilities available in HubSpot, including record widgets, the content library, connected storage support, and workflow actions for automating document-related tasks.
---
# Setup & Configuration (Document Management)
https://help.cloudfiles.io/hubspot/a8Pc-setup-and-configuration
# Setup & Configuration
This section covers the initial setup and configuration required to use the Document Management product within HubSpot. The articles below explain how to connect storage systems, configure record-level access, define system behaviour, and manage user access and licenses.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
This section covers the initial setup and configuration required to use the Document Management product within HubSpot. The articles below explain how to connect storage systems, configure record-level access, define system behaviour, and manage user access and licenses.
- Adding an App Card on the Record Page: Explains how to add the CloudFiles App Card to HubSpot records and link folders or files from connected storage. It also covers the available file and folder actions and how to unlink content when it’s no longer required.
- Account Setup: Covers Document Management settings used to connect storage accounts, manage libraries, and configure file and folder conflict behaviour. This article is primarily intended for admins responsible for initial setup and storage rules.
- Setup Wizard: Describes the step-by-step setup wizard used to configure CloudFiles inside HubSpot. It walks through selecting libraries, adding the widget, linking files or folders, and setting up automation-related options.
- Connecting External Storage Accounts: Details how to connect supported external storage platforms such as Google Drive, SharePoint, OneDrive, etc, within the CloudFiles app for HubSpot. It also explains where connected files and folders appear within CloudFiles after authentication.
- License Management: Explains how admins can manage user access, roles, invitations, and license counts for the Document Management product. It also clarifies how licenses are handled across different CloudFiles products.
- Usage: This article explains the Document Management Usage view in CloudFiles, which helps you monitor how automation credits are consumed over time. It covers the usage summary card, historical usage trends, breakdown by flow action and usage grouped by HubSpot object type, along with guidance on purchasing additional credit packs if needed.
---
# Adding an App Card on the Record Page
https://help.cloudfiles.io/hubspot/adding-an-app-card-on-the-record-page
# Adding an App Card on the Record Page
Learn how to add the CloudFiles App Card to a HubSpot record, link it to a folder or file, manage linked content, and unlink folders when they're no longer needed.
> Kind: Guide · Updated: Jun 4, 2026
The CloudFiles App Card integrates with HubSpot to make managing files and folders easier. It allows you to link your storage libraries, such as SharePoint / Google Drive / OneDrive / Box / Dropbox or even AWS S3, directly to your HubSpot records. Once linked, you can perform essential actions like renaming, sharing, downloading, or previewing content.
This article explains the following -
- Configuring the App Card: In this section, you’ll learn how to add the CloudFiles App card to your HubSpot records.
- Linking a Folder to the Card: In this section, we’ll guide you through connecting specific folders or files to the App card for access.
- Working with Linked Folders: In this section, you’ll discover the operations you can perform on connected files and folders directly within the card.
- Unlinking the Folder: In this section, we’ll explain how to disconnect a folder or file from the CloudFiles App Card while keeping it safe in your storage library.
Now, let’s get into each section in detail.
## 1 - Configuring the Card
The CloudFiles App Card allows you to easily manage and share files directly within your HubSpot records. Follow these simple steps to integrate the widget into your HubSpot:
- Navigate to any HubSpot record and click on "Customise view" located in the top-right corner.
- From the menu, select "Default view".
- Click the "+" button to create a new tab or add the widget to the existing tab.
- Assign a name to the tab if any. For example, you can name it "CloudFiles" for easy identification.
- Click on the "+" button again to open the Card Library and select CloudFiles.
- Next, click on "Add Card" to add the widget to the existing/ new tab.
Follow the steps given below in the GIF:

## 2 - Linking a folder to the App Card
Once you've set up the card, the next step is to link it to a folder. This will allow you to access and manage specific files or folders directly within your HubSpot records. Follow these simple steps to complete the process:
- Open the HubSpot record where you want to link the folder.
- Locate the CloudFiles Tab that you added in the previous step or in the existing tab.
- Click on "Select Folder/File."
- A dialogue box will appear. Here, you can browse and select the desired library, folder, or file you want to link.
- Select the folder or file, and the contents will instantly start appearing in your card.
Follow the steps given in the GIF:

By linking a folder to the card, you can quickly view and access its contents, streamlining your workflow and improving productivity. With everything in one place, managing files within HubSpot becomes much more efficient.
## 3 - Working with linked folders
Linked folders in the widget are designed to be user-friendly and efficient. Once a folder is connected, you can perform various actions directly from the app card to manage your files and folders effectively. Here's an overview of the available options:
For linked folders, you will have the following options:
- Open in Google Drive/SharePoint/Other Storage Library: Quickly open the folder in your connected storage service.
- Share: Generate a shareable link to access all the contents of any folder as a whole.
- Rename: Change the name of the folder as needed.
- Delete: Permanently remove the folder from the linked storage.
- Add to Dataroom: Directly add the folder to the dataroom.
- Disconnect: Unlink the folder from the card while keeping it intact in your storage library.

For individual files, you can access the following options:
- Open in Google Drive/SharePoint/Other Storage Library: Open the file in your storage provider for additional actions.
- Download: Save a local copy of the file to your device.
- Preview: View the file without downloading it.
- Share: Create a shareable link for any file.
- Rename: Edit the file name directly from the widget.
- Replace: Swap the current file with another while maintaining the folder structure.
- Add to Dataroom: Directly add the file to the dataroom.
- Move: Change the file's location within the storage library.
- Delete: Permanently remove the file from the linked storage.
- Disconnect: Unlink the file from the app card while keeping it intact in your storage library.

With these options, you can manage your files and folders within the A.
## 4 - Unlinking the folder
If you no longer need a folder or file linked to the widget, you can easily unlink it. Follow these steps to disconnect:
- Navigate to the App Card or open the connected folder within the card.
- Locate the "Disconnect" button.
- Click on the button to unlink the folder or file.

Once unlinked, the folder or file will no longer appear in the app card, but it will remain intact in your storage library.
## More resources on CloudFiles - HubSpot Integration
If you’re looking to learn more about using CloudFiles with HubSpot, there’s a wealth of articles and videos available to guide you. CloudFiles offers powerful features and integrations that simplify document sharing and automation.
In addition to folder creation and connection, as demonstrated above, you can:
- Share files securely with clients and team members.
- Enable advanced security features like password protection or email verification.
- Collect detailed analytics on shared files, including views and engagement.
- Use flow components to fully automate document-related processes, saving time and effort.
These features ensure an efficient workflow, making CloudFiles an essential tool for managing documents within HubSpot.
> The CloudFiles Connected Folder widget is supported only for the four primary HubSpot objects. For more details, check out the documentation on Supported Objects in CloudFiles & HubSpot Integration .
---
# Account Setup (HubSpot: Document Management)
https://help.cloudfiles.io/hubspot/kRGB-account-setup
# Account Setup
The Document Management settings are used to connect cloud storage accounts and define how files and folders are handled.
> Kind: Guide · Updated: Jun 4, 2026
The Document Management settings are used to connect cloud storage accounts and define how files and folders are handled. In this, you can connect supported storage, manage libraries, and set rules for handling duplicate files or folders.
## Integrations
The Integrations section shows the cloud storage that CloudFiles supports. From here, you can connect storage like Google Drive, SharePoint, OneDrive, Dropbox, Box, Microsoft Teams, HubSpot, and CloudFiles itself.
Each connected storage is linked to an integration or system user. This account is further used by CloudFiles to run automations such as folder creation and organisation. Once connected, you will see:
- Connected by – the user who connected the account.
- Connected on – the date of connection. You can also disconnect an account from here if needed.

To know more about integration users and how to connect them, refer to What is an Integration/System user?
## Manage Libraries
You can select which libraries to make available. Multiple libraries can be enabled. Each connected storage is associated with an integration user, the account CloudFiles uses to perform various automations.

## Conflict Behaviours
Conflict behaviours define how CloudFiles handles duplicate files and folders when running automations such as file/folder creation, backup, or organisation. These settings depend on the storage platform you have connected and are divided into two categories: File Conflict Behaviour and Folder Conflict Behaviour.
### File Conflict Behaviour
This setting controls what happens when CloudFiles tries to create or upload a file that already exists in the same location. Depending on the platform, CloudFiles may allow you to rename the new file to make it unique, replace the existing file with the new one, keep the existing file unchanged, or stop the process with an error.
### Folder Conflict Behaviour
This setting determines how CloudFiles reacts when a folder with the same name already exists. Similar to files, the system may either create a uniquely named folder, keep the existing one unchanged, or stop the operation entirely.
### How Storage Platforms Handle Conflicts?
CloudFiles supports four behaviours across different platforms: Rename, Replace, No Op, and Fail.
- Rename adds a suffix such as “(1)” to create a unique file or folder name and is supported on all major platforms, including CloudFiles, Google Drive, Dropbox, SharePoint, OneDrive, Box, and Microsoft Teams.
- Replace overwrites an existing file and is supported only for files on platforms that allow overwriting, specifically OneDrive, SharePoint, and Microsoft Teams.
- No Op skips creation and keeps the existing item unchanged, and is available across all platforms.
- Fail stops the action entirely and reports an error, and is also supported wherever the platform allows error-based conflict handling.
Folder conflict handling follows a similar pattern, with most platforms supporting Rename, No Op, and Fail, while Replace is not available for folders on any platform.

---
# Setup Wizard (HubSpot: Document Management)
https://help.cloudfiles.io/hubspot/setup-wizard
# Setup Wizard
The Document Management Setup Wizard helps you configure CloudFiles for use inside HubSpot, guiding you through connecting document storage, displaying documents on records, and automating folder creation.
> Kind: Guide · Updated: Jun 4, 2026
The Document Management Setup Wizard helps you configure CloudFiles for use inside HubSpot. It guides you through the essential steps required to connect your document storage, display documents on HubSpot records, and optionally automate folder creation using workflows.

The Document Management setup wizard is designed to be completed sequentially, but you can revisit individual steps later if needed. Each step in the wizard includes an embedded video walkthrough, making it easier to understand and complete the setup with visual guidance.
## Accessing the Setup Wizard
You can access the setup wizard from the Document Management section in the CloudFiles app from the left-hand side bar. A progress indicator on the left shows how many steps are completed, helping you track your setup progress.
The wizard consists of five steps, each focusing on a specific part of the configuration.
### Step 1: Select Your Library
This step allows you to choose the document storage platforms you want to use with CloudFiles. Supported options include Google Drive, SharePoint, OneDrive, and other connected storage providers.

Once selected, the chosen libraries become available throughout CloudFiles and can be accessed directly from HubSpot records. After saving your selection, mark the step as "Complete."
### Step 2: Configure the Document Management Widget
The Document Management widget allows you to view and manage files directly within HubSpot records, such as Contacts, Companies, Deals, Tickets or any other custom objects available for Enterprise users.

At this stage, the widget is added to the HubSpot record layout. This ensures that CloudFiles appears as a dedicated tab or section inside the record view, making documents easily accessible without leaving HubSpot. After saving the layout changes in HubSpot, this step can be marked as done in the wizard.
### Step 3: Link a File or Folder
Once the widget is configured, you can link an existing file or folder from your selected library to a HubSpot record.

After a file or folder is linked, its contents immediately appear inside the Document Management widget on the record, allowing users to browse and interact with documents directly.
### Step 4: Connect the Automation User
The Automation User is a dedicated account used by CloudFiles to run automations such as folder creation, associating files/folders, etc. This step is available only for Enterprise plans.

During this step, you authenticate a storage account that CloudFiles will use to perform automated actions. Once connected, this user is consistently used for all document management automations, ensuring reliability and avoiding permission-related issues.
To know more about Automation user, read What is an 'Automation User' and how does it work?
### Step 5: Create a HubSpot Workflow (Enterprise)
A HubSpot workflow can be created to automatically generate and attach folders when new records are created or when specific conditions are met using the CloudFiles flow actions. For example, a folder can be automatically created for every new Contact or Deal and linked back to the record.

After the workflow is saved and activated, CloudFiles automatically manages folder creation and attachment without manual intervention. This step is available only for Enterprise plans.
### Completion and Progress Tracking
Each completed step is marked visually in the setup wizard, and the progress indicator updates accordingly. You can complete the steps in order and return to unfinished steps at any time.
The Document Management Setup Wizard ensures CloudFiles is fully configured to work with HubSpot. By completing these steps, you enable centralised document access, in-record file management, and optional automation for scalable document workflows.
---
# Connecting External Storage Accounts (Setup & Configuration)
https://help.cloudfiles.io/hubspot/connecting-external-storage-accounts
# Connecting External Storage Accounts
Learn how to connect external storage platforms like Google Drive, SharePoint, and OneDrive directly to HubSpot using CloudFiles.
> Kind: Guide · Updated: Jun 4, 2026
CloudFiles allows you to connect external storage platforms directly to HubSpot, making it easier to access, manage, and organize your documents from a single place. By connecting your preferred storage accounts, you can view and work with files without switching between multiple platforms.
This article walks you through how to connect external storage accounts in CloudFiles, including Google Drive, SharePoint, and OneDrive.
## Supported Storage Platforms
CloudFiles supports integration with multiple external storage providers, including:
- Google Drive
- SharePoint
- OneDrive
- Dropbox
- Box
- HubSpot
- Microsoft Teams
You can connect one or more of these storage platforms based on your requirements. The connection process is similar across all supported providers.
## Accessing the Libraries Section
To begin connecting a storage account:
- From the left-hand sidebar in CloudFiles, navigate to Document Management → Libraries.
- Click on the CloudFiles tab under Libraries.
- You will see a list of available storage platforms that can be integrated with HubSpot.
- Select the storage platform you want to connect and follow the corresponding steps.

### Steps to Connect Google Drive

- Go to "Document Management → Libraries" from the left menu.
- Select Google Drive as the library source.
- Click Connect Google Drive.
- On the Google sign-in screen, choose the Google account you want to connect to CloudFiles.
- Review the sign-in confirmation and click Continue.
- On the permissions screen, review the access CloudFiles is requesting.
- Click Allow to grant access to your Google Drive.
- Once connected, you’ll be redirected back to CloudFiles.
Your Google Drive folders will now be visible under My Drive.
### Steps to Connect SharePoint

- Go to Document Management → Libraries from the left menu.
- Select SharePoint as the library source.
- Click Connect SharePoint.
- On the Microsoft sign-in screen, choose the account you want to connect to CloudFiles.
- Enter your credentials and password.
- After successful authentication, you’ll be redirected back to CloudFiles.
Your SharePoint folders will appear under All Sites and Followed Sites in the Libraries section.
### Steps to Connect OneDrive

- Go to Document Management → Libraries from the left menu.
- Select OneDrive as the library source.
- Click Connect OneDrive.
- On the Microsoft sign-in screen, choose the account you want to connect to CloudFiles.
- Enter your credentials and password.
- Once the connection is complete, you’ll be redirected back to CloudFiles.
Your OneDrive folders will now be available under All Files.
By connecting external storage accounts to CloudFiles, you can centralize document access directly within HubSpot and streamline your document management process. You can follow similar steps to connect other supported storage platforms such as Dropbox, HubSpot, and Microsoft Teams.
Once connected, all your files remain accessible from the Libraries section, making it easier to manage documents across multiple storage providers from a single interface.
---
# License Management (HubSpot: Document Management)
https://help.cloudfiles.io/hubspot/license-management
# License Management
The License Management section in CloudFiles allows admins to control access to the Document Management product, including viewing active users, assigning roles, inviting new users, and managing the total number of licenses available.
> Kind: Guide · Updated: Jun 4, 2026
The License Management section in CloudFiles allows admins to control access to the Document Management product. From this page, admins can view active users, assign roles, invite new users, and manage the total number of licenses available for the product.
Each CloudFiles product -> Document Management, Document Generation, and Document Sharing has its own license configuration, which can be managed independently.
CloudFiles also supports Partner Seats, allowing organizations to invite external implementation partners or HubSpot agencies with limited, dedicated access.
## Accessing License Management
License Management can be accessed from Settings in CloudFiles by selecting License Management from the left-hand menu. By default, the Document Management tab is selected, allowing you to manage licenses specific to this product.
The License Management screen provides a consolidated view of all users associated with the Document Management product. At the top of the page, product tabs allow you to switch between Document Management, Document Generation, and Document Sharing. Any changes made apply only to the selected product.

Below the tabs, the Document Management Licenses section displays the current license status, including the number of licenses available and the list of users assigned to this product.
### User List and License Details
The user table shows all users who have access to Document Management. For each user, the following information is displayed:
- Name and Email ID of the user.
- License Status indicates whether the license is active or inactive.
- Role defines the user’s level of access. CloudFiles supports three roles:
- Admin – Can manage licenses, invite users, and configure the account.
- User – Can access the products assigned to them.
- Partner – Intended for external implementation partners or agencies. Partner users can access only the CloudFiles account they were invited to.
> **Note** — Partner Seats are currently available by request. If you’d like to enable Partner Seats for your CloudFiles account, contact our support team.
### Inviting a User
Clicking "Invite User" opens a dialogue that allows admins to invite new users to CloudFiles.
In the New Invites view, the admin enters the user’s email address and selects a role, either User or Admin. Once the invitation is sent, the user receives an email invitation to join CloudFiles. If a license is available, an active license is automatically assigned after the invitation is accepted.

The Pending Invitations view shows users who have been invited but have not yet accepted their invitation, helping admins keep track of outstanding invites.
### Inviting a Partner
If Partner Seats are enabled for your CloudFiles account, admins can invite external implementation partners or HubSpot agencies with a dedicated Partner role.
Partner users are intended for external collaborators who help configure or manage the CloudFiles account on behalf of your organization.
When inviting a Partner:
- Only external email addresses can be invited.
- A Partner Seat must be available.

### Updating Roles and License Status
Admins can directly update a user’s role and license status from the License Management table. Each user entry includes editable fields that allow quick adjustments without leaving the page.
Using the edit (pencil) icon, admins can change a user’s role between Admin and User, depending on the required level of access.

Similarly, the license status can be toggled between Active and Inactive, giving admins control over whether a user currently has access to the Document Management product.

### Managing Licenses
The Manage Licenses option allows admins to control the total number of Document Management licenses available.
When selected, a modal opens where the admin can increase or decrease the number of licenses using the plus/minus controls. The modal also displays the current number of licenses in use and the updated total after changes are applied.

Selecting "Confirm Changes" updates the license count, making new licenses immediately available for assignment.
License Management in CloudFiles provides admins with full visibility and control over access to the Document Management product. By managing users, roles, invitations, and license counts from a single screen, teams can ensure secure access to documents while scaling usage as needed.
> **Note** — Partner Seats are managed separately from standard product licenses. They do not count toward your purchased license total.
### Deleting a User
Admins can permanently remove user from the CloudFiles account directly from the License Management screen.

This action cannot be undone. When a user is deleted, they are completely removed from the CloudFiles account and will no longer have access to any CloudFiles products. Any files, folder, Datarooms, shared link or other resources owned by the user are automatically reassigned to the admin initiating the delete action. This ensures that existing resources remain accessible and no data is lost after the user is removed.
---
# Usage (HubSpot: Document Management)
https://help.cloudfiles.io/hubspot/usage
# Usage
The Document Management usage view helps you monitor how CloudFiles document management automations consume credits over time.
> Kind: Guide · Updated: Jun 4, 2026
The Document Management usage view helps you monitor how CloudFiles document management automations consume credits over time. It provides visibility into current billing usage, historical trends, and how usage is distributed across automation actions and HubSpot objects.
## Accessing Document Management Usage
To access the Document Management usage view:
- Open the CloudFiles app for HubSpot.
- Select Document Management from the top navigation bar.
- From the left sidebar, click Usage.

### Sections Available in the Usage View
The usage view is divided into multiple sections that provide an overview of current billing usage, historical trends, and a detailed breakdown of how credits are consumed. Each section focuses on a specific aspect of document management usage.
## Usage Summary Card
The Usage Summary Card displays a snapshot of usage for the current billing cycle.
It shows the billing cycle start and end dates, the total number of credits consumed so far, the remaining credits available, and the number of days left before the billing cycle resets. This section helps you quickly assess whether current usage is within expected limits.

### Purchasing Additional Credits
If your usage exceeds the included limits in your current plan, you can purchase additional credit packs as an add-on.
### Automation Pack
| Plan | Price/month | Automations/month |
|---|---|---|
| Small Pack | $10 | 100 |
| Medium Pack | $75 | 1,000 |
| Large Pack | $500 | 10,000 |
These add-ons allow you to continue running document management automations without interruption, even during periods of higher usage. Additional credits are applied to your account immediately and are consumed in the same way as your existing plan credits.
## Historical Usage Analysis
The Historical Usage Analysis section visualises how document management usage changes over time.

Usage can be viewed across predefined time ranges, such as Today, This week, This Year or Last 180 Days. A Custom Date Range selector is available for more precise analysis. Usage data can be displayed using Bar or Line graphs to identify trends, spikes, and periods of low activity.

## Filters and Controls
Filters allow you to refine how usage data is displayed. You can group usage by interval, including Daily, Weekly, or Monthly views. Automation Actions can also be selected to focus analysis on specific document management operations. These controls help isolate usage patterns and understand when particular actions were executed.
## Breakdown by Flow Action
The Breakdown by Flow Action section shows how usage is distributed across individual document management flow actions.
It displays the total number of actions performed and the relative contribution of each action. This helps identify which flow actions are responsible for the majority of credit consumption.

## Linked Records by HubSpot Object
This section groups usage data by HubSpot object type. It shows which objects are most frequently associated with document management flow actions. This helps understand where document management automations are being applied and which object types contribute most to overall usage.

---
# Features (Document Management · HubSpot)
https://help.cloudfiles.io/hubspot/RX0R-features
# Features
CloudFiles brings external file storage directly into HubSpot, allowing teams to access, organise, and manage documents without leaving the CRM. These are the document management features provided by CloudFiles.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
CloudFiles brings external file storage directly into HubSpot, allowing teams to access, organise, and manage documents without leaving the CRM. These are the document management features provided by CloudFiles.
- Record Widgets: Record Widgets integrate external storage platforms with HubSpot records, allowing users to access and manage files, folders, and datarooms directly from records.
- Content Library: The Content Library allows users to access and manage files from connected external storage within HubSpot, with real-time synchronisation and permission handling.
- Connecting External Storage Accounts: CloudFiles supports connecting external storage platforms such as Google Drive, SharePoint, OneDrive, Dropbox, and Microsoft Teams.
- Automations: CloudFiles workflow actions allow document-related tasks to be executed automatically within HubSpot workflows, such as creating folders and linking documents to records.
---
# Record Widgets
https://help.cloudfiles.io/hubspot/record-widgets
# Record Widgets
Record Widgets of CloudFiles connect HubSpot with external storage platforms such as Google Drive, SharePoint, OneDrive, Dropbox, Box, and AWS S3. They allow users to view, manage, and organise files, folders, and datarooms directly from HubSpot records.
> Kind: Guide · Updated: Jun 4, 2026
Record Widgets of CloudFiles connect HubSpot with external storage platforms such as Google Drive, SharePoint, OneDrive, Dropbox, Box, and AWS S3. They allow users to view, manage, and organise files, folders, and datarooms directly from HubSpot records.
This overview introduces the different CloudFiles record widgets and features. Each section below links to a detailed article explaining its functionality.
- App Card – The App Card appears as a central component within HubSpot records. It allows users to browse and manage linked files or folders from external storage, perform actions like open in storage platform, rename, replace, and view analytics.
- Sidebar Widget – The Sidebar Widget appears on the right-hand panel of HubSpot records. It provides quick access to associated files and folders through resource tiles and supports actions like browse, share, download, and analytics via the Attachment Actions Dropdown.
- Associations – Associations link files, folders, or datarooms from connected storage platforms to HubSpot records. They can be created through both the App Card and the Sidebar Widget and support single, multiple, and cross-library linking.
- File Operations – File Operations allow users to open, preview, share, download, rename, or replace linked files from within HubSpot. The available options vary slightly between the App Card and the Sidebar Widget interfaces.
- Folder Operations – Folder Operations enable users to manage connected folders inside HubSpot. Users can open, rename, or delete folders in the App Card, or share and browse folder contents through the Sidebar Widget.
Thus, the Record Widgets of CloudFiles provide structured access to external files and folders within HubSpot.
---
# App Card
https://help.cloudfiles.io/hubspot/app-card
# App Card
The App Card connects your external storage platforms with HubSpot records, letting users view and manage linked files and folders directly within a HubSpot record.
> Kind: Guide · Updated: Jun 4, 2026
## Overview
The App Card connects your external storage platforms with HubSpot records. It integrates with storage such as Google Drive, SharePoint, OneDrive, Box, Dropbox, and AWS S3. The App Card appears in an existing or newly created tab in the middle section of a HubSpot record. Once configured, the App Card displays linked files and folders and allows users to perform file and folder operations directly within HubSpot.
Refer to the image below for a visual overview of the options and features available within the CloudFiles App Card.

This article explains the key functions and features of the App Card, including:
- Content Library – Covers how to connect and link files and folders to a HubSpot record, and how linked content is displayed in the App Card.
- Explorer Navigation – Explains how users browse linked folders, use breadcrumbs, and search within the current folder.
- Managing Files and Folders – Describes how linked content is organised, sorted, and managed, including uploading files, creating folders, and performing file and folder actions.
- App Card Settings and Controls – Covers syncing content, managing connection settings, and accessing app-level settings for administrators.
## Prerequisites
Before exploring the features of the CloudFiles App Card, complete the required configuration steps below.
- CloudFiles must be installed and connected to your HubSpot account. If not, refer to the Installation guide for CloudFiles HubSpot Integration .
- At least one storage platform (e.g. Google Drive, SharePoint) must be connected to CloudFiles.
- The CloudFiles CRM card must be added to the relevant HubSpot record layout. See how to set up Doc Management Quickstart .
## Content Explorer
The Content Explorer is the main area of the CloudFiles HubSpot App Card, where users can view and manage files or folders connected to a HubSpot record. It provides options to browse content, search within folders, perform file and folder actions, and manage library-level controls.
### Initial State
The initial or empty state appears when no files or folders are currently linked or displayed in the CloudFiles App Card. This state helps users understand that there is no content available yet and guides them toward adding or connecting content. When the Content Library is empty, users can click the 'Select Folder/File' button to connect with folders and files. This is typically the starting point before files or folders are added to the HubSpot record.

### Linking Files and Folders
CloudFiles supports three connection types.
- Connecting a single file makes only that file accessible in the Content Library.
- Connecting a folder brings in its full contents, including subfolders and files.
- Connecting multiple items lets users link a mix of files and folders from the same or different storage locations.
To link content, users can click the Select Folder/File button in the App Card. This opens a window where users can select their external storage platform and browse its library. Users can check the boxes next to the files or folders they want to connect and confirm the selection. The linked content then appears in the Content Library.
For detailed setup instructions, refer to Adding an App Card on the Record Page.

### Viewing Linked Content
Linked files and folders are displayed in the Content Library after they have been associated with the HubSpot record. The displayed content depends on what has been linked to the record and the user's permissions in the connected storage platform.

## Explorer Navigation
This section explains how users move through folders linked to the CloudFiles App Card. Navigation tools such as breadcrumbs and search help users locate files and folders within the connected library without leaving the HubSpot record.
### Breadcrumbs
As a user navigates into subfolders within the App Card, a breadcrumb trail appears at the top of the card. Each breadcrumb segment represents one level of the folder hierarchy, starting from the linked root folder. Clicking any breadcrumb segment navigates back to that level.
When the folder path is long, intermediate segments are collapsed and represented by a ... icon. Clicking the ...icon reveals the hidden segments, allowing the user to jump to any intermediate folder. Breadcrumbs do not appear when the user is at the root of the linked folder or when only files (not folders) are associated with the record.

### Browsing
Users can browse linked folders directly from the CloudFiles App Card. Selecting a folder opens its contents, including any files and subfolders. The breadcrumb section shows the current folder path and helps users move back through the folder hierarchy. Users can select a previous folder in the breadcrumb path to return to that level, or use the ... menu to view hidden parent folders and navigate directly to the required folder.
When a file is selected, it opens the file preview in a new browser tab. Users can also use the file’s Actions context menu for previewing the file.

### Search
The Search bar in the CloudFiles HubSpot App Card helps users quickly find files and folders when working with multiple items in the current folder. Enter a file name, folder name, or keyword to view matching results. Search applies only to the folder currently being viewed and does not include items inside nested folders.

## Managing Files and Folders
The Content Library is the main area of the CloudFiles App Card where users view and manage files and folders linked to a HubSpot record. It organises connected content into a sortable table, supports bulk selection, and provides file and folder actions, all without leaving HubSpot.
### File and Folder Table
The file and folder table organises linked content into rows and columns. Each row represents a file or folder, making it easy for users to review available content at a glance. The table includes key details such as the item name, creator, creation date, and available actions. This layout helps users identify the correct file or folder before opening or managing it.

### Sorting
Sorting controls appear as toggle arrows beside sortable column headers in the Content Library. The sorting behaviour depends on the column type. Text-based columns, such as Name and Created By, organise items alphabetically, while date-based columns, such as Created At, organise items by creation date.
The toggle arrows allow users to switch the display order for the selected column. Sorting only changes how items are arranged in the App Card and does not modify file names, folder structure, ownership, or content in the connected storage platform.

### Bulk Selection
Checkboxes appear next to files and folders in the Content Library. Users can select one or more items by clicking the checkbox beside each row. This is useful when working with multiple files or folders in the same location where bulk selection is required. Actions such as bulk download, bulk add to dataroom etc... are support by the CloudFiles App Card.

### Upload Files
The Upload Files button adds files to the current directory in the App Card, where they appear within the existing library structure.

### New Folder
The New Folder button allows users to create a folder within the current directory. The folder appears in the App Card as part of the existing library structure.

### File and Folder Actions
After files and folders are linked to the App Card, users can manage the connected content directly from within CloudFiles. These actions help users access, organise, share, and control linked items efficiently, while keeping the App Card synchronised with the connected external storage location.
### Folder Options
The Actions column appears on the right side of each folder row. It includes a dropdown arrow that opens the context menu for that specific item.

The folder context menu displays the actions available for that folder, such as opening, sharing, renaming, deleting, adding to a Dataroom, or disconnecting it.
- Open in Drive- Opens the folder contents in the connected external storage platform, such as Google Drive, SharePoint, OneDrive, Box, Dropbox, or AWS S3.
- Add to Dataroom- Adds the folder contents to a secure Dataroom, allowing users to share files in a controlled environment and track advanced sharing analytics.
- Rename- Allows users to change the name of the folder
- Delete- Removes the folder from the CloudFiles App Card and deletes it from the connected external storage platform.
- Share- Allows users to share a folder with others.
- Disconnect- Removes the folder from the CloudFiles App Card without deleting it from the connected external storage platform.
For more details, refer to Folder Operations.
### File Options
For files, the Actions column appears on the right side of each file row. The dropdown arrow in this column opens the context menu for that specific file.

The file context menu displays the actions available for that file, such as opening, previewing, downloading, sharing, renaming, deleting, adding to a Dataroom, or disconnecting it.
- Open in Drive- Opens the file path in the connected external storage platform, such as Google Drive, SharePoint, OneDrive, Box, Dropbox, or AWS S3.
- Preview- Allows users to view the file content without opening it directly in the external storage platform.
- Download- Allows users to download the file locally.
- Add to Dataroom- Adds the file to a secure Dataroom, allowing users to share files in a controlled environment and track advanced sharing analytics.
- Rename- Allows users to change the name of the file
- Delete- Removes the file from the CloudFiles App Card and deletes it from the connected external storage platform.
- Share- Allows users to share a file with others.
- Disconnect- Removes the file from the CloudFiles App Card without deleting it from the connected external storage platform.
For more details, refer to File Operations.
## App Card Settings and Controls
The App Card Controls provide options for managing the CloudFiles App Card directly in HubSpot. These include syncing the latest content from the connected storage platform, managing connection settings, and accessing app-level settings for administrators.
### Sync
The Sync button manually refreshes the CloudFiles App Card to load the latest files and folders from the connected storage location. It's important to note that CloudFiles always gets the latest content whenever the widget refreshes (e.g. on page refresh). The Sync button is an additional option users can use to refresh the view immediately while working on live files.

### Connection Settings
The gear icon in the top-right corner of the App Card opens a dropdown menu with widget-level actions for managing connections and session access.
- Connect New- Adds another CloudFiles folder or file to the HubSpot record. Use this when you need to link additional files or create a new connection.
- Logout- Use this when you want to end the active session, switch to another CloudFiles account, or reconnect with different credentials.
- Share - Allows users to share folders with others. Users can generate a shareable link or choose sharing settings based on the available permissions. Note that this option is only available when the user is in the root folder.
- Disconnect Folder - Removes all folders from the CloudFiles App Card without deleting it from the connected external storage platform. Note that this option is only present when the user is in the root folder.

### App card settings
The settings icon at the bottom of the CloudFiles App Card opens a window where users can manage and review the CloudFiles HubSpot app. From here, administrators can view the App Log, manage App permissions and access, and review Record insights. These options help administrators monitor app activity, troubleshoot issues, and manage how CloudFiles interacts with HubSpot records.

The App Card provides a way to link to and manage external files and folders within HubSpot records. It supports quick navigation, synchronisation, and file management actions without requiring users to leave the HubSpot interface.
---
# Sidebar Widget
https://help.cloudfiles.io/hubspot/sidebar-widget
# Sidebar Widget
The sidebar widget on HubSpot contact, company, deal, and ticket records provides direct access to files and folders stored in your storage platforms via an Add button and a CloudFiles hyperlink.
> Kind: Guide · Updated: Jun 4, 2026
The sidebar widget is available on the right sidebar of all contact, company, deal, and ticket records in HubSpot. It functions the same way across all record types and provides direct access to files and folders stored in your storage platforms.
The widget contains two main components -> an Add button and a CloudFiles hyperlink. These options allow users to access and manage external files within HubSpot records.
This article explains the main components and functionality of the Sidebar Widget, including:
- Add Button – how users can open the Content Library to browse and link external files or folders.
- CloudFiles Hyperlink – how to access the CloudFiles HubSpot App for full file and settings management.
- Associating Files, Folders, and Datarooms – how to link external resources to HubSpot records for ongoing access.
- Resource Tile – an explanation of how linked items appear, including metadata and status details.
- Tile Actions – an overview of available operations that can be performed on linked resources.
## Add Button
Selecting the Add button opens the Content Library dialogue. This dialogue allows you to view files and folders from your connected external storage platform. From this interface, you can upload files, create folders, and move files between folders. Thus, the content library provides full access to your storage without leaving the HubSpot record. You can read more about it in this article.

## CloudFiles Hyperlink
Selecting the CloudFiles hyperlink opens a small dialogue box in the centre of the screen. The dialogue includes an option to Go to CloudFiles, which redirects to the CloudFiles HubSpot App.
In the app, you can access all files and folders stored in your connected storage and manage related settings. For more details on admin operations, refer to the article on admin settings here.

## Associating Files, Folders, and Datarooms
Through the sidebar widget, you can associate files, folders, or datarooms from the content library with a HubSpot record. This enables users to keep relevant documents directly accessible from within the record. Datarooms can also be created from the content library and linked in the same way. For detailed information on Associations , refer to the related article here.

### Resource Tile
Once a file, folder, or dataroom is associated, it appears on the widget as a resource tile. Each tile displays key information about the associated item and provides available actions. The information shown on the tile depends on the type and status of the resource.

### Tile Metadata
The resource tile displays metadata such as the resource name, type, sharing status, number of views, and upload details.
### Name
The name of the resource acts as a hyperlink to the connected resource. If the resource is a file stored in SharePoint, selecting the name opens it in the Microsoft editor. If it is a folder stored in Google Drive, the link opens that folder in Google Drive. For datarooms, the link opens the corresponding item in the CloudFiles web app.
### Status
The status field shows whether the associated resource has an active CloudFiles sharing link. The possible statuses are Not Shared, Live, and Offline. Each status indicates the accessibility of the shared resource.
| Status | Description |
|---|---|
| Not Shared | A sharing link has not been created for the attached resource. A sharing link can be created manually using the Share option or through a workflow action. |
| Live | The attached resource has a CloudFiles sharing link that is currently active and available for external access. Live links can be taken offline from the link settings. |
| Offline | A sharing link exists but has been deactivated. The resource will not be accessible until the link is made live again. |
### Type
The type field indicates whether the associated item is a file, folder, or dataroom. The available options and details may differ depending on this classification.
### Views
The views field appears only when the attachment has a Live or Offline status and shows the number of times the shared link has been viewed.
### Upload Information
The upload information field lists details such as the upload date, time, and uploader name. This information helps identify when and by whom the file or folder was added to the sidebar widget.
### Tile Actions
Each resource tile includes an Actions dropdown that lists the available operations for that attachment. The options in this menu change depending on whether the associated item is a file, folder, or dataroom.

Common operations such as Share, Get Link, Analytics, and Delete are available across all attachment types. These allow you to create or manage CloudFiles sharing links, view engagement analytics, or remove the attachment from the record.
- For file attachments, additional actions such as Replace, Download, and Add to Dataroom are available. These options make it possible to update a file while keeping existing share links active, manually sync externally stored files, download them locally, or include them in a dataroom.

- Folder attachments include operations like Browse and Add to Dataroom, which let you view folder contents and organize them for external sharing.

- For dataroom attachments, the Edit option allows modification of dataroom content, including adding or rearranging files and folders, updating descriptions, and adjusting layout or grouping.

For complete details on each action and its behavior across different attachment types, refer to the File Operations and Folder Operations .
Thus, the CloudFiles sidebar widget enables quick access, management, and association of external files, folders, and datarooms within HubSpot records.
---
# Associations
https://help.cloudfiles.io/hubspot/associations
# Associations
An association in CloudFiles links a file, folder, or dataroom from an external storage platform to a HubSpot record via the Sidebar Widget or App Card.
> Kind: Guide · Updated: Jun 4, 2026
An association in CloudFiles refers to linking a file or folder from an external storage platform to a HubSpot record. When a file or folder is associated, it becomes visible either in the Sidebar Widget or the App Card, depending on which interface is being used.
The associated resource remains connected to the HubSpot record, ensuring that users can view, open, or perform file operations within HubSpot while the original file continues to reside in its external storage platform. This article talks about the following sections:
- Sidebar Widget vs App Card Associations: Explains how associations differ in layout and features between the two interfaces.
- File, Folder, and Dataroom Association: Describes the types of resources that can be linked to HubSpot records.
- Single and Multiple Associations: Outlines how users can associate one or several files or folders based on need.
- Cross-Library Associations: Covers linking content from multiple storage platforms to a single HubSpot record.
## Sidebar Widget vs App Card Association
CloudFiles supports creating associations through two different interfaces, the Sidebar Widget and the App Card. Both connect external files or folders to HubSpot records, but they differ in layout and functionality.

| Aspect | Sidebar Widget | App Card |
|---|---|---|
| Location in HubSpot | Appears on the right-hand sidebar of contact, company, deal, and ticket records. | Appears in the central section of a record under an existing or newly created tab. |
| Display Format | Shows each associated item as a resource tile with metadata and basic actions. | Displays files and folders in a content view similar to a storage interface. |
| Access Method | Uses the Add button to open the Content Library for association. | Uses the Select File/Folder button to open the Content Library for linking. |
| Primary Use | Suitable for quick associations or linking a few individual files or folders. | Suitable for detailed file and folder management, navigation, and viewing multiple items. |
| Navigation | Displays only the selected file, folder, or dataroom. | Allows browsing through subfolders with breadcrumb navigation. |
Both interfaces create the same type of file or folder association. The choice between them depends on where the user prefers to view and manage linked content within the HubSpot record.
## File, Folder, and Dataroom Association
CloudFiles supports three types of associations depending on the type of resource:
- A file association connects an individual document, such as a PDF, spreadsheet, or presentation, to a HubSpot record. The linked file can be opened, previewed, shared, or updated directly within HubSpot.
- A folder association connects an entire directory from an external storage platform. This allows users to access multiple files and subfolders through the App Card or Sidebar Widget, depending on configuration.
- A dataroom association links a preconfigured/configured CloudFiles dataroom to a HubSpot record. Datarooms may contain a collection of files, folders, or request blocks organized for sharing or tracking.
Each type of association provides direct access to its contents within HubSpot and maintains a live connection to the external storage source.
## Single and Multiple Associations
CloudFiles allows both single and multiple associations depending on the record's requirements.
In some cases, users may only need to link a single file or folder to a HubSpot record. For example, attaching a single contract document to a deal. This type of association is simple and best suited for records that reference one key document.
In other cases, users can create multiple associations to link several files, folders, or datarooms to the same record. For instance, a company record might contain multiple proposals, reports, or shared folders from different team members or departments. Multiple associations provide flexibility and make it possible to maintain several linked items under the same HubSpot record.

CloudFiles supports both scenarios, and users can choose the appropriate method based on their data management needs.
## Cross-Library Associations
CloudFiles supports cross-library associations, allowing files and folders from different connected storage platforms to be linked to the same HubSpot record.
Through the Content Library, users can access all integrated storage platforms such as Google Drive, SharePoint, OneDrive, Box, Dropbox, or AWS S3 and select files or folders from any of them. For example, a user can associate one file from Google Drive and another from SharePoint to the same HubSpot record.

This flexibility ensures that records can contain relevant materials from multiple storage systems without requiring manual consolidation. Cross-library associations work in both the Sidebar Widget and the App Card.
Thus, associations in CloudFiles establish a direct link between external files or folders and HubSpot records.
---
# File Operations
https://help.cloudfiles.io/hubspot/file-operations
# File Operations
File operations in CloudFiles record widgets allow users to manage files associated with HubSpot records through the App Card and the Sidebar Widget.
> Kind: Guide · Updated: Jun 4, 2026
File operations in CloudFiles record widgets allow users to manage files associated with HubSpot records through the App Card and the Sidebar Widget. These operations include opening, previewing, sharing, downloading, renaming, deleting, and more. Depending on where the file is linked, the available options and layout may differ.
This article covers:
- File Management Operations in the App Card — where users can perform detailed file-level actions such as rename, replace, share, and view analytics.
- File Management Operations in the Sidebar Widget — where users can use the Attachment Actions Dropdown for link and analytics management.
## File Management Operations in the App Card
The App Card provides a set of file operations that can be performed directly within HubSpot.
### Open in the Respective Storage Platform
This operation opens the selected file in its original storage platform. For instance, a Word file from Google Drive opens in Google Docs, a document from SharePoint opens in Microsoft Office Online, and a file from Dropbox opens in Dropbox’s viewer. The file remains in its original format and storage location, ensuring that any edits made are reflected in the connected storage account.

### Preview
The Preview option allows users to view the contents of a file within HubSpot within the CloudFiles file viewer without downloading it. Supported formats include PDF, DOCX, PPTX, XLSX, and image files. The file opens in a read-only view, allowing users to review content quickly before performing other actions.

### Download
The Download operation saves a local copy of the selected file to the user’s device. The file downloads in its native format, for example, a .docx document downloads as .docx, a .pdf file as .pdf, and an image file, such as .png or .jpg, retains its format. The original file in the external storage remains unchanged.

### Add to Dataroom
This option allows users to add the selected file to an existing CloudFiles dataroom. A dataroom may include multiple files or folders grouped for structured access or sharing. The file stays in its external storage location but is made available within the selected dataroom for further collaboration or tracking.

### Rename
The Rename operation lets users modify the name of a file directly from the App Card. Once renamed, the new name appears both in HubSpot and in the connected storage platform.

### Delete
The Delete option permanently removes the file from the external storage platform. Once deleted, the file is no longer accessible from HubSpot or the original storage account. This operation should be used carefully, as it cannot be reversed.

### Share
The Share operation creates a CloudFiles sharing link for the selected file. This link enables external sharing and can include access controls such as password protection or expiry settings.

### Get Link
The Get Link operation is available when a file already has a live CloudFiles sharing link. It opens the Link Settings dialogue, allowing users to copy the link or modify its configuration such as permissions, expiry, or access restrictions, without creating a new link.

### Analytics
Analytics provides access to file-level engagement data. Users can view how many times the file’s sharing link has been accessed, by whom, and from where. It also gives information about the number of downloads, the number of views, and page-wise analytics as well. This helps monitor file activity and usage trends without leaving HubSpot.

### Replace
The Replace operation lets users upload a new version of the file while keeping the same CloudFiles sharing link and metadata. This is useful when an updated version of a document (for example, a revised proposal or presentation) needs to replace the previous one. The operation preserves the file name and link, ensuring that existing recipients always access the most current version.

### Disconnect
Disconnect removes the file’s link to the HubSpot record while keeping the file safe in its external storage. The disconnection only affects HubSpot visibility, whereas the file itself remains intact and accessible in the connected storage service.

File management in the App Card provides comprehensive control over linked documents, enabling users to perform detailed actions such as renaming, replacing, and analysing file usage directly within HubSpot.
## File Management Operations in the Sidebar Widget
Files associated using the Sidebar Widget can also be managed directly within HubSpot. The available operations are accessed from each file’s resource tile through the Actions Dropdown. The Actions Dropdown contains various file management operations depending on the file’s type and sharing status. It provides file-specific operations, allowing users to perform key management actions without leaving HubSpot.
### Share
This operation generates a CloudFiles sharing link for the file if one has not already been created. The sharing status changes from “Not Shared” to “Live” once the link is active. Shared files can be configured with security and access settings as needed.

### Get Link:
This operation appears when the file status is “Live.” It opens the link settings dialog, allowing users to copy or modify the existing link configuration.

### Analytics:
Displays document analytics such as views and engagement metrics collected through CloudFiles. It also provides detailed insights such as the number of downloads, and page-wise analytics. This allows you to track file engagement and usage trends directly within HubSpot. Analytics can be viewed manually or used in automation workflows for reporting and tracking.

### Download
The Download option allows users to save a local copy of the file to their device. The downloaded file retains its original format. For instance, a .pptx file downloads as .pptx, and an image such as .jpg downloads in the same format. The operation does not alter the version stored in the external platform.

### Replace
Allows users to replace a file (for example, a PDF, image, PowerPoint, or document) while keeping the same CloudFiles link active. The new version replaces the old one, ensuring shared recipients continue to access the most recent version without a new link. The file name remains the same.

### Sync
This operation updates the file in HubSpot to match the version stored in the external storage when manual syncing is enabled. If automatic syncing is active, this operation does not apply.
### Add to Dataroom
This action adds the selected file to a dataroom while keeping it in its original storage location. The file becomes available as part of the dataroom for shared access, while still being individually linked to the HubSpot record.

### Delete
The Delete operation removes the file association from the HubSpot record. It does not delete the actual file from its storage platform. However, any CloudFiles sharing link or analytics data tied to the file will be deleted when this operation is performed.

File operations in the Sidebar Widget offer quick and essential management tools through the Attachment Actions Dropdown, helping users handle file sharing, linking, and analytics without leaving HubSpot.
---
# Folder Operations
https://help.cloudfiles.io/hubspot/folder-operations
# Folder Operations
Folder operations in CloudFiles allow users to manage folders linked to HubSpot records directly through the App Card and the Sidebar Widget.
> Kind: Guide · Updated: Jun 4, 2026
Folder operations in CloudFiles allow users to manage folders linked to HubSpot records directly through the App Card and the Sidebar Widget. These operations make it possible to open, rename, share, or delete linked folders without leaving HubSpot.
This article covers:
- Folder Management Operations in the App Card — where users can rename, delete, or disconnect linked folders.
- Folder Management Operations in the Sidebar Widget — where users can perform folder actions through the Attachment Actions Dropdown, including sharing, browsing, and adding to datarooms.
## Folder Management Operations in the App Card
When folders are linked to HubSpot through the App Card, users can perform several management actions directly within the interface. These operations apply to folders stored in external platforms such as Google Drive, SharePoint, OneDrive, Dropbox, and Box,etc.
### Open in Storage
The Open in Storage option opens the folder directly in its connected storage platform. For example, a folder from Google Drive opens in Google Drive’s interface, while a SharePoint or OneDrive folder opens in the respective Microsoft environment. This provides full access to all files and subfolders contained within the linked directory.

### Rename
The Rename operation allows users to update the folder’s name directly from HubSpot. The new name is reflected both within the App Card and in the external storage system. This helps maintain naming consistency across platforms.

### Delete
The Delete operation permanently removes the folder from the connected storage platform. Once deleted, the folder and its contents cannot be recovered through HubSpot. This action should only be used when the folder and its data are no longer required.

### Disconnect
The Disconnect option removes the folder’s association from the HubSpot record while keeping the folder intact in its original storage platform. After disconnection, the folder will no longer appear in the App Card, but it remains available in the external storage system.

Thus, folder management in the App Card provides essential operations for maintaining and organising linked folders.
## Folder Management Operations in the Sidebar Widget
Folders associated with the Sidebar Widget can also be managed from within HubSpot. These operations are available through the Attachment Actions Dropdown, which provides folder-specific actions depending on the folder’s sharing status.
### Browse
The Browse operation opens a dialogue box displaying the contents of the linked folder. From here, users can upload files, create subfolders, and perform available file and folder actions as supported by the content library. This feature provides direct access to the folder’s structure without navigating away from HubSpot.

### Share
The Share operation appears when the folder has not yet been shared. It creates a CloudFiles sharing link that allows external access to the folder and its contents. Once created, the folder’s status changes to Live, and the link can be configured using the Link Settings dialogue.

### Get Link
The Get Link option is available when a folder already has an active CloudFiles sharing link. It opens the Link Settings dialogue, allowing users to copy the existing link or update its configuration, including permissions and expiry settings.

### Analytics
The Analytics operation displays engagement data for shared folders. It shows metrics such as the number of views and user activity related to the shared link. This information helps monitor external access to the folder.

### Delete
The Delete operation removes the folder’s association from the HubSpot record and deletes the CloudFiles link and related analytics. The folder itself remains in the connected storage platform and is not deleted.

### Add to Dataroom
The Add to Dataroom operation allows users to include the selected folder in an existing dataroom. This enables external sharing of the folder as part of a grouped set of resources while keeping it stored in its original platform.

Thus, folder management in the Sidebar Widget provides access to folder-specific operations through the Attachment Actions Dropdown.
---
# Content Library (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/content-library
# Content Library
Learn how to effectively use the CloudFiles Content Library in HubSpot with this comprehensive document. Discover the library's features, including file and folder operations, associating files with HubSpot records, previewing files, and adding files to a dataroom.
> Kind: Guide · Updated: Jun 4, 2026
The Content Library in HubSpot allows you to access, organize, and manage files directly within your CRM. With the CloudFiles integration, you can connect external storage systems, keep content up to date, control access, and manage files without leaving HubSpot. This article provides an overview of four related help topics that explain each feature in detail.
- Accessing the Library - Explains how to access and use the Content Library from within HubSpot. Covers browsing files, uploading new ones, and linking them to HubSpot records.
- Real-Time Sync - Describes how files stay updated in HubSpot through real-time synchronizstion with external storage. Any changes in the source are reflected automatically.
- Permission Sets - Details how file access is controlled using HubSpot permissions and external storage settings. Explains how permissions update automatically when changes are made.
- File & Folder Management Operations - Covers how to organize, rename, search, and preview files and folders in the Content Library, as well as how to associate them with HubSpot records.
Thus, the Content Library brings file access, synchronisation, permission control, and organisation into one place inside HubSpot.
---
# Accessing the Library
https://help.cloudfiles.io/hubspot/accessing-the-library
# Accessing the Library
The Content Library inside HubSpot allows users to browse and access files and folders from various connected storage platforms without leaving a HubSpot record.
> Kind: Guide · Updated: Jun 4, 2026
The Content Library inside HubSpot allows users to browse and access files and folders from various connected storage platforms without leaving a HubSpot record. These platforms include Google Drive, SharePoint, OneDrive, Dropbox, Box, HubSpot's file manager, and CloudFiles storage.
This article covers the following sections:
- Accessing the Library – how to open the Content Library from the Sidebar Widget, App Card, or CloudFiles Dashboard.
- Connecting Storages – steps to connect storage platforms, supported integrations, and user-based access permissions.
- Entire Storage Access – explanation of drive structures, sites, and permission-based visibility within the connected platforms.
## Accessing the Library
The Content Library can be accessed in three main ways: through the Sidebar Widget, the App Card, or the CloudFiles Dashboard.
### From the Sidebar Widget
When using the CloudFiles Sidebar Widget inside HubSpot, click on the Add button. This opens the Content Library dialog, displaying files and folders from your connected storage platform. From here, you can browse available resources, upload new files, or associate specific files or folders with the HubSpot record.

### From the App Card
Inside the CloudFiles App Card, the Select File/Folder button provides access to the same Content Library. Clicking this button opens the dialogue where you can navigate through your connected storage, view existing files, and link them to the HubSpot record. The interface also allows you to upload content or move items between folders directly.

### From the CloudFiles Dashboard
The Content Library can also be accessed via the CloudFiles Dashboard. You can open the dashboard in two ways:
- By clicking the CloudFiles hyperlink available in the Sidebar Widget.

- By logging in directly at https://hubspot.cloudfiles.io/.
Once logged in, navigate to the Document Management tab to access the full Content Library. This view provides access to all connected storage platforms enabled under your integration settings. Users can view, upload, rename, and move files or folders directly from the dashboard.
## Connecting Storages
Before accessing files in the Content Library, users must connect their desired storage platforms through the Integration Settings section in the CloudFiles Dashboard.
To connect a storage platform:
- Go to the CloudFiles Dashboard and open the Document Management tab.
- Navigate to Integration Settings.
- Connect the required storage platform by signing in with valid credentials.

### Mirror Storage
Mirror Storage provides a two-way sync between your external cloud storage and CloudFiles. Once connected, CloudFiles displays live copies of your external files, so updates made in either system appear in both. It currently supports HubSpot File Storage, SharePoint, OneDrive, Google Drive, Dropbox, and Box.
You can also connect AWS S3 or Azure Blob Storage for the same mirrored experience, and Cloudflare R2 is supported for very large file storage. Once a platform is connected, all the files and folders from that storage become accessible in HubSpot through the Content Library, either in the App Card or Sidebar Widget.
### User-Based Permissions
When accessing the Content Library in HubSpot, you will see the user credentials displayed at the top-right corner of the dialogue. This indicates which user account is currently being used to access the storage. The visibility of folders and files depends on the permissions granted to that specific user account. This user-based permission ensures that CloudFiles displays only the files and folders that the authenticated user has access to in the external storage system.

## Entire Storage Access
The Content Library provides access to the entire directory structure of connected storage platforms, while still enforcing permission-based visibility.
- For Google Drive, users can access My Drive and Shared Drives based on their access rights.

- For SharePoint, users can view files and folders under Sites and Followed Sites, depending on permissions within the Microsoft 365 environment.

- For OneDrive, users can view their personal drive and any shared folders they have access to.

- For other platforms such as Dropbox, Box, and AWS S3, users can browse through all available directories and folders accessible under their authenticated account.
Only resources that the user has permission to view or modify in the external storage platform will appear in the Content Library. Any restricted or inaccessible directories will not be displayed, ensuring that permissions from the connected platform are fully respected.
To learn more about supported integrations and how permission sets work, refer to the Storage Integrations and Permission Sets article.
---
# File & Folder Management Operations
https://help.cloudfiles.io/hubspot/file-and-folder-management-operations
# File & Folder Management Operations
A walkthrough of all file and folder management actions available on content stored in your connected storage platform, accessible either through the HubSpot Content Library or by logging into the CloudFiles for HubSpot app, plus how to share a web page as a trackable link.
> Kind: Guide · Updated: Sep 9, 2026
In this article, we’ll walk through all the file and folder management actions you can perform on content stored in your connected storage platform using the Content Library. You can access and manage your files and folders either directly inside HubSpot through the Content Library or by logging into the CloudFiles for HubSpot app with your credentials.
If you have not connected a storage platform yet, start with Accessing the Library. For how changes in your storage appear inside CloudFiles, see Real-Time Sync.
This guide is divided into three main sections:
- Accessing the Content Library From HubSpot: all file and folder actions you can perform inside HubSpot using the Content Library, including opening them in storage platforms directly, downloading, renaming, uploading, associating with HubSpot records, or adding items to Datarooms.
- Accessing the Content Library From the CloudFiles for HubSpot App: all file and folder management features available in the CloudFiles for HubSpot app, such as previewing files, opening in storage, downloading, renaming, moving, deleting, sharing, adding to Datarooms, and replacing files (SharePoint only).
- Sharing a web page as a link: turning a web page into a trackable CloudFiles link.
## 1. Accessing The Content Library From HubSpot
When working inside HubSpot, you can access the Content Library through the "Select File/Folder" button in the App Card or through the "Add" button in the CloudFiles sidebar widget.
From either entry point, you can perform several actions on files and folders using the three-dot menu beside each item. The available actions include:
- Open in Cloud Storage: Opens the file or folder in its native editor, such as:
- Google Docs → opens in Google Docs Editor
- Microsoft Word (from SharePoint) → opens in Microsoft Online Editor
- CloudFiles documents → opens in CloudFiles document viewer
- Download: Saves the file or folder to your device. A PPTX file downloads as a PPTX file, a PDF downloads as a PDF, a DOCX downloads as a DOCX, and the same applies to Excel files.
- Rename: Edit the name of the file or folder if supported by the connected storage.
- Add to Dataroom: Adds the file or folder to a secure CloudFiles Dataroom for sharing and analytics.

- Associate with HubSpot Record: Links the file to the current record by clicking "Add to (HubSpot Object)". It then appears in the CloudFiles app card on the record page, where it can be tracked and shared. For folders, you can browse their contents directly inside HubSpot and perform file operations.

- Uploading Files: Upload files directly into your connected storage from within HubSpot. Open the desired folder, click the New button in the top-right corner, and choose Upload File, or drag and drop a file into the dialog box. Select a file from your computer and it is added to the chosen location.

## 2. Accessing The Content Library From The CloudFiles for HubSpot App
You can also access the Content Library by logging in with your HubSpot account at: https://hubspot.cloudfiles.io/
Once logged in, regardless of whether you are in Document Management or Document Sharing, selecting a library displays its full folder structure and files. Available operations depend on the storage platform selected.

- Open in Storage Platform: Opens the selected file or folder directly in the respective platform:
- Google Drive files open in the relevant Google app (for example Google Docs, Sheets or Slides).
- SharePoint files open in the corresponding Microsoft 365 application (for example Word, Excel or PowerPoint online).
- Preview (Files Only): Clicking a file thumbnail shows an in-app preview when supported, so you can view file contents without leaving the CloudFiles interface. The preview shows the file exactly as an external recipient would see it through a CloudFiles link. If you have just replaced a file, the preview can take a short while to process. Refresh the preview screen if you see a processing message.
- Download: Downloads the selected file or folder to your local system. Folders are typically compressed into a ZIP file during download. A PPTX file downloads as a PPTX file, a PDF downloads as a PDF, a DOCX downloads as a DOCX, and the same applies to Excel files.
- Add to Dataroom: Adds the selected file or folder to a CloudFiles Dataroom. This helps organize resources for secure sharing and tracking.
- Share / Create Sharing Link: Generates a CloudFiles shareable link. You may set permissions and preferences depending on your Dataroom or sharing configuration.
- Rename: Renames the selected file or folder within the storage platform. The updated name reflects across both CloudFiles and the storage provider.
- Move: Moves the selected item to another folder within the same storage library. This does not change existing shareable links unless the storage platform enforces path-based restrictions.
- Delete: Deletes the selected file or folder from the storage platform. Deleted items follow the native recycle or trash behavior of Google Drive or SharePoint. Deleting a file also breaks any CloudFiles links you have already shared for it: anyone opening an old link sees a file not found error, so check for active links before you delete.
- Replace (SharePoint Files Only): For SharePoint files, this option lets you upload a newer version of a file while keeping its existing metadata, links and associations intact. This is useful when updating documents that have already been shared. Replacing updates the content on every link already shared for that file, so recipients holding an old link see the new version without you resending anything. Replacing does not change the file name; use Rename for that.

## 3. Sharing a web page as a link
You can turn a web page into a trackable CloudFiles link, so blog posts and articles sit in the same analytics as your documents. Choose Upload File, open the URL tab, paste the address, give it a name and upload. Each link tracks its own clicks and visits.

---
# Real-Time Sync
https://help.cloudfiles.io/hubspot/real-time-sync
# Real-Time Sync
CloudFiles' Mirror Storage feature enables real-time sync so users can browse and interact with files from external cloud storage services inside HubSpot while always seeing the latest version.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
CloudFiles provides a real-time sync feature through what is called the Mirror Storage. This feature allows users to browse and interact with files from external cloud storage services inside HubSpot while always showing the latest version of those files.
Real-time sync ensures that any change made in the source storage is immediately reflected in the CloudFiles content library without needing to re-upload or manually update anything.
## What Is Mirror Storage?
Mirror Storage allows users to mirror the structure and contents of an external cloud storage account (like Google Drive or SharePoint) into the CloudFiles content library. Instead of importing static copies, this method keeps the files live and updated by referencing the originals directly.
When a file is mirrored:
- A direct reference to the original file is shown inside the content library.
- The file name, content, metadata, and folder structure all reflect the current state of the original cloud file.
- Any changes made in the external drive (e.g. rename, delete, update) are automatically synced into CloudFiles content library and visible inside cHubSpot.
## Sync Modes
Mirrored files can work in two modes:
- Synchronous (Real-Time) Sync: Every change in the external file is reflected in real time inside CloudFiles.
- Manual Sync: Updates must be fetched manually if you choose not to use automatic syncing. This gives you more control over performance or version management.
Both sync modes are supported across:
- HubSpot
- CloudFiles Webapp
## Supported Cloud Storage Platforms
CloudFiles Mirror Storage supports the following platforms:
- Google Drive
- Microsoft SharePoint
- OneDrive
- Dropbox
- Box
- AWS S3 (including CloudFiles' own managed S3 storage)
- Azure Blob Storage
- Cloudflare R2 (for large-scale storage requirements)

Users can mirror entire folders or libraries from these platforms directly into CloudFiles.
## How to Set Up a Mirrored Library?
The setup process is the same for all supported cloud platforms. Below is an example using Google Drive:
- Sign in to your CloudFiles account.
- Go to the Libraries tab.
- Click the gear icon (⚙️) and make sure Google Drive is visible in your storage options.
- Select Google Drive and click Connect.
- Complete the authorization and grant required permissions.

After connecting, CloudFiles will mirror your Google Drive contents inside the library interface.
You can now:
- Browse folders and files just like you would in Google Drive.
- See updates immediately when files are changed externally.
- Perform actions like previewing, linking to HubSpot records, or adding to a dataroom.
> The same process applies for connecting SharePoint, OneDrive, Dropbox, and Box.
## Benefits of Real‑Time Sync with Mirror Storage
- Always updated: Files are synced live, avoiding outdated links or attachments.
- No duplication: Files are not imported or copied but only linked and reflected.
- Secure access: CloudFiles respects the file permissions from your external storage.
- Consistent interface: Browse mirrored content across HubSpot using the same interface and logic.
- Supports automations: Synced files can be used in workflows and analytics, and even shared externally using secure CloudFiles links.
## Summary
Real-time sync using Mirror Storage makes CloudFiles a powerful bridge between HubSpot and your cloud storage platforms. Instead of copying files, it mirrors them in their current state, keeping all content up to date across systems. Whether you’re linking files to CRM records, sharing them through datarooms, or simply browsing, real-time sync ensures that you always work with the most accurate version of your documents.
---
# Permission Sets
https://help.cloudfiles.io/hubspot/permission-sets
# Permission Sets
Permission control in HubSpot with CloudFiles allows you to manage who can view and access files linked from your external storage.
> Kind: Guide · Updated: Jun 4, 2026
Permission control in HubSpot with CloudFiles allows you to manage who can view and access files linked from your external storage. It uses HubSpot's user permissions together with settings from your connected cloud library to control access. This article explains how permissions work, how they update in real time, how they can be automated, and how CloudFiles licenses affect file visibility.
HubSpot's permission framework, enhanced by CloudFiles integration, offers robust control over file access:
- User-based permissions ensure only appropriate users can view cloud-linked files.
- Real-time updates keep permissions in sync across systems.
- Automated permissions help manage and update access settings automatically.
- License management determines who can use the CloudFiles features at all.
Let's explore each permission in detail.
## 1. User-Based Permission
When a user accesses files via the CloudFiles Content library in HubSpot, the access is enforced based on that user's HubSpot login and role. This is your first level of permission control: users only see files or widgets they are permitted to, per their HubSpot user permissions and any assigned CloudFiles license.

HubSpot's permission system, based on roles and permission sets, dictates what CRM objects, tools, content, and file assets a user can view, edit, or manage. Meanwhile, CloudFiles licenses decide whether a user can see the CloudFiles App Card, so access to the file interface depends on having a license.
## 2. Real-Time Permission Handling
Changes in permissions within your external cloud library (e.g., Google Drive, SharePoint, OneDrive, etc) are reflected immediately via CloudFiles. The integration provides 2-way live sync. Edits or access changes made externally appear in HubSpot without delay.
## 3. Automated Permission Handling
CloudFiles supports automated permission updates via HubSpot workflows through the "Update Resource Permission" action. This action can be added to a workflow and triggered by specific conditions, such as a change in deal stage, to manage file or folder access without manual intervention.
When configuring the action, you can:
- Select the external library (Google Drive, SharePoint, Box, or Dropbox).
- Specify the path to the resource (folder path or file name).
- Choose the action: grant to give access or revoke to remove access.
- If granting access, define the permission type (read or write).
- Enter one or more email addresses, use contact emails from the HubSpot record, or allow access to everyone.

For example, when a deal moves to "Contract Signed," a workflow can revoke access from previous collaborators and grant read access to the new deal owner automatically. The action also returns a status indicating whether the permission update succeeded or failed, allowing you to verify the process.
For more details, see the article on Update Resource Permissions Action.
## 4. CloudFiles License Assignment
Only users with an assigned CloudFiles license can access the CloudFiles App Card in HubSpot and view or manage associated files. Licenses can be assigned automatically when a user first interacts with the widget (if seats are available) or manually by an admin through the CloudFiles web app. Admins can also invite new users, assign roles (User or Admin), and change roles as needed.

If a user without a license tries to use the widget, they will see an error stating that a license is required. This can be resolved by an admin assigning a license in the CloudFiles web app.
For detailed steps on assigning licenses, inviting users, and managing roles, see: Managing Licenses and Roles in CloudFiles and Inviting Users and Managing Licenses in the CloudFiles App .
---
# Connecting External Storage Accounts (Features)
https://help.cloudfiles.io/hubspot/i_cA-connecting-external-storage-accounts
# Connecting External Storage Accounts
Explains how to connect external storage platforms (Google Drive, SharePoint, OneDrive, Dropbox, Microsoft Teams) to CloudFiles for centralized access via the Content Library.
> Kind: Guide · Updated: Jun 4, 2026
CloudFiles allows you to connect external storage platforms such as Google Drive, SharePoint, OneDrive, Dropbox, and Microsoft Teams. Once connected, these storage accounts can be accessed directly from the CloudFiles Content Library, enabling centralized document access and consistent file management across systems.
This article explains how to connect external storage accounts, how drives and sites appear in the Content Library, and how file and folder conflicts are handled in the CloudFiles app.
## Where to Connect External Storage Accounts?
External storage accounts are connected and managed from the Integrations section in the CloudFiles app for HubSpot.
Navigate to: Document Management → Integrations from the left hand side bar.

To know more about integration users and how to connect them, refer to What is an Integration/System user?
This page lists all supported storage providers, including Google Drive, SharePoint, OneDrive, Dropbox, and Microsoft Teams.
From here, you can:
- Select a storage provider to configure.
- Connect or disconnect the Integration User for that provider.
- Configure file and folder conflict behaviors specific to that integration.

Each storage provider is configured independently, allowing different connection settings and conflict behaviors per platform.
### Accessing External Storage from the Content Library
After an integration user is connected, users can browse external storage directly from the Content Library inside HubSpot
### Google Drive
When browsing Google Drive, users can switch between the following locations:
- My Drive: Files and folders owned by the connected user.
- Shared drives: Team drives accessible to the user.
- Shared with me: Files shared by other users.
- Starred: Files and folders marked as starred.

### SharePoint
When browsing SharePoint, users can switch between:
- All sites: All SharePoint sites the user has access to.
- Followed sites: SharePoint sites the user follows.

Only SharePoint sites that are registered in CloudFiles are visible to users.
## File and Folder Conflict Behaviors
Conflict behaviors control how CloudFiles handles situations where a file or folder with the same name already exists in the connected storage.
These settings are configured per integration using the following navigation path:
- Click Integrations from the left hand side bar.
- Select the required integration.
- Open Conflict Behaviors.
### Folder Conflict Behaviors
The Folder conflict behavior defines how CloudFiles responds when a folder with the same name already exists in the connected storage.
These settings apply across all supported storage integrations.
No Op: Keeps the existing folder and ignores the new folder creation request.
Rename: Creates the folder with a modified name by adding a numeric suffix. Example: Folder (1)
Fail: Stops the operation and returns an error.

### File Conflict Behaviors
The File conflict behavior defines how CloudFiles responds when a file with the same name already exists in the connected storage. These options are available for OneDrive, SharePoint, Dropbox, and Microsoft Teams.
Rename: Creates the file with a modified name by adding a numeric suffix. Example: file (1).docx
Replace: Overwrites the existing file with the new file.
No Op: Keeps the existing file and ignores the new file creation request.
Fail: Stops the operation and returns an error.

### Registering SharePoint Sites
For SharePoint integrations, sites must be registered before they are visible to users in the Content Library.
To register a SharePoint site:
- Go to Document Management → Integrations → SharePoint
- Scroll to the Register Sites section.
- Enter the SharePoint site URL.
- Click Register.

You can register multiple SharePoint sites for the same organization.
Thus, connecting external storage accounts in CloudFiles enables centralized access to files stored across multiple platforms. By configuring Integration Users, selecting the correct drives or sites, and defining file and folder conflict behaviors, organizations can maintain a controlled document management within CloudFiles.
---
# Automations (HubSpot: Document Management)
https://help.cloudfiles.io/hubspot/DiuD-automations
# Automations
CloudFiles workflow actions provide a structured way to handle document management tasks directly within HubSpot workflows.
> Kind: Guide · Updated: Jun 4, 2026
CloudFiles workflow actions provide a structured way to handle document management tasks directly within HubSpot workflows. Instead of manually creating folders, linking them directly to the records, these actions ensure documents are organised and kept in sync with CRM activity.
Each action is explained in detail with its purpose, configuration, outputs, and practical examples so users can understand how to apply them in real business processes.
## Create Folder Action
This action is used to create a new folder within the selected storage system (e.g., Google Drive, SharePoint, Dropbox, OneDrive, Box) directly from HubSpot.

### Configuration:
- Specify the library or storage type.
- Provide the destination path or parent folder ID.
- Enter the folder name.

### Output:
The action returns a status message, either success or failure, depending on whether it executed correctly.
### Example:
A sales team wants to keep all client-related documents organised by deal. Whenever a new deal is created in HubSpot, a folder should be created automatically in Google Drive. The folder is named after the deal title (e.g., “Acme Corp – Enterprise Plan”). This action ensures that every deal record in HubSpot has a corresponding folder in storage without requiring the sales team to create it manually.
To learn more about this action, read the full article on Create Folder Action .
## Create Attachment
This action is used to link an existing file or folder from connected storage to a HubSpot record. This action mirrors the manual process of adding documents through the CloudFiles App card.

### Configuration:
- Specify the library or storage type.
- Provide the destination path to the file/folder.

### Output:
The action returns a status message, either success or failure, depending on whether it executed correctly. It also returns the ID of the newly created attachment. This can be used as the attachment ID in other actions, such as share attachment.
### Example:
A customer success team wants every new customer contact to automatically have a “Welcome Kit” PDF attached. This PDF is stored in a central onboarding folder in OneDrive. When a new contact is added, the workflow uses the Create Attachment action to link the “Welcome Kit.pdf” file to the contact record. The success manager can immediately see the file in HubSpot without searching for it in storage.
To learn more about this action, read the full article on Create Attachment Action
## Delete Attachment
This action is used to remove a previously attached file or folder from a HubSpot record without deleting the original resource from storage.

### Configuration:
Identify the specific attachment ID that you want to delete.

### Output:
The action returns a status message, either success or failure, depending on whether it executed correctly.
### Example:
A contracts team attaches proposal files to deal records for review. Once a deal reaches the “Contract Signed” stage, they no longer want the outdated draft proposals visible in HubSpot. The workflow automatically uses the Delete Attachment action to remove all draft proposals from the deal record. The drafts remain stored in the “Archive” folder in Dropbox, but HubSpot shows only the finalised contract.
To learn more about this action, read the full article on Delete Attachment.
## Copy Resource
This action is used to create a copy of an existing file and place it in a specified destination within the selected storage system (e.g., Google Drive, SharePoint, Dropbox, OneDrive, Box) directly from HubSpot. The copied file can also be renamed during the process.

### Configuration:
- Specify the library or storage type where the source file exists.
- Provide the full path to the source file, including the file name and extension.
- Provide the destination path, including the file name (this allows you to rename the file while copying).
- If applicable, specify the Drive ID or Shared Drive for the source or destination storage.

### Output:
The action returns a status message, either success or failure, depending on whether it executed correctly.
### Example:
A sales team uses a standard proposal template stored in Google Drive. When a deal reaches the “Proposal Sent” stage in HubSpot, a copy of the template is automatically created in a deal-specific folder and renamed using the deal name (e.g., “Globex Ltd – Sales Proposal.pdf”). This ensures each deal has its own editable copy of the proposal without overwriting the original template.
To learn more about this action, read the full article on Copy Resource Action .
## Delete Resource
This action is used to permanently delete the file or folder from the connected cloud storage.

### Configuration:
- Specify the library or storage type.
- Provide the destination path to the resource.

### Output:
The action returns a status message, either success or failure, depending on whether it executed correctly.
### Example:
A project team stores working notes and temporary data files in a “Work In Progress” folder. When the project reaches completion and all files are finalised, the workflow runs a Delete Resource action to remove temporary files from storage. This keeps the cloud library clean and ensures only final deliverables remain accessible.
To learn more about this action, read the full article on Delete Resource Action .
## Move Resource
This action is used to move an existing file or folder from one location in the storage system to another.

### Configuration:
- Specify the library or storage type.
- Provide the path to the resource and the path to the destination.

### Output:
The action returns a status message, either success or failure, depending on whether it executed correctly.
### Example:
A marketing team drafts campaign assets in a shared “Drafts” folder. Once the campaign’s deal in HubSpot is moved to the “Approved” stage, the workflow runs the Move Resource action. The assets are automatically relocated from /Marketing/Drafts to /Marketing/Approved Campaigns. This prevents confusion over which files are finalized and ready for use.
To learn more about this action, read the full article on Move Resource Action .
## Update Resource
This action is used to update metadata, such as renaming files and folders or adding descriptions.

### Configuration:
- Specify the library or storage type.
- Specify the path to the resource and property to update.

### Output:
The action returns a status message, either success or failure, depending on whether it executed correctly.
### Example:
A sales team uploads multiple versions of a proposal file during negotiations. When a deal is marked as “Closed Won,” the workflow automatically runs Update Resource on the final file, renaming it from “Proposal_v3.pdf” to “Proposal_Final.pdf.” This ensures the storage system always reflects the current status of the deal, and anyone accessing the file knows it is the finalised version.
To learn more about this action, read the full article on Update Resource Action .
Therefore, using these flow actions, teams eliminate repetitive manual steps and ensure that records always reflect the latest files, and maintain a clean, well-structured storage system.
---
# Automated Folder Hierarchies
https://help.cloudfiles.io/hubspot/automated-folder-hierarchies
# Automated Folder Hierarchies
Guide to creating automated parent and sub-folder hierarchies in external storage directly from a HubSpot record using CloudFiles flow actions.
> Kind: Tutorial · Updated: Jun 4, 2026
## What to Expect
By the end of this tutorial, you can expect to -
- Have an Automated Parent Folder for a HubSpot record (like Company) when it is created
- Have desired numbers and hierarchy of sub-folders within the Parent folder automatically
- You will be able to attach these folders and sub-folders to your record
- You will also be able to access these folders within your HubSpot record within CloudFiles connected folder widget.
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 10 minutes.

## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration .

### Connect your storage
Log in to your external storage of choice, such as Google Drive, SharePoint, etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Connecting External Storage Accounts article for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we will proceed to create company-based workflow which will be triggered when a new company is registered. Here’s how our final workflow looks like. We will detail these elements in the sections below.

## 2 - Create Company-based Workflow
Create a new company-based workflow from scratch and select the trigger to fire when a new company is created as shown in the GIF below.

## 3 - Create Parent Folder using ‘Create Folder’ Action
Create Folder action can be used to create folders in any location on any cloud storage platform from HubSpot flow action. We will use this action to first create the Parent folder in which sub-folders will be created automatically.
To use the “Create Folder” action, simply click on add button and search for ‘Create Folder’ as shown below. Once you add this action, it will ask you to fill in certain parameters.

This action requires a few parameters. The Library parameter is the desired Cloud storage where you wish to create the folder. Select the desired storage from the drop down field. The Folder name is the name you wish to give your created Folder. We have simply used the Company’s name but you can also create a complex text formula variable as well.
The GIF below shows how to populate the Library & Folder name parameter.

We also need to enter values for Shared Drive ID & Path to Destination. These are -
- Shared Drive ID - This is important for google drive & sharepoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
- Path to Destination - This specifies the destination folder in which this new folder will be created.
These parameters can be easily copied from CloudFiles app library. Follow these steps -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to your CloudFiles storage.
- Under the libraries tab, navigate to folder where you would like to store your files or simply create new folder.
- Copy the parameter from the meta data on the right side of the screen.
Check the GIF below for a quick walkthrough of these steps.

For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. Here’s how our final Create Folder action looks like -

## 4- Create Sub-Folders using ‘Create Folder‘ Action
To create sub-folders, we can simply use the same ‘Create Folder’ action that we used above with a couple of simple tweaks.
- Change the ‘Folder Name’ to reflect the sub-folder you want to create. We are creating ‘Proposals’ and ‘Contracts’ sub-folder inside our Company folder.
- Change the ‘Path to Destination’ to exact and full path to Parent folder name that we created in the previous action. This way, this new folder will get created inside the account’s folder we created previously.
Here’s how your second Create Folder action should look like.

You can choose to have as many sub folders as you want. Simply duplicate the Create Folder action. You can also create sub-sub-folders and even deeper hierarchies using this method.
## 4 - Show Parent Folder on Company Record using ‘Create Attachment’ Action
The Create Attachment action is used to associate created folder to HubSpot records. Attaching (or associating) our newly created company folder is important since this will enable us to see and operate on the folder contents right from the HubSpot record.
To use this action, simply click on add button and search for ‘Create Attachment’ as shown below. Once you add this action, it will ask you to fill in certain parameters. “Shared Drive ID” and “Library” parameters will be same as above.
The “Path to folder” will be the exact and full path of the newly created parent folder. You can simply copy from the meta data info in the CloudFiles Library using the same steps as specified in the shared drive ID section above.
Here’s how our final Create Attachment action looks like -

## 5 - Test the Automated Folders in Action
Now that everything is set up, let's test our flow. Simply create a new Company in HubSpot. The workflow may take a few seconds to execute, so refresh the page if required. Navigate to the CloudFiles Connected Folder widget tab in the middle, you will be able to see the company folder and it's sub-folders. This is shown in the GIF below -

---
# Automated Internal Notifications
https://help.cloudfiles.io/hubspot/automated-internal-notifications
# Automated Internal Notifications
Learn how to notify your team by generating links for files uploaded to HubSpot using the HubSpot-CloudFiles integration.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, you'll learn how to notify your team by generating links for files uploaded to HubSpot using the HubSpot-CloudFiles integration. We'll guide you through each step to ensure your files are uploaded and shared with your team, making it easier to manage and track the distribution of important assets within your team.
## What to Expect
By the end of this tutorial, you will:
- Know how to generate secure links for files uploaded to HubSpot.
- Have a clear process for notifying team members when files are shared.
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 5 minutes.

## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Connecting External Storage Accounts article for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we will proceed to create deal -based workflow which will be triggered when a file is attached to the CloudFiles Connected Folder widget of the particular Deal record. Here’s how our final workflow looks like. We will detail these elements in the sections below.

## 2 - Create Deal-based Workflow
Create a new deal-based workflow and set the trigger to activate when the number of resources attached to the CloudFiles Connected Folder widget is greater than or equal to one. We've utilized the CloudFiles properties, 'Number of resources attached,' so that the workflow is triggered whenever a file is attached to a specific deal record.

## 3 - Fetch the attachment details of the file with the 'Get Attachment Details' Action
The Get Attachment Details Action retrieves information about attachments, which can then be used for process automation. An attachment links a file, folder, or dataroom to a HubSpot record, and this link appears on the CloudFiles Connected Folder widget in the middle of the HubSpot record.
To use the “Get Attachment Details” action, click the add button and search for ‘Get Attachment Details.’ After adding the action, you will need to fill in only one parameter:
- Attachments to Fetch - This is a selector to specify if only the latest attachment's details needs to be fetched or if details of all attachments need to be fetched.
For a detailed description of the Get Attachment Details action, refer to the Get Attachment Details Action detailed guide. Here’s how our final Get Attachment Details action looks like -

## 4 - Create a shareable link for the file using the ‘Share Attachment’ action
The Share Attachment action allows you to share attachments through HubSpot workflows. This process is similar to manually creating a sharing link for a file, folder, or dataroom from a HubSpot record.
To use this action, click the add button and search for ‘Share Attachment.’ This action requires only one parameter:
- Attachment to be shared, which can be obtained from the return value of the previous Get Attachment Details action, labelled ‘New Attachment ID.’
Here’s how our final Share Attachment action looks like -

## 5 - Set the sharing link to deal property using the ‘Edit Record’ Action
In this step, we will set the link created in the previous step into a deal property. First, create a single-line text property in the HubSpot Deal Settings; we’ll call it ‘Shareable link.’
We will use the Edit Record action to transfer the shared link to this property. For the 'Property to set' parameter, choose the property you created and then set the custom property to the URL output derived from the Share Attachment.
The GIF below illustrates how to configure the Edit Record action.

## 6 - Email the Deal Owner the link via HubSpot's 'Send internal email notification' Action
Send an internal email to specific users, teams, or owners. This email notification offers rich text formatting options similar to other HubSpot editors. You can customize the text, add images, and use workflow-specific tokens.
I selected the Deal owner under the "Send to Existing Owners" parameter and included the "Shareable Link" property we created earlier in the body, along with the message.
Here's an example of how the completed Send Internal email notification action should look:

## 7 - Test the Workflow
To test the workflow, create a new deal or open an existing deal record. In the CloudFiles Connected Folder widget in the middle, attach a specific file, then wait a minute for the workflow to execute. Refresh the page, and if you set yourself as the deal owner, you will receive the link to the attached file in your email.
The GIF below provides a visual guide for these steps.

---
# Auto Create Contacts from File Views
https://help.cloudfiles.io/hubspot/auto-create-contacts-from-file-views
# Auto Create Contacts from File Views
Learn how to auto-capture and update HubSpot contacts using CloudFiles' Soft-Gated and No-Gate Capture methods when files are viewed.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, we’ll explore how to capture contacts in HubSpot when files are viewed using CloudFiles’ Soft-Gated and No-Gate Capture methods through the CloudFiles - HubSpot Integration, allowing for efficient contact tracking in both social media and direct outreach scenarios.
## What to expect:
By the end of this tutorial, you will be able to:
- Set up soft-gated capture methods for document sharing.
- Create personalized links for targeted document access.
- Automatically capture and update contacts in HubSpot when files are viewed.
## Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration
### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.
## Capture Contacts with Soft-Gating
- Create a test HubSpot record.
- Navigate to the record and locate the CloudFiles widget in the sidebar.
- Add a file in any supported format (e.g., DOCX, XLS) from cloud storage and create a sharing link.
- In the Link Security settings, enable "Require Email." This ensures that viewers will be required to enter their email addresses before accessing the document. (For more details, refer to the Link Security Settings article.)
- Share the link via email, on your website's CTAs, or directly with specific clients.
- When clients access the link, they will be prompted to enter their email address.
- CloudFiles will check the entered email against your HubSpot contact list. If no contact matches, a new one will be created.
The GIF below demonstrates the steps involved along with the expected output.

## Capture Contacts with No-Gating
- Create a test record (it can be a contact, deal, or company).
- Navigate to the record and locate the CloudFiles widget in the sidebar.
- Upload a file in any supported format (e.g., DOCX, XLS) from cloud storage.
- Click on “Actions” and click on "Get Link" from the dialog.
- Append the contact's email to the link in the following format: ?email={{contact.email}}
- Share the personalized link via email or your preferred method.
- When clients access the link, they will be shown the file directly. CloudFiles will log the specific email ID from the URL.
- CloudFiles will check the entered email against your HubSpot contact list. If no contact matches, a new one will be created.
The GIF below demonstrates the steps involved along with the expected output.

With these steps, you can now capture contacts in HubSpot using both soft-gating and no-gating options in CloudFiles. Soft-gating works well for broad sharing, while no-gating is suited for direct, personalized links. This setup allows for easier contact tracking and more organized document engagement within HubSpot.
---
# Collecting sensitive documents
https://help.cloudfiles.io/hubspot/collecting-sensitive-documents
# Collecting sensitive documents
Learn to build a compliant document collection workflow in HubSpot using CloudFiles: set up a secure dataroom, request sensitive documents, and auto-organize them into folders in your external storage.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, we will explore how you can create a document collection portal for sensitive documents in a compliant way using HubSpot-CloudFiles integration. Learn to create workflows that set up a secure dataroom, collect documents systematically, and organize them into folders stored in your preferred external storage.
## What To Expect
By the end of this tutorial, you can expect to -
- Have an external Dataroom for sensitive documents collection within HubSpot.
- Have a sharing link for customers to access and share the dataroom.
- Have automated folder creation in external storage of your choice to store these sensitive documents.
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 10 minutes.

## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we will proceed to create deal based workflow which will be triggered when the deal reaches a certain stage. Here's how our final workflow looks like. We will detail these elements in the sections below.

## 2 - Create Deal Workflow
Create a new deal based workflow from scratch and select the trigger to fire when the deal reaches a certain stage as shown in the GIF below. You can chose any stage as the deal stage. We have selected 'Documents Collect' as the deal stage to trigger the workflow. This is a custom stage that we created.

## 3 - Create automated Internal Folder for storing sensitive documents using 'Create Folder' Action
Create Folder action can be used to create folders in any location on any cloud storage platform from HubSpot flow action. We will use this action to first create the folder that will store the sensitive documents collected from the datatoom.
To use the "Create Folder" action, simply click on add button and search for 'Create Folder' as shown below. Once you add this action, it will ask you to fill in certain parameters.

This action requires a few parameters. The Library parameter is the desired Cloud storage where you wish to create the folder. Select the desired storage from the drop down field. The Folder name is the name you wish to give your created Folder. We simply use the Deal's name but you can also create a complex text formula variable as well.
The GIF below shows how to populate the Library & Folder name parameter.

We also need to enter values for Shared Drive ID & Path to Destination. These are -
- Shared Drive ID - This is important for google drive & sharepoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
- Path to Destination - This specifies the destination folder in which this new folder will be created.
These parameters can be easily copied from CloudFiles app library. Follow these steps -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to your CloudFiles storage.
- Under the libraries tab, navigate to folder where you would like to store your files or simply create new folder.
- Copy the parameter from the meta data on the right side of the screen.
Check the GIF below for a quick walkthrough of these steps.

For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. Here's how our final Create Folder action looks like -

## 4 - Show Folder on Record using 'Create Attachment' Action
The Create Attachment action is used to associate created folder to HubSpot records. Attaching (or associating) our newly created folder is important since this will enable us to see and operate on the folder contents right from the HubSpot record.
To use this action, simply click on add button and search for 'Create Attachment' as shown below. Once you add this action, it will ask you to fill in certain parameters. "Shared Drive ID" and "Library" parameters will be same as above.
The "Path to folder" will be the exact and full path of the newly created folder. You can simply copy from the meta data info in the CloudFiles Library using the same steps as specified in the shared drive ID section above.
Here's how our final Create Attachment action looks like -

## 5 - Create Dataroom using 'Create Dataroom' action
A Dataroom is a file portal, where you can request files from your customers. We will use "Create Dataroom" action to create a file request portal where customers can upload their sensitive documents.
To use this action, simply click on add button and search for 'Create Dataroom' as shown below. Once you add this action, it will ask you to fill in certain parameters. "Name" is the name of dataroom that appears on the dataroom, "Description" is an optional field that can be used to give additional description for conveying more information.
To read more about this action, visit "Create Dataroom Action". Refer to the GIF below to get a visual understanding of above steps.

This is how your final Create Dataroom action looks like -

## 6 - Show Dataroom on Record using 'Create Attachment' Action
The Create Attachment action can also be used to associate created dataroom to HubSpot records. To use this action, simply click on add button and search for 'Create Attachment' as shown below.
After you add this action, you will have to fill 3 parameters. For attaching a dataoom, Library parameter should always be 'CloudFiles'. Resource type will be 'Dataroom' and Resource ID will be 'New Dataroom ID' derived from the output of previous create Dataroom action.
Refer to the GIF below to have a visual understanding of this steps -

Here's how our final Create Attachment action for Dataroom looks like -

Once the Dataroom is created and associated to the record, we will create file request block to request sensitive documents within the dataroom.
## 7 - Create File Request block using 'Add to Dataroom'
The 'Add to Dataroom' action enables you to insert files, folders and file request blocks to your CloudFiles datarooms using a workflow. In this tutorial, We will use this action once to create file request blocks for KYC documents folder. You can add this action as many times as needed to request the required files.
To use this action, simply click on add button and search for 'Add to Dataroom' as shown below. Once you add this action, it will ask you to fill in certain parameters. "Shared Drive ID" and "Library" parameters will be same as above. For remaining parameters, refer below -
- Dataroom ID - New Dataroom ID derived from the output of 'Create Dataroom' action
- Type - File Request
- Name - Name of documents requested
- Add to destination - Yes
- Path to destination folder - full and exact folder path of sub-folder created earlier
- Description (Optional) - Describe the requested documents
Refer to the GIF below to have a visual understanding of this steps -

Here's how our final Add to Datatoom action looks like -

## 8 - Create shareable link for Dataroom using 'Share Attachment' action
The Share Attachment action enables you to share attachments using HubSpot workflows. Sharing an attachment is exactly the same as manually creating a sharing link of a file / folder / dataroom from HubSpot record.
To use this action, simply click on add button and search for 'Share Attachment' as shown below. This action has only one parameter that can be set to specify the Attachment to be shared. You can derive this from the return value of previous Create Attachment action - 'New Attachment ID'.
This is what the final Share Attachment action looks like -

## 9 - Set the sharing link to deal property using 'Edit Record' Action
In this step, we will set the link created in the last step to a deal property. For this, first create a single-line text property in the HubSpot Deal Settings. We created a property called 'Sensitive Doc Collection Link'.
To set the shared link to the above property, we will use the Edit Record action. For the 'Property to set' parameter, we will choose 'Sensitive Doc Collection Link' and under 'Sensitive Doc Collection Link' parameter we will set it to the output 'URL' of the last action.
The GIF below shows the configuration for the Edit Record action.

That's it. Save and activate the flow. In the next section, we will test the workflow and check the Analytics.
## Test the Workflow
To test the workflow, create a new deal and set the stage to the one used in the trigger. Give it a minute to execute. Refresh the page. You will be able to see the dataroom link in the deal property and also the folder attachment in the CloudFiles Connected Folder widget in the right side.
Click on the dataroom link and upload document(s), as requested. Once you have uploaded the documents, you will be able to see that 'Upload Checklist' property has been updated. Upon all documents upload, you will receive an e-mail notification. Check the uploaded documents in the internal folder within HubSpot by navigating to CloudFiles Connected Folder widget. You can uncheck a particular document in case you want to request a re-upload.
Once you are satisfied with the uploaded documents, mark the 'Document Upload Completed' property to 'Yes' to confirm the approval process. An e-mail will be triggered to customers that the documents upload has been completed.
These steps have been illustrated in the GIF below for a better understanding -

---
# Collect anonymous analytics on documents
https://help.cloudfiles.io/hubspot/collect-anonymous-analytics-on-documents
# Collect anonymous analytics on documents
Learn how to publicly share PDFs and documents via HubSpot-CloudFiles integration and collect anonymous analytics, including building HubSpot dashboards from the collected view data.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, we explore how you can publicly share PDFs and other documents stored in any cloud storage across various marketing channels such as social media, landing pages, banners, ads etc. through HubSpot - CloudFiles integration. Additionally, the integration also collects anonymous analytics and reports on it using HubSpot dashboards.
## What To Expect
By the end of this tutorial, you can expect to -
- Have a publicly shareable link of the PDF or any document stored in any cloud storage
- You would see detailed analytics on the CloudFiles Dashboard
- You will also have a HubSpot dashboard to see overall analytics
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in 5 to 10 minutes.

## Tutorial Video
Refer to the quick video if you would like to have a visual guide for this tutorial. Read on if you prefer textual content.
[Watch video](https://www.youtube.com/watch?v=npEiHcJCLEg)
## 1 - Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration

## 2 - Create a CloudFiles Link
CloudFiles links are secure publicly shareable links that can be used to share your PDFs and other documents. You can create the link using the CloudFiles Dashboard.
To go to the CloudFiles Dashboard from HubSpot, go to any Contact record, locate the CloudFiles widget and click on the CloudFiles hyperlink. This is shown in the GIF below. Once you are on the dashboard, you can locate the file and create the link.

Once you are on the CloudFiles Dashboard, click on the ‘Libraries’ tab on the top. Then, on the left sidebar, click on the HubSpot Storage option. This will show you all of your HubSpot files. In case you want to use another storage platform, you can do so. Simply login with your respective account and you should see all of your files.
Locate the file that you want to share and then click on the “Create Link” button and name the link for your reference. Once the link is created, copy it for the next step. The process of link creation is shown in the GIF below.

While not mandatory for this use case, explore configuration settings during the link creation process if you want to customize any aspects. You can also enable custom branding & domain for this link. Read Branding to know more.
## 3 - Check Analytics on CloudFiles
Open the link that was created and spend a few seconds on your asset for the analytics to build up. Scroll through so you can get richer analytics. Refresh the page so you collect multiple views. Once you feel enough analytics has been collected, go back to your HubSpot.
Come back to the link settings page in the CloudFiles dashboard from where you had copied the link. Check the Analytics section to view the analytics outside HubSpot. You will get detailed drilled down analytics for each view. From the analytics dialog, you can get details such as view count, downloads, location, time spent, pagewise analytics etc.

## 4 - Create Analytics Dashboard
CloudFiles can create File view custom object records in HubSpot for each view that happens in the file. There is various information available in this record including view date, time spent, scroll depth and more... You can create a variety of charts & reports using this data.
### Check HubSpot Custom Object Support
In order to create document analytics dashboard, you need access to HubSpot Custom Objects. To see if you have access to this feature, look for a 'Custom Objects' option in the Contacts dropdown menu as shown below.

> Please note, you need to have access to Custom Objects in HubSpot in order to create CloudFiles based engagement reports & dashboards.
### Enable CloudFiles Custom Object Feature
You also need to enable the Custom Object feature in CloudFiles so we can automatically start creating these in your HubSpot account. This setting can be found on the CloudFiles app dashboard in Settings > Integrations > HubSpot > Enable Custom Object toggle. If you face issues enabling this feature, reach out to us through chat on the bottom right.
Once the feature is enabled, you should see the 'CloudFiles Views' custom object created in the Contacts menu of HubSpot. You would also see some records pre-created for the views that you have already collected on files. You can view more information on any record by clicking on it.

### Create a File View Report
To create your first report, go to your HubSpot and follow the steps below -
- Go to Reporting > Reports > My Reports
- Click Create Report and choose Single Object report
- Choose CloudFiles Views object on the next screen
- You will see the standard HubSpot report builder with data and visualization tab
- Once you are done creating the report, name and save it.
You can use these help articles from HubSpot to learn about the type of reports you can create with HubSpot. The GIF below shows the basic process in a nutshell.

### Create a File View Dashboard
You can now use the report(s) in dashboard and graphically see the data in a collated format. To create a file engagement dashboard, simply go to Reporting > Dashboard > New dashboards and start adding the report(s) you created in previous section. There are various visualization settings that HubSpot provides that can be used to plot insightful charts.
Using these, we have plotted the following charts.

## Beyond This Tutorial
In this tutorial, we covered a very specific way of sharing a file publicly through website banners, social media sites, ads, one-on-one sales sharing etc. CloudFiles can, in one way or the other, collect personalized analytics for each of these unique scenarios and create reports dashboards as illustrated above.
For marketers, collateral sharing through e-mail and checking analytics is also an important use-case. To know how you can share files in E-mails , check out our tutorial on E-mail Attachment Tracking Dashboard For Marketers.
To know more about what CloudFiles can do and how you can fit the app as per your unique use-case, book a call with us.
---
# Custom File Analytics Dashboard
https://help.cloudfiles.io/hubspot/custom-file-analytics-dashboard
# Custom File Analytics Dashboard
This tutorial explains how to create and use the CloudFiles custom object in HubSpot to track and analyze file views.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, we will explore how to create and use the CloudFiles custom object in HubSpot to track and analyze file views. It provides a step-by-step guide to setting up the custom object and accessing detailed analytics to understand file engagement better.
## What to Expect:
By the end of this tutorial, you will be able to:-
- Set up the CloudFiles custom object in HubSpot.
- Track detailed analytics on file views.
The picture below shows the expected output.

## Steps to Create a Custom Object in HubSpot
### 1 - Create a Private App in HubSpot:
- Go to Settings in HubSpot.
- Navigate to Integrations under Account Management.
- Select Private Apps and click Create.
- Give any name to the app.
The GIF below demonstrates the steps for setting up.

### 2 - Set Scopes for the Private App:
- Go to the Scopes section in the top navigation.
- Add a new scope. Use crm.schemas.custom for custom object creation.
- Enable both write and read permissions.
- Click on Update.
The GIF below demonstrates the steps.

### 3 - Create and Configure the App:
- Click Create App in the top-right corner.
- Once the app is created, click on Show Token to generate an access token.
- Copy the access token for API usage.
The GIF below demonstrates the steps.

### 4 - Share the Token for API Usage:
- Copy the access token and You can email the token to us at support@cloudfiles.io
- We will use the token to push the custom object schema from our end.
In conclusion, using the CloudFiles custom object to track file view analytics provides valuable insights into file engagement. Following this tutorial ensures that you can efficiently set up and utilise this feature in HubSpot.
To know more about what CloudFiles can do and how you can fit the app as per your unique use case, book a call with us.
---
# Data Consent and Privacy Notice
https://help.cloudfiles.io/hubspot/data-consent-and-privacy-notice
# Data Consent and Privacy Notice
This tutorial provides step-by-step instructions on how to set up data collection consent and ensure your privacy policy is easily accessible to your users.
> Kind: Tutorial · Updated: Jun 4, 2026
Data privacy and compliance are critical in today's digital environment. This tutorial will provide step-by-step instructions on how to set up data collection consent and ensure your privacy policy is easily accessible to your users.
## What to Expect :
By the end of this tutorial, you can expect to -
- Enable end-user data collection consent to inform users before they provide personal information.
- Display a Privacy Policy link at the bottom of the CloudFiles viewer for easy access by users.
The GIF below shows the expected output.

## Steps:
- Open any HubSpot contact record and go to the CloudFiles Dashboard.
- Click the Document Sharing tab in the top navigation bar.
- In the left sidebar, select Document Sharing Settings.
- Choose Compliances.
- Toggle on Enable end-user data collection consent.
- Create a clear, explicit consent statement for end users to agree to before entering personal information (e.g., email). Include a reference to the NDA and provide a link to it.
- Add a link to the Privacy Policy, ensuring it’s visible at the bottom of the CloudFiles viewer for easy access by end users.
The GIF below illustrates the steps in detail.

By enabling user consent and linking to your privacy policy, you ensure transparency and compliance with data regulations. For further questions, reach out to us support@cloudfiles.io.
---
# Document approval process
https://help.cloudfiles.io/hubspot/document-approval-process
# Document approval process
Learn how to create a document approval process in HubSpot using the HubSpot-CloudFiles integration—setting up a secure dataroom, a document checklist, and email/Slack notifications for upload completion and re-upload requests.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, we will explore how you can create a document approval process within HubSpot using HubSpot-CloudFiles integration. Learn how to create workflows that set up a secure dataroom, collect documents systematically, and organize them into folders stored in your preferred external storage. Create a checklist of these documents, trigger email/Slack notifications upon upload completion. Vet the document and send reminders to customers for any re-upload.
## What To Expect
By the end of this tutorial, you can expect to -
- Have an external Dataroom to collect and organize documents within HubSpot
- Have a checklist to keep a track of required documents
- Trigger e-mail notification to notify customer about document upload completion or documents re-upload
The image below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 10 minutes.

Refer to the GIF below to have a visual understanding of this tutorial’s expected outcome -

## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we will proceed to create Create Documents Upload Dataroom with shareable link and a checklist to automatically mark the documents upload completion. We’ll be creating multiple workflows for this which is detailed in the sections below -
## Creating Workflow To Get Document Collection Link
We will create a workflow to create a document request dataroom with shareable link that can be shared with the customers. The uploaded documents will be stored in an internal folder which will be accessible within HubSpot. This is how the final workflow looks like -

The details of the workflow has been given below -
### 1 - Create Contact-based Workflow
We will create a contact property that will fire the trigger for document collection workflow. For this, create a single checkbox property in the HubSpot Contact Settings. We have created a property called ‘Request Documents’.
Create a new contact-based workflow from scratch and select the trigger to fire ‘when filter criteria is met’. Set the property as ‘Request Documents’ and set it to ‘Yes’ to activate the trigger as shown in the GIF below.

### 2- Create Folder using ‘Create Folder’ Action
Create Folder action can be used to create folders in any location on any cloud storage platform from HubSpot flow action. We will use this action to first create the folder that will store the sensitive documents collected from the datatoom.
To use the “Create Folder” action, simply click on add button and search for ‘Create Folder’ as shown below. Once you add this action, it will ask you to fill in certain parameters.

This action requires a few parameters. The Library parameter is the desired Cloud storage where you wish to create the folder. Select the desired storage from the drop down field. The Folder name is the name you wish to give your created Folder. We simply use the Company’s name but you can also create a complex text formula variable as well.
The GIF below shows how to populate the Library & Folder name parameter.

We also need to enter values for Shared Drive ID & Path to Destination. These are -
- Shared Drive ID - This is important for google drive & sharepoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
- Path to Destination - This specifies the destination folder in which this new folder will be created.
These parameters can be easily copied from CloudFiles app library. Follow these steps -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to your CloudFiles storage.
- Under the libraries tab, navigate to folder where you would like to store your files or simply create new folder.
- Copy the parameter from the meta data on the right side of the screen.
Check the GIF below for a quick walkthrough of these steps.

For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. Here’s how our final Create Folder action looks like -

### 3 - Show Folder on Record using ‘Create Attachment’ Action
The Create Attachment action is used to associate created folder to HubSpot records. Attaching (or associating) our newly created folder is important since this will enable us to see and operate on the folder contents right from the HubSpot record.
To use this action, simply click on add button and search for ‘Create Attachment’ as shown below. Once you add this action, it will ask you to fill in certain parameters. “Shared Drive ID” and “Library” parameters will be same as above.
The “Path to folder” will be the exact and full path of the newly created folder. You can simply copy from the meta data info in the CloudFiles Library using the same steps as specified in the shared drive ID section above.
Here’s how our final Create Attachment action looks like -

### 4 - Create Dataroom using ‘Create Dataroom’ action
A Dataroom is a file portal, where you can request files from your customers. We will use “Create Dataroom” action to create a documents upload portal where customers can upload their requested documents.
To use this action, simply click on add button and search for ‘Create Dataroom’ as shown below. Once you add this action, it will ask you to fill in certain parameters. “Name” is the name of dataroom that appears on the dataroom, “Description” is an optional field that can be used to give additional description for conveying more information.
To read more about this action, visit Create Dataroom Action. Refer to the GIF below to get a visual understanding of above steps.

Here’s how our final Create Dataroom action looks like -

### 6 - Show Dataroom on Record using ‘Create Attachment’ Action
The Create Attachment action can also be used to associate created dataroom to HubSpot records. To use this action, simply click on add button and search for ‘Create Attachment’ as shown below.
After you add this action, you will have to fill 3 parameters. For attaching a dataoom, Library parameter should always be ‘CloudFiles’. Resource type will be ‘Dataroom’ and Resource ID will be ‘New Dataroom ID’ derived from the output of previous create Dataroom action.
Refer to the GIF below to have a visual understanding of this steps -

Here’s how our final Create Attachment action for Dataroom looks like -

### 7 - Create File Request block using ‘Add to Dataroom’
The ‘Add to Dataroom’ action enables you to insert files, folders and file request blocks to your CloudFiles datarooms using a workflow. You can add this action as many times as needed to request the required files.
To use this action, simply click on add button & search for ‘Add to Dataroom’ as shown below. Once you add this action, it will ask you to fill in certain parameters. “Shared Drive ID” & “Library” parameters will be same as above. For remaining parameters, refer below -
- Dataroom ID - New Dataroom ID derived from the output of ‘Create Dataroom’ action
- Type - File Request
- Name - Name of documents requested
- Add to destination - Yes
- Path to destination folder - full and exact folder path of sub-folder created earlier
- Description (Optional) - Describe the requested documents
Refer to the GIF below to have a visual understanding of this steps -

Here’s how our final Add to Datatoom action looks like -

### 8 - Create shareable link for Dataroom using ‘Share Attachment’ action
The Share Attachment action enables you to share attachments using HubSpot workflows. Sharing an attachment is exactly the same as manually creating a sharing link of a file / folder / dataroom from HubSpot record.
To use this action, simply click on add button and search for ‘Share Attachment’ as shown below. This action has only one parameter that can be set to specify the Attachment to be shared. You can derive this from the return value of previous Create Attachment action - ‘New Attachment ID’.
Refer to the GIF below have a visual understanding of this step -

### 9 - Copy the sharing link to Contact property using ‘Copy Property Value’ Action
In this step, we will copy the link created in the last step to a contact property. For this, first create a single-line text property in the HubSpot Contact Settings. We created a property called ‘Shared Files Portal Link’.
To copy the shared link to the above property, we will use the Copy Property value action. For the ‘from’ parameter, we will choose the output ‘URL’ of the last action. For the ‘to’ parameter, we will use our newly created contact property.
The GIF below shows the configuration for the Copy Property Value action.

That’s it. Save and activate the flow. Your documents upload process is set. In the next section, we will learn how to create the documents upload checklist.
## Create Checklist for required documents
After setting up the documents upload process, we will create a checklist to keep a track of uploaded documents. This is how the checklist looks like -

To set up the checklist, we'll create a multiple checkbox property in HubSpot contact settings, listing all required documents. As customers upload each document, the respective checkboxes will be marked automatically. When all checkboxes are marked, an email notification will alert the contact owner.
Once the checklist is set-up, we will create individual workflows for each document to verify the upload and mark the respective checkbox. Here’s how our final workflow looks like. We will detail these elements in the sections below.

### 1 - Create Contact-based Workflow
Create a new contact-based workflow from scratch and select the trigger to fire ‘when filter criteria is met’. Set the property as ‘CloudFiles: File received properties’ > ‘File Request Name’ as shown in the image below. Enter the name of the file requested.

Refer to the GIF below to have a visual understanding of this step -

Once the trigger is set, in the next section, we will learn how to create the checklist containing a list of the required documents and how to set-up a workflow to append uploaded document to the corresponding checkbox.
### 2 - Set Property Value to append the document to the checklist
We will create a checklist which will be visible in the contact property. To do so, we will create a multiple checkbox property in the HubSpot contact settings, listing all the documents to be requested from customers. In this tutorial, we've created a property named 'Upload Checklist' and listed three required documents as shown below -

We will now create the action that will mark the appropriate checkbox in the checklist when documents are uploaded. For this, add HubSpot action ‘Set Property Value’. In the Target Object field, select ‘Contact’. Property to set will be the checklist property created above. Once selected, append the required value as shown in the GIF below -

This is how the final action looks like -

### 3- Notify if all documents uploaded
Next, we will check if all documents have been uploaded. If they are, we will send an internal notification to the contact owner. To check whether everything is uploaded, we use a simple branch element. To send the notification, we use the ‘Send Internal Email’ action. You can also choose to send a slack notification.

Duplicate the above workflow for other required documents. Just make a simple tweak - append the respective document value to the 'Upload Checklist' property.
## Document Vetting and re-upload request
After receiving the email confirming the completion of document uploads, you can access the uploaded documents within your HubSpot by navigating to CloudFiles Connected Folder. During document vetting, if a rejection occurs and you need a file re-upload, simply uncheck the document in the 'Upload Checklist' property. This action can trigger an e-mail to customers, requesting the re-upload of the specified document along with the dataroom link.
You can chose to request document re-upload as many times as needed. Once satisfied, you can setup a workflow to trigger an email to the customer telling them the uploads are complete. To do so, you can have a single checkbox property on your contact called ‘Documents Upload Completed’ and trigger the workflow when this changes to Yes.
That’s it! That’s how you can set-up a streamlined document approval process within HubSpot.
## Test the Workflow
To test the document approval process, create a new contact or select an existing contact. Add all the properties related to the approval process created above. Set ‘Request Documents’ property to ‘Yes’ to trigger the workflow. Give it a minute to execute. Refresh the page. You will be able to see the dataroom link in the ‘Document Upload Link’ property and also the folder attachment in the CloudFiles Connected Folder widget in the middle.
Click on the dataroom link and upload documents as requested. Once you have uploaded the documents, you will see the respective checkboxes get ticked. You can check the uploaded documents and mark the upload complete property accordingly to trigger external email to customer.
These steps have been illustrated in the GIF below for a better understanding -

---
# E-mail Attachment Tracking
https://help.cloudfiles.io/hubspot/e-mail-attachment-tracking
# E-mail Attachment Tracking
Learn how to track e-mail attachments sent through mass HubSpot campaigns using the CloudFiles - HubSpot Integration, from creating personalized links to building analytics dashboards.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, we explore how e-mail attachments sent through mass HubSpot campaigns can be tracked and reported on using the CloudFiles - HubSpot Integration. We will use various features of both of these apps through the tutorial.
## What To Expect
By the end of this tutorial, you can expect to -
- Have an email template with a link to a file that can be sent to any contact. When the receiver clicks on the link and views the file, you will get personalized file view analytics
- You would see the individual analytics on the HubSpot contact record
- You will also have a HubSpot dashboard to see overall analytics
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in 5 to 10 minutes.

## Tutorial Video
Refer to the quick video if you would like to have a visual guide for this tutorial. Read on if you prefer textual content.
[Watch video](https://www.youtube.com/watch?v=dWOQmREAo7k)
## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.

## 2 - Create a CloudFiles Link
CloudFiles links are secure publicly shareable links that can be used to share your collaterals in HubSpot mass e-mail campaigns. You can create the link using the CloudFiles Dashboard. Follow the steps below-
- Now that you have the access to your external storage, go the CloudFiles library and locate the file for which you would like to create the link.
- Click on “Create Link” button and name the link for your reference.
- Click on “Copy Link” button to copy the link created for e-mail campaign.
- While not mandatory for this use case, explore configuration settings during the link creation process if you want to customize any aspects.
Refer to the GIF below to get a visual understanding of this step.

## 3 - Update E-mail Template & Add Personalization
CloudFiles offers a cool feature to personalize the file link using a URL parameter. This, when combined with HubSpot's personalization tokens for marketing & sales email templates, offers a neat way to collect personal analytics on any CloudFiles link, without gating it.
- Log in to your HubSpot account and navigate to the Marketing or Sales Hub. Choose the email template you want to update. Click on "Edit" to make changes.
- Identify the hyperlink in your email template that you want to update with the CloudFiles link.
- Replace the existing hyperlink with the copied CloudFiles link from the CloudFiles Dashboard.
- At the end of the CloudFiles link, add the following personalization parameter and save the changes.
This ensures personalized tracking for each recipient without gating it.

Refer to the GIF below to get a visual understanding of this step.

## 4 - Test your Email Template
Send a test email to verify that the CloudFiles link is working correctly. Make sure that when sending the test email, you send it to a contact and not a naked email address. This way the personalization token would be populated correctly.
The link in the email inbox should have your email appended to it at the end. The format is shown in the graphic below -

> **Important** — Always test your E-mail using a contact record, otherwise HubSpot would not populate the personalization tokens correctly.
If your link shows up correctly, you can click on it and spend some time on your file so that analytics can be collected. Refer to the GIF below to get a visual understanding of this step.

## 5 - Check Analytics on Contact
Click on the link that was sent in the email. Spend a few seconds on your asset for the analytics to build up. Scroll through so you can get richer analytics. Refresh the page so you collect multiple views. Once you feel eough analytics has been collected, go back to your HubSpot.
When a file is viewed, CloudFiles checks for an associated contact in your HubSpot account. If found, analytics data is pushed to that contact's record. If CloudFiles doesn't find an existing contact in HubSpot, it automatically creates a new one. This ensures all analytics information is associated with the correct records.
You can access this analytics from the contact record page of HubSpot by following the steps below -
- In your HubSpot account, go to the contact record that you tested the email template for.
- In the record timeline, enable CloudFiles activity as shown below.
- Once done, you should see page view events in the timeline.
- You can click on 'View Detailed Analytics' button to get the detailed analytics.
> Please note, you need to enable the CloudFiles Timeline events first using the filter activity dropdown as shown below.
Refer to the GIF below to get a visual understanding of this step.

You will get detailed drilled down analytics for each view. From the analytics dialog, you can get details such as view count, downloads, location, time spent, pagewise analytics etc...

## 6 - Create Analytics Dashboard
CloudFiles can also create File view custom object records in HubSpot for each view that happens in the file. There is various information available in this record including view date, time spent, scroll depth and more... You can create a variety of charts & reports using this data.
### Check HubSpot Custom Object Support
In order to create document analytics dashboard, you need access to HubSpot Custom Objects. To see if you have access to this feature, look for a 'Custom Objects' option in the Contacts dropdown menu as shown below.

> Please note, you need to have access to Custom Objects in HubSpot in order to create CloudFiles based engagement reports & dashboards.
### Enable CloudFiles Custom Object Feature
You also need to enable the Custom Object feature in CloudFiles so we can automatically start creating these in your HubSpot account. This setting can be found on the CloudFiles app dashboard in Settings > Integrations > HubSpot > Enable Custom Object toggle. If you face issues enabling this feature, reach out to us through chat on the bottom right.
Once the feature is enabled, you should see the 'CloudFiles Views' custom object created in the Contacts menu of HubSpot. You would also see some records pre-created for the views that you have already collected on files. You can view more information on any record by clicking on it.

### Create a File View Report
To create your first report, go to your HubSpot and follow the steps below -
- Go to Reporting > Reports > My Reports
- Click Create Report and choose Single Object report
- Choose CloudFiles Views object on the next screen
- You will see the standard HubSpot report builder with data and visualization tab
- Once you are done creating the report, name and save it.
You can use these help articles from HubSpot to learn about the type of reports you can create with HubSpot. The GIF below shows the basic process in a nutshell.

### Create a File View Dashboard
You can now use the report(s) in dashboard and graphically see the data in a collated format. To create a file engagement dashboard, simply go to Reporting > Dashboard > New dashboards and start adding the report(s) you created in previous section. There are various visualization settings that HubSpot provides that can be used to plot insightful charts.
Using these, we have plotted the following charts.

## Beyond This Tutorial
In this tutorial, we talked about a very specific way of sharing a file using HubSpot. However there are loads of other file & folder sharing options and functionalities that the CloudFiles - HubSpot integration enables.
To know more about the options for sharing files in E-mails and limitations of HubSpot documents, check out our blog on HubSpot Analytics Report for E-mail Attachment using CloudFiles.
For marketers, file sharing can also happen through website banners and form walls, social media sites, ads, one-on-one sales sharing etc... CloudFiles can, in one way or the other, collect personalized analytics for each of these unique scenarios and create reports dashboards as illustrated above.
Further, there are a lot of types of reports & charts that can be created. E.g. the graphic we posted above, the last chart on the right illustrates monthly scroll depth. E.g. 40% scroll depth implies that your clients only scroll through 4 out of ten pages of your collateral. The monthly plot can provide insights into this behavior over time as you update your collateral.
To know more about what CloudFiles can do and how you can fit the app as per your unique use-case, book a call with us.
---
# File Portals for Sales & Service teams
https://help.cloudfiles.io/hubspot/file-portals-for-sales-and-service-teams
# File Portals for Sales & Service teams
Learn how to automate folder creation at a specific deal stage, establish an empty data room with a sharing link, upload files to internal folders, selectively share files with the data room, and analyse portal analytics using the HubSpot - CloudFiles integration.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, we explore how you can share file portals through HubSpot - CloudFiles integration. Learn how to automate folder creation at a specific deal stage, establish an empty data room with a sharing link, upload files to internal folders, selectively share files with the data room, and analyse portal analytics for valuable insights.
## What To Expect
By the end of this tutorial, you can expect to -
- Have a dedicated internal folder for a deal in Google Drive, which would be created automatically.
- Have a dataroom link to share files with external stakeholders.
- Be able to choose which files to share from internal folder with the external parties.
- View Dataroom documents analytics on HubSpot contact and have a HubSpot dashboard to see overall analytics.
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 10 minutes.

## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we will proceed to create deal based workflow which will be triggered when the deal reaches a certain stage. Here's how our final workflow looks like. We will detail these elements in the sections below.

## 2 - Create Deal Workflow
Create a new deal based workflow from scratch and select the trigger to fire when the deal reaches a certain stage as shown in the GIF below. You can chose any stage as the deal stage.

## 3 - Create Internal Folder using 'Create Folder' Action
Create Folder action can be used to create folders in any location on any cloud storage platform from HubSpot flow action. We will use this action to first create the folder as internal repository to store the files.
To use the "Create Folder" action, simply click on add button and search for 'Create Folder' as shown below. Once you add this action, it will ask you to fill in certain parameters.

This action requires a few parameters. The Library parameter is the desired Cloud storage where you wish to create the folder. Select the desired storage from the drop down field. The Folder name is the name you wish to give your created Folder. We simply use the Deal's name but you can also create a complex text formula variable as well.
The GIF below shows how to populate the Library & Folder name parameter.

We also need to enter values for Shared Drive ID & Path to Destination. These are -
- Shared Drive ID - This is important for google drive & sharepoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
- Path to Destination - This specifies the destination folder in which this new folder will be created.
These parameters can be easily copied from CloudFiles app library. Follow these steps -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to your CloudFiles storage.
- Under the libraries tab, navigate to folder where you would like to store your files or simply create new folder.
- Copy the parameter from the meta data on the right side of the screen.
Check the GIF below for a quick walkthrough of these steps.

For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. Here's how our final Create Folder action looks like -

## 4 - Show Folder on Record using 'Create Attachment' Action
The Create Attachment action is used to associate created folder to HubSpot records. Attaching (or associating) our newly created folder is important since this will enable us to see and operate on the folder contents right from the HubSpot record.
To use this action, simply click on add button and search for 'Create Attachment' as shown below. Once you add this action, it will ask you to fill in certain parameters. "Shared Drive ID" and "Library" parameters will be same as above.
The "Path to folder" will be the exact and full path of the newly created folder. You can simply copy from the meta data info in the CloudFiles Library using the same steps as specified in the shared drive ID section above.
Here's how our final Create Attachment action looks like -

## 5 - Create Dataroom using 'Create Dataroom' Action
A Dataroom is a file portal, where you can link multiple files & folders, organize them in groups and even request files from your customers. We will use "Create Dataroom" action to create empty empty datarooms where selected files can be shared with customers from the internal repository.
To use this action, simply click on add button and search for 'Create Dataroom' as shown below. Once you add this action, it will ask you to fill in certain parameters. "Name" is the name of dataroom that appears on the dataroom, "Description" is an optional field that can be used to give additional description for conveying more information.
To read more about this action, visit Create Dataroom Action. Refer to the GIF below to get a visual understanding of above steps.

Here's how our final Create Dataroom action looks like -

## 6 - Show Dataroom on Record using 'Create Attachment' Action
The Create Attachment action can also be used to associate created dataroom to HubSpot records. To use this action, simply click on add button and search for 'Create Attachment' as shown below.
After you add this action, you will have to fill 3 parameters. For attaching a dataoom, Library parameter should always be 'CloudFiles'. Resource type will be 'Dataroom' and Resource ID will be 'New Dataroom ID' derived from the output of previous create Dataroom action.
Refer to the GIF below to have a visual understanding of this steps -

Here's how our final Create Attachment action for Dataroom looks like -

Once the Dataroom is created and associated to the record, we will create sharing link for the Dataroom using 'Share Attachment' action.
## 7 - Create shareable link for Dataroom using 'Share Attachment' action
The Share Attachment action enables you to share attachments using HubSpot workflows. Sharing an attachment is exactly the same as manually creating a sharing link of a file / folder / dataroom from HubSpot record.
To use this action, simply click on add button and search for 'Share Attachment' as shown below. This action has only one parameter that can be set to specify the Attachment to be shared. You can derive this from the return value of previous Create Attachment action - 'New Attachment ID'.
Refer to the GIF below have a visual understanding of this step -

This is what the final Share Attachment action looks like -

## 8- Set the sharing link to deal property using 'Edit Record' Action
In this step, we will set the link created in the last step to a deal property. For this, first create a single-line text property in the HubSpot Deal Settings. We created a property called 'Shared Files Portal Link'.
To set the shared link to the above property, we will use the Edit Record action. For the 'Property to set' parameter, we will choose 'Shared Files Portal Link' and under 'Shared Files Portal Link' parameter we will set it to the output 'URL' of the last action.
The GIF below shows the configuration for the Edit Record action.

That's it. Save and activate the flow. In the next section, we will test the workflow and check the Analytics.
## Test the Workflow
To test the workflow, create a new deal and set the stage to the one used in the trigger. Give it a minute to execute. Refresh the page. You will be able to see the dataroom link in the deal property and also the folder attachment in the CloudFiles widget in the right side.
Start by adding some files in the folder. Once added, you can choose selective files to be added to the Dataroom. If you open the dataroom link, you will see these selective files.
These steps have been illustrated in the GIF below for a better understanding -

## Check the Analytics
Click on the Dataroom link and browse the files. Scroll through so you can get richer analytics. Refresh the page so you can collect multiple views. Once you feel enough analytics has been collected, go back to your HubSpot. You can check the analytics in multiple ways -
### Check Analytics on the Dataroom in CloudFiles Widget
Go to CloudFiles Widget and locate the Dataroom. In the Action drop down menu, select 'Analytics' to get a detailed analytics view.

### Check Analytics on the Activities Timeline
You can access this analytics from the contact record page of HubSpot as well. Make sure you enable CloudFiles checkbox in the Filter Activities as shown in the GIF below. With this, you will see File View events on the deal and can click 'View detailed analytics' button.
> Please note, you need to enable the CloudFiles Timeline events first using the filter activity dropdown as shown below.
Refer to the GIF below to get a visual understanding of this step -

CloudFiles can also create File view custom object records in HubSpot for each view that happens in the file. There is various information available in this record including view date, time spent, scroll depth and more. You can create a variety of charts & reports using this data.

You can read more about this in the 'Create Analytics Dashboard section' of E-mail Attachment Tracking Dashboard For Marketers.
---
# File Upload Portal for clients
https://help.cloudfiles.io/hubspot/file-upload-portal-for-clients
# File Upload Portal for clients
Explore how to collect documents from customers or team members and allow them to access the uploaded files via a self-updating dataroom through the HubSpot-CloudFiles integration.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, you will get to explore how to collect documents from customers or team members and allow them to access the uploaded files called a self-updating dataroom through the HubSpot-CloudFiles integration.
## What to Expect :
By the end of this tutorial, you can expect to -
- Set up a self-updating dataroom.
- Configure the document collection from customers or team members.
- Provide access to the uploaded files for customers or team members.
- Manage and maintain the document access portal.

## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we will proceed to create contact-based workflow which will be triggered when a new contact is registered. Here’s how our final workflow looks like. We will detail these elements in the sections below.

## 2 - Create Contact-based Workflow
Create a new contact-based workflow from scratch and select the trigger to fire when a new contact is created as shown in the GIF below.

## 3 - Automate Sensitive Document Storage with ‘Create Folder’ Action
The Create Folder action allows you to create folders in any location on a cloud storage platform directly from HubSpot flow actions. We will use this action to create a folder for storing sensitive documents collected from the dataroom.
To use the “Create Folder” action, click the add button and search for ‘Create Folder.’ After adding the action, you will need to fill in several parameters.
The Library parameter specifies the cloud storage where you want to create the folder; select the desired storage from the dropdown menu. The Folder Name is what you want to call the new folder.
You also need to enter values for Shared Drive ID and Path to Destination:
- Shared Drive ID: Required for Google Drive and SharePoint users, as these platforms support multiple drives for document storage.
- Path to Destination: Indicates where in the cloud storage the new folder will be created.
These values can be copied from the CloudFiles app library by following these steps:
- Locate the CloudFiles widget in any HubSpot record and click on it to access your CloudFiles storage.
- Under the Libraries tab, navigate to the desired location for your files or create a new folder.
- Copy the parameters from the metadata on the right side of the screen.
Refer to the GIF below for a quick overview of these steps.

For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. Here’s how our final Create Folder action looks like -

## 3 - Create Dataroom using ‘Create Dataroom’ action
A Dataroom is a file portal, where you can request files from your customers. We will use the “Create Dataroom” action to create a file request portal where customers can upload their documents.
To use this action, click the add button and search for "Create Dataroom." After adding the action, you'll need to fill in certain parameters. The "Name" field specifies the name displayed on the dataroom, while the "Description" field is optional and can provide additional context.
For more information about this action, visit “Create Dataroom Action.” The GIF below provides a visual representation of these steps.

Here’s how your final Create Dataroom action will appear:

## 5 - Show Dataroom on Record using ‘Create Attachment’ Action
The Create Attachment action allows you to associate a created dataroom with HubSpot records. To use this action, click the add button and search for "Create Attachment."
Once added, you will need to fill in three parameters: set the Library parameter to "CloudFiles," choose "Dataroom" for Resource Type, and enter the Resource ID as the "New Dataroom ID" obtained from the previous Create Dataroom action.
Refer to the GIF below for a visual guide to these steps.

Here’s how our final Create Attachment action for Dataroom looks like -

Once the Dataroom is created and associated with the record, we will create file request blocks to request documents within the dataroom.
## 6 - Create File Request Block Using ‘Add to Dataroom’
The ‘Add to Dataroom’ action allows you to insert files, folders, and file request blocks into your CloudFiles datarooms via a workflow. In this tutorial, we will use this action to create file request blocks for the KYC documents and passport folder. You can add this action multiple times to request any additional files needed.
To use this action, click the add button and search for ‘Add to Dataroom.’ After adding the action, you will need to fill in several parameters:
- Shared Drive ID: Same as above.
- Library: Same as above.
- Dataroom ID: New Dataroom ID from the output of the ‘Create Dataroom’ action.
- Type: File Request.
- Name: Specify the name of the documents being requested.
- Add to Destination: Yes.
- Path to Destination Folder: Enter the full and exact folder path of the sub-folder created earlier.
- Description (Optional): Provide a description of the requested documents.
The GIF below shows how to configure the Add to dataroom action:

Here’s how our final Add to Datatoom action looks like -

## 7 - Add Content Using ‘Add to Dataroom’
Using the Add to Dataroom action, add the folder that we created for collecting the uploaded documents in the beginning. To use the action, click the add button and search for ‘Add to Dataroom.’ After adding the action, you will need to fill in the parameters like the above step:
- Shared Drive ID: Same as above.
- Library: Same as above.
- Dataroom ID: New Dataroom ID from the output of the ‘Create Dataroom’ action.
- Type: Content.
- Add to Destination: Yes.
- Path to Destination Folder: Enter the full and exact folder path of the sub-folder created earlier.
Here’s how our final Add to Datatoom action looks like -

## 8 - Create a shareable link for Dataroom using ‘Share Attachment’ action
The Share Attachment action allows you to share attachments through HubSpot workflows. This process is similar to manually creating a sharing link for a file, folder, or dataroom from a HubSpot record.
To use this action, click the add button and search for ‘Share Attachment.’ This action requires only one parameter: the Attachment to be shared, which can be obtained from the return value of the previous Create Attachment action, labeled ‘New Attachment ID.’
Here’s how the final Share Attachment action appears:

## 9 - Set the sharing link to contact property using the ‘Edit Record’ Action
In this step, we will set the link created in the previous step into a contact property. First, create a single-line text property in the HubSpot Contact Settings; we’ll call it ‘Self-Updating Dataroom Link.’
We will use the Edit Record action to transfer the shared link to this property. For the 'Property to set' parameter, choose the property you created and then set the custom property to the URL output derived from the Share Attachment.
The GIF below illustrates how to configure the Edit Record action.

That’s it. Save and activate the flow. In the next section, we will test the workflow.
## 10 - Test the Workflow
To test the workflow, create a new contact and wait a minute for it to execute. Refresh the page, and you should see the dataroom link in the contact property, along with the dataroom attachment in the CloudFiles widget on the right side.
Click on the dataroom link to upload the requested document(s). After uploading, you can verify the uploaded documents in the corresponding folder within the dataroom.
The GIF below provides a visual guide for these steps.

---
# Mirror Deal Folder to Contacts Automatically
https://help.cloudfiles.io/hubspot/mirror-deal-folder-to-contacts-automatically
# Mirror Deal Folder to Contacts Automatically
Learn how to automatically create a parent folder for a HubSpot deal and mirror it to the deal's associated contacts using CloudFiles flow actions.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, we'll guide you through creating automated folders when a deal is created and ensuring that the same parent deal folder is automatically associated to the associated contacts of the deal using the CloudFiles-HubSpot integration. We'll use CloudFiles flow actions to set up these automated folders.
## What to Expect
By the end of this tutorial, you can expect to:
- Have an Automated Parent Folder for a HubSpot deal record when it is created.
- You will be able to attach this parent deal folder to its associated contacts.
- You will also be able to access these folders within your HubSpot record within the CloudFiles Connected folder widget.
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 10 minutes.

## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we’ll proceed to create a deal-based workflow that is triggered when a new deal is created. Next, we’ll set up a contact-based workflow to link the deal folder to its associated contacts. Below is an overview of the workflows, which we’ll break down in the sections that follow.

## Section 1: Create a Folder for the Deal and Link It
In this section, we’ll make a workflow that automatically creates a folder when a new deal is added and attaches it to the deal record in your CRM.
### 1 - Create a Deal-Based Workflow
Create a new deal-based workflow from scratch and select the trigger to fire when a new deal is created, as shown in the picture below.

### 2 - Create Parent Folder using ‘Create Folder’ Action
Create Folder action can be used to create folders in any location on any cloud storage platform from HubSpot flow action. We will use this action to first create the Parent folder.
To use the “Create Folder” action, simply click on add button and search for ‘Create Folder’ as shown below. Once you add this action, it will ask you to fill in certain parameters.

This action requires a few parameters.
The Library parameter refers to the cloud storage service (like Google Drive, SharePoint, etc.) where you want to create the folder. Simply choose your preferred storage option from the dropdown menu.
The Folder Name is the name you’d like to assign to the newly created folder. In most cases, we use the Deal’s name for simplicity, but you can also use a custom text formula or variable to generate more complex names.
You’ll also need to provide values for the Shared Drive ID and Path to Destination. These are:
Shared Drive ID – This applies only to Google Drive and SharePoint users. These platforms support multiple “drives” where documents can be stored. You’ll need to specify which one to use.
Path to Destination – This defines the exact location (folder path) where the new folder should be created inside your selected storage.
You can easily copy these parameters from the CloudFiles app. Just follow these steps:
- Locate the CloudFiles widget on any HubSpot record and click on CloudFiles. You’ll be redirected to your connected CloudFiles storage.
- Under the Libraries tab, navigate to the folder where you want to save your files, or create a new one.
- On the right side of the screen, you’ll see a metadata section. Copy the required parameters from there.
Check the GIF below for a quick walkthrough of these steps.

For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. Here’s how our final Create Folder action looks like -

### 3 - Show Parent Folder on Deal Record using ‘Create Attachment’ Action
The Create Attachment action is used to link the newly created folder to a HubSpot record.
Attaching (or associating) the deal folder is essential because it allows you to view and manage the folder’s contents directly from within the HubSpot record itself.
To use this action, click on the Add button and search for ‘Create Attachment’ as shown below. After adding the action, you’ll be prompted to enter a few parameters.
The Shared Drive ID and Library fields will remain the same as mentioned earlier.
The Path to Folder is the full and exact folder path of the parent folder you created.
You can easily copy this path from the metadata section in the CloudFiles Library, just follow the same steps described earlier for getting the Shared Drive ID.
Here’s how our final Create Attachment action looks like -

## Section 2: Attach the Same Folder to the Deal’s Contacts
In this section, we’ll use that same folder and connect it to the contacts associated with the deal, so everyone has access to the same folder.
### 1 - Create a Contact-Based Workflow
To set up the workflow, start by creating a new contact-based workflow from scratch in HubSpot. For the trigger, select the option to fire when a new deal is created and whenever a contact is associated with any deal.
To ensure the workflow only runs when the deal has a folder attached, add a filter condition using the CloudFiles property called "Number of Resources Attached" and set it to equal 1. This filter ensures that the first workflow, which creates the folder for the deal, has already run, so this workflow only proceeds when a resource (folder) is linked to the associated deal.
To learn more about the CloudFiles properties that can be used in workflows and triggers, refer to All CloudFiles Properties.

### 2 - Show Deal Folder on Contact Record using ‘Create Attachment’ Action
We will follow the same steps that we had followed previously. The Create Attachment action is used to associate created folder to HubSpot records. Attaching (or associating) our newly created deal folder is important since this will enable us to see and operate on the folder contents right from the HubSpot record.
The parameters such as Library, Shared Drive ID, and Path to file or folder will remain the same as those used in the Create Attachment action within the deal-based workflow.
However, when you try to insert the "Deal name" token while configuring the folder name at the end of the path to file or folder parameter, you will notice that the token does not appear if you select Enrolled contact in the View "properties or action outputs from:" section.
To make the "Deal name" token available:
- Click Edit available records.
- In the Edit available records dialog, click Add records.
- Provide a name for the data source (e.g., Deal).
- Set the Record type to Deal.
- Define a condition to filter the deals:
- Condition: If associated to the enrolled contact
- Association label: all associated deals
- Condition to filter deals: most recently created
This setup ensures that the path to file or folder parameter can include the Deal name from the most recently created deal associated with the enrolled contact.
Here’s how our final Create Attachment action looks like -

## Test the Automated Folders in Action
Now that everything is set up, it’s time to test the workflow. Start by creating a new Deal in HubSpot and associating one or more contacts to it. The workflow might take a few seconds to run, so give it a moment and refresh the page if needed. Next, go to the CloudFiles Connected Folder widget tab in the middle section of the Deal record. You should now see the newly created Deal folder right there in the Deal record, and the same folder will also appear under the associated contact’s records. This is shown in the GIF below -

> **Enabling Re-enrollment** — If someone creates a new deal for an existing contact, for example, if you are associating another deal with a contact that already exists in your CRM and you want a folder to be automatically created and linked to that contact record again, make sure the re-enrollment option is enabled in your workflow. This allows the workflow to run again for the same contact whenever a new deal is associated..
---
# Move Files from HubSpot Forms to External Storage
https://help.cloudfiles.io/hubspot/move-files-from-hubspot-forms-to-external-storage
# Move Files from HubSpot Forms to External Storage
Learn how to automatically create contact-based folders in your cloud storage and move files submitted through HubSpot forms into them using the HubSpot - CloudFiles integration.
> Kind: Tutorial · Updated: Jun 4, 2026
## What to Expect
By the end of this tutorial, you’ll be able to:
- Automatically create a structured folder system in your connected cloud storage (Google Drive, SharePoint, etc.) for each contact.
- Associate the created folder with the HubSpot record to allow easy access and management.
- Move uploaded files from HubSpot forms to the appropriate cloud storage folders while renaming them.
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 5 minutes.

## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we will proceed to create company-based workflow which will be triggered when a new company is registered. Here’s how our final workflow looks like. We will detail these elements in the sections below.
## 2 - Create a HubSpot Form
I have created a patient registration form in HubSpot to collect essential details such as Identification Proof, Insurance Card Information, and Medical History Information. Along with these, I have included fields for the patient’s first and last name, date of birth, contact details, residential address, and other relevant information. This structured form ensures that all necessary patient data is systematically gathered, making it easier to store, manage, and process within HubSpot.

## 3 - Create Contact-based Workflow
Create a new contact-based workflow from scratch and select the trigger to fire when any contact has filled out the Patient Registration form.

## 4 - Create Parent Folder using ‘Create Folder’ Action
Create Folder action can be used to create folders in any location on any cloud storage platform from HubSpot flow action. We will use this action to first create the Parent folder in which sub-folders will be created automatically.
To use the “Create Folder” action, simply click on add button and search for ‘Create Folder’ as shown below. Once you add this action, it will ask you to fill in certain parameters.

This action requires a few parameters. The Library parameter is the desired Cloud storage where you wish to create the folder. Select the desired storage from the drop down field. The Folder name is the name you wish to give your created Folder. We have simply used the Contacts’s first and last names followed by Form Uploads but you can also create a complex text formula variable as well.
The GIF below shows how to populate the Library & Folder name parameter.

We also need to enter values for Shared Drive ID & Path to Destination. These are -
- Shared Drive ID - This is important for google drive & sharepoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
- Path to Destination - This specifies the destination folder in which this new folder will be created.
These parameters can be easily copied from CloudFiles app library. Follow these steps -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to your CloudFiles storage.
- Under the libraries tab, navigate to folder where you would like to store your files or simply create new folder.
- Copy the parameter from the meta data on the right side of the screen.
Check the GIF below for a quick walkthrough of these steps.

For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. Here’s how our final Create Folder action looks like -

## 5- Create Sub-Folders using ‘Create Folder‘ Action
You can create sub-folders using the same ‘Create Folder’ action with just a couple of simple adjustments.
- Update the Folder Name:
- Set this to the name of the sub-folder you want to create.
- For example, we are creating ‘Identification Proof’, ‘Insurance Card’, and ‘Medical Records’ subfolders inside the parent folder.
- Modify the Path to Destination:
- Ensure this is set to the exact, full path of the parent folder created in the previous step.
- This ensures that the new sub-folder gets created inside the correct contact’s folder.
Here’s how your second Create Folder action should look like.

You can choose to have as many sub folders as you want. Simply duplicate the Create Folder action. You can also create sub-sub-folders and even deeper hierarchies using this method.
## 5 - Show Parent Folder on Company Record using ‘Create Attachment’ Action
The ‘Create Attachment’ action is used to associate the newly created folder with HubSpot records. This step is essential, as it allows you to access and manage the folder's contents directly from the HubSpot record.
- Add the Action:
- Click on the Add button in your workflow.
- Search for ‘Create Attachment’ and select it, as shown below.
- Configure the Required Parameters:
- Shared Drive ID & Library: Use the same values as in the previous steps.
- Path to Folder: Enter the exact, full path of the newly created parent folder.
- You can easily copy this path from the metadata info in the CloudFiles Library, following the same steps used to retrieve the Shared Drive ID.
This ensures that your folder is correctly linked to the HubSpot record, enabling seamless access and management.
Here’s how our final Create Attachment action looks like -

## 6 - Move HubSpot Files
The Move HubSpot Files Action is used to move files stored in HubSpot file manager (such as the ones uploaded through a HubSpot form) to an external storage system. This action is useful in scenarios where a HubSpot form is being used to collect files.
To use this action, simply click on add button and search for ‘Move HubSpot Files’ as shown below. Once you add this action, it will ask you to fill in certain parameters. Files, Library, DriveID, Path to Destination, and File name.
Files: This parameter helps specify the file(s) that need to be copied. The value should come from a HubSpot property which stores a publicly accessible HubSpot URL of the file. In this case since I am collecting the Identification Proof , Insurance Card and Medical Records of the patient, I will adding the particular contact property for each of them.
Shared Drive ID & Library: Use the same values as in the previous steps.
Path to Destination: Mention the path as to where the files uploaded through the forms will be saved in cloud storage. In this I have added the path to the parent folder followed by the sub-folder's name so that Medical Records uploaded via the form goes to the Medical Records subfolder created within the parent folder.
File Name: This is the name you wish to give your copied file. In this I want to rename the files uploaded to the contact's first name followed by the Medical Records and similarly for the other documents.
Check the GIF below for a quick walkthrough of these steps.

Here’s how our Move HubSpot Files action looks like -

## 7 - Test the Workflow
To test the workflow, create a new contact or use an existing contact’s email address to fill out the form. Upload the three documents: ID proof, insurance card, and medical history records. Wait for a minute for the workflow to execute. Refresh the page and you should see a folder named after the contact’s first and last name. Inside the parent folder, you will see the subfolders created and they will contain the uploaded files, all accessible from the CloudFiles Connected Folder widget in the middle.
The GIF below provides a visual guide for these steps.

---
# Selective File collection portal
https://help.cloudfiles.io/hubspot/selective-file-collection-portal
# Selective File collection portal
Tutorial on automating a conditional file collection portal (Dataroom) within external storage, linked to HubSpot records via the CloudFiles-HubSpot integration, using workflow actions to dynamically generate folders, subfolders, and file request blocks based on user selections.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, we will guide you in automating a conditional file collection portal within external storage, directly linked to HubSpot records using the CloudFiles-HubSpot integration. You'll learn how to dynamically generate parent folders, subfolders, and file request blocks based on user selections using CloudFiles workflow actions.
## What to Expect
By the end of this tutorial, you will be able to:
- Set up an automated file collection portal (Dataroom).
- Create conditional file request blocks that adjust dynamically based on the user’s selections in a multiple-checkbox property.
- Automatically generate a Parent Folder linked to a HubSpot record (e.g., a Deal).
- Configure a customized folder hierarchy, ensuring the right number of subfolders are created based on selected document types.
The GIF below demonstrates the final output. If you’re familiar with these concepts, you can complete this tutorial in under 10 minutes.

## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your Google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we will proceed to create deal-based workflow which will be triggered when a new deal is created and a multiple checkbox property called "Request Docs" is known. Here’s how our final workflow looks like. We will detail these elements in the sections below.

## 2 - Create a Multiple Checkbox Property
In the Deals object, create a multiple-checkbox property named "Request Docs". Add the following options: ID, Passport, KYC Docs, and Tax Statements. You can also arrange the options in your preferred order for better visibility.
Refer to the GIF below for a step-by-step walkthrough.

## 3 - Create Deal-based Workflow
Create a new deal-based workflow from scratch and select the trigger to fire when a new deal is created and the "Request Docs" property is known as shown in the GIF below.

## 4 - Create Parent Folder using ‘Create Folder’ Action
Create Folder action can be used to create folders in any location on any cloud storage platform from HubSpot flow action. We will use this action to first create the Parent folder in which sub-folders will be created automatically.
To use the “Create Folder” action, simply click on add button and search for ‘Create Folder’ as shown below. Once you add this action, it will ask you to fill in certain parameters.

This action requires a few parameters. The Library parameter is the desired Cloud storage where you wish to create the folder. Select the desired storage from the drop down field. The Folder name is the name you wish to give your created Folder. We have simply used the Deal’s name but you can also create a complex text formula variable as well.
We also need to enter values for Shared Drive ID & Path to Destination. These are -
- Shared Drive ID - This is important for google drive & sharepoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
- Path to Destination - This specifies the destination folder in which this new folder will be created.
These parameters can be easily copied from CloudFiles app library. Follow these steps -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to your CloudFiles storage.
- Under the libraries tab, navigate to folder where you would like to store your files or simply create new folder.
- Copy the parameter from the meta data on the right side of the screen.
Check the GIF below for a quick walkthrough of these steps.

For a detailed description of the Create Folder action, refer to the Create Folder detailed guide. Here’s how our final Create Folder action looks like -

## 5 - Show Parent Folder on Deal Record using ‘Create Attachment’ Action
The Create Attachment action is used to associate created folder to HubSpot records. Attaching (or associating) our created deal folder is important since this will enable us to see and operate on the folder contents right from the HubSpot record.
To use this action, simply click on add button and search for ‘Create Attachment’ as shown below. Once you add this action, it will ask you to fill in certain parameters. “Shared Drive ID” and “Library” parameters will be same as above.
The “Path to folder” will be the exact and full path of the newly created parent folder. You can simply copy from the meta data info in the CloudFiles Library using the same steps as specified in the shared drive ID section above.
Here’s how our final Create Attachment action looks like -

## 6 - Create Dataroom using ‘Create Dataroom’ action
A Dataroom is a file portal, where you can request files from your customers. We will use “Create Dataroom” action to create a file request portal where customers can upload their sensitive documents.
To use this action, simply click on add button and search for ‘Create Dataroom’ as shown below. Once you add this action, it will ask you to fill in certain parameters. “Name” is the name of dataroom that appears on the dataroom, “Description” is an optional field that can be used to give additional description for conveying more information.
To read more about this action, visit “Create Dataroom Action”. Refer to the GIF below to get a visual understanding of above steps.

This is how your final Create Dataroom action looks like -

## 7 - Show Dataroom on Record using ‘Create Attachment’ Action
The Create Attachment action can also be used to associate created dataroom to HubSpot records. To use this action, simply click on add button and search for ‘Create Attachment’ as shown below.
After you add this action, you will have to fill 3 parameters. For attaching a dataoom, Library parameter should always be ‘CloudFiles’. Resource type will be ‘Dataroom’ and Resource ID will be ‘New Dataroom ID’ derived from the output of previous create Dataroom action.
Here’s how our final Create Attachment action for Dataroom looks like -

Once the Dataroom is created and associated to the record, we will create file request block to request sensitive documents within the dataroom.
## 8 - Create shareable link for Dataroom using ‘Share Attachment’ action
The Share Attachment action enables you to share attachments using HubSpot workflows. Sharing an attachment is exactly the same as manually creating a sharing link of a file/folder/dataroom from the HubSpot record.
To use this action, simply click on add button and search for ‘Share Attachment’ as shown below. This action has only one parameter that can be set to specify the Attachment to be shared. You can derive this from the return value of previous Create Attachment action - ‘New Attachment ID’.
This is what the final Share Attachment action looks like -

## 9 - Set the sharing link to deal property using ‘Edit Record’ Action
In this step, we will set the link created in the last step to a deal property. For this, first create a single-line text property in the HubSpot Deal Settings. We created a property called ‘Dataroom Link’.
To set the shared link to the above property, we will use the Edit Record action. For the ‘Property to set’ parameter, we will choose 'Dataroom Link' and under 'Dataroom Link' parameter we will set it to the output ‘URL’ of the last action.
This is what the final Edit Record action looks like-

## 10 - Add Conditional Checks for Workflow Execution
The workflow now moves to evaluate branches by checking whether the Request Docs multi-select property contains "ID."
Here is a screenshot of the first branch-

### If "ID" is present:
### i - Create Sub-Folders using ‘Create Folder‘ Action
To create a sub-folder, we can simply use the same ‘Create Folder’ action that we used above with a couple of simple tweaks.
- Change the ‘Folder Name’ to reflect the sub-folder you want to create. We will create a subfolder names 'ID' within the Deal folder.
- Change the ‘Path to Destination’ to exact and full path to Parent folder name that we created in the previous action. This way, this new folder will get created inside the account’s folder we created previously.
Here’s how your Create Folder action should look like.

You can choose to have as many sub folders as you want. Simply duplicate the Create Folder action. You can also create sub-sub-folders and even deeper hierarchies using this method.
### ii - Create a File Request block using ‘Add to Dataroom’
The ‘Add to Dataroom’ action enables you to insert files, folders and file request blocks to your CloudFiles datarooms using a workflow. In this tutorial, We will use this action to create file request blocks for ID. You can add this action as many times as needed to request the required files.
To use this action, simply click on add button and search for ‘Add to Dataroom’ as shown below. Once you add this action, it will ask you to fill in certain parameters. “Shared Drive ID” and “Library” parameters will be same as above. For remaining parameters, refer below -
- Dataroom ID - New Dataroom ID derived from the output of the ‘Create Dataroom’ action
- Type - File Request
- Name - Name of documents requested as in this case I have added 'ID'
- Add to destination - Yes
- Path to destination folder - full and exact folder path of ID sub-folder created earlier
- Description (Optional) - Describe the requested documents
Here’s how Add to Datatoom action looks like -

### iii - Go to Action:
Even if 'ID' is selected from the multi-checkbox property, the workflow should still check whether 'Passport' is selected as well. This is why the 'Go to action' step is used—to ensure the workflow continues evaluating all selected options rather than stopping at the first match.
Now If "ID" is not present, the workflow directly goes to the Passport check branch.

### 2 - If "Passport" is present
### i - Create Sub-Folders using ‘Create Folder‘ Action
Just like we created a subfolder for ID, we will now create a subfolder for Passport using the ‘Create Folder’ action. Follow the same steps as before, ensuring that:
- Folder Name is set as 'Passport.'
- Path to Destination is the full and exact path of the parent folder created in the previous step.
Here’s how your Create Folder action should look like.

This ensures that the Passport subfolder is correctly placed within the designated parent folder.
### ii - Create a File Request block using ‘Add to Dataroom’
Just like we did for ID, we will now create a file request block for Passport using the ‘Add to Dataroom’ action. Follow the same steps as before, ensuring that:
- Dataroom ID is the same as derived from the ‘Create Dataroom’ action.
- Type is set to ‘File Request.’
- Name is set as ‘Passport.’
- Add to destination is set to ‘Yes.’
- Path to destination folder is the full and exact path of the Passport subfolder created earlier.
Here’s how Add to Datatoom action looks like -

This ensures that the requested Passport document is correctly placed in the designated folder. Refer to the GIF below for a visual walkthrough of this step.
### iii - Go to Action
Even if 'Passport' is selected, the workflow should still check whether 'KYC Docs' is selected as well. This is why the 'Go to action' step is used—to ensure the workflow continues evaluating all selected options rather than stopping at the first match.
Now, if 'Passport' is not present, the workflow directly moves to the KYC Docs check branch.

### 3 - If "KYC Docs" is present
### i - Create Sub-Folders using ‘Create Folder‘ Action
Just like we created a subfolder for Passport, we will now create a subfolder for KYC Docs using the ‘Create Folder’ action. Follow the same steps as before, ensuring that:
- Folder Name is set as 'KYC Docs.'
- Path to Destination is the full and exact path of the parent folder created in the previous step.
Here’s how your Create Folder action should look like.

This ensures that the KYC Docs subfolder is correctly placed within the designated parent folder.
### ii - Create a File Request block using ‘Add to Dataroom’
Just like we did for Passport, we will now create a file request block for KYC Docs using the ‘Add to Dataroom’ action. Follow the same steps as before, ensuring that:
- Dataroom ID is the same as derived from the ‘Create Dataroom’ action.
- Type is set to ‘File Request.’
- Name is set as ‘KYC Docs.’
- Add to destination is set to ‘Yes.’
- Path to destination folder is the full and exact path of the KYC Docs subfolder created earlier.
Here’s how Add to Datatoom action looks like -

This ensures that the requested KYC Docs document is correctly placed in the designated folder. Refer to the GIF below for a visual walkthrough of this step.
### iii - Go to Action
Even if 'KYC Docs' is selected, the workflow should still check whether 'Tax Statements' is selected as well. This is why the 'Go to action' step is used—to ensure the workflow continues evaluating all selected options rather than stopping at the first match.
Now, if 'KYC Docs' is not present, the workflow directly moves to the Tax Statements check branch.

### 4 - If "Tax Statements" is present
### i - Create Sub-Folders using ‘Create Folder‘ Action
Just like we created a subfolder for KYC Docs, we will now create a subfolder for Tax Statements using the ‘Create Folder’ action. Follow the same steps as before, ensuring that:
- Folder Name is set as 'Tax Statements.'
- Path to Destination is the full and exact path of the parent folder created in the previous step.
Here’s how your Create Folder action should look like.

This ensures that the Tax Statements subfolder is correctly placed within the designated parent folder.
### ii - Create a File Request block using ‘Add to Dataroom’
Just like we did for KYC Docs, we will now create a file request block for Tax Statements using the ‘Add to Dataroom’ action. Follow the same steps as before, ensuring that:
- Dataroom ID is the same as derived from the ‘Create Dataroom’ action.
- Type is set to ‘File Request.’
- Name is set as ‘Tax Statements.’
- Add to destination is set to ‘Yes.’
- Path to destination folder is the full and exact path of the Tax Statements subfolder created earlier.
Here’s how Add to Datatoom action looks like -

If "Tax Statements" is not present, the workflow directly ends without further action.
## 11 - Test the Workflow
Now that everything is set up, let's test the workflow. Create a new Deal in HubSpot and select the required documents under the Request Docs property. The workflow may take a few seconds to execute, so refresh the page if needed. Once processed, navigate to the CloudFiles Connected Folder widget in the middle, where you'll find a Deal folder automatically created along with subfolders corresponding to the selected document types.
The Dataroom link will also be available in the deal property. Click on the link to upload the requested documents. To verify, go back to the CloudFiles Connected Folder widget within HubSpot and check the internal folder, where the uploaded documents will be stored.
These steps have been illustrated in the GIF below for a better understanding -

---
# Selective Sub-Folder Sharing
https://help.cloudfiles.io/hubspot/selective-sub-folder-sharing
# Selective Sub-Folder Sharing
Learn how to automatically create parent and sub-folders for a HubSpot deal record and generate a shareable link to any specific subfolder using CloudFiles flow actions.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, we’ll walk you through the process of automatically creating folders and sub-folders in any external storage system, and how to directly share a link to any specific subfolder from a HubSpot record using the CloudFiles-HubSpot Integration. We’ll use CloudFiles flow actions to automate the creation of these folders and sharing links efficiently.
## What to Expect
By the end of this tutorial, you can expect to:
- Set up an automated parent folder for a HubSpot record (e.g., deal) upon its creation.
- Automatically create the desired number of subfolders within the parent folder.
- Attach these folders and subfolders to your HubSpot record.
- Generate a shareable link for any specific subfolder.
The GIF below demonstrates the expected outcome. If you're familiar with these concepts, you should be able to complete the tutorial in under 10 minutes.

## 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we will proceed to create deal-based workflow which will be triggered when a new deal is registered. Here’s how our final workflow looks like. We will detail these elements in the sections below.

## 2 - Create a Deal-based Workflow
Create a new deal-based workflow from scratch and select the trigger to fire when a new deal is created as shown in the GIF below.

## 3 - Create Parent Deal Folder using ‘Create Folder’ Action
The "Create Folder" action allows you to create folders in any location on any cloud storage platform directly from a HubSpot workflow. We'll use this action to first create the Parent folder, within which sub-folders will be automatically created.
To use the "Create Folder" action, click the "Add" button and search for "Create Folder". Once added, you'll need to fill in a few required parameters.
### Key Parameters:
- Library: This specifies the cloud storage where you want to create the folder. Select the desired storage from the drop-down field.
- Folder Name: Enter the name of the folder you want to create. You can use the Deal’s name or create a custom formula for the folder name.
The GIF below shows how to populate the Library and Folder Name parameters.

### Additional Parameters:
- Shared Drive ID: This is needed for Google Drive and SharePoint users only, as these platforms offer multiple "drives" where documents can be uploaded.
- Path to Destination: This indicates the folder where the new folder will be created.
### How to Copy the Parameters:
You can easily get the values for the "Shared Drive ID" and "Path to Destination" from the CloudFiles app library. Here’s how:
- Find the CloudFiles widget from any HubSpot record and click on CloudFiles. It will redirect you to your CloudFiles storage.
- Under the Libraries tab, navigate to the folder where you want to store your files or create a new one.
- Copy the parameter values from the metadata section on the right side of the screen.
Check the GIF below for a quick walkthrough of these steps.

For a detailed explanation of the "Create Folder" action, refer to the Create Folder detailed guide. Here's how our final "Create Folder" action looks:

## 4- Create Sub-Folders using ‘Create Folder‘ Action
To create sub-folders, we’ll use the same "Create Folder" action as before, with just a couple of simple adjustments.
- Change the "Folder Name" to the name of the sub-folder you want to create. For example, we’re creating "Shared Documents" and "Internal Documents" sub-folders inside our Deal folder.
- Update the "Path to Destination" with the exact, full path to the Parent folder created in the previous action.
Here’s how your second "Create Folder" action should look:

You can create as many sub-folders as needed by duplicating the "Create Folder" action. You can also create sub-sub-folders and even deeper hierarchies using this method.
## 5 - Show the sub-folders on Deal Record using ‘Create Attachment’ Action
The "Create Attachment Action" is used to link newly created Shared Documents and Internal Documents sub-folders to HubSpot records. Associating these sub-folders is crucial as it allows you to view and manage the sub-folder contents directly from the HubSpot record.
To use this action, click the "Add" button and search for "Create Attachment," as shown below. After adding this action, you’ll be prompted to fill in a few parameters. The "Shared Drive ID" and "Library" parameters will remain the same as mentioned previously.
The "Path to folder" should be the exact, full path of the subfolders you’ve created. You can easily copy this from the metadata in the CloudFiles Library, following the same steps as described in the Shared Drive ID section above.
Here’s how the final "Create Attachment" action should look:

## 6 - Create shareable link for the folder using ‘Share Attachment’ action
The "Share Attachment Action" allows you to share attachments through HubSpot workflows. This process is similar to manually creating a sharing link for a file, folder, or dataroom from a HubSpot record.
To use this action, click the "Add" button and search for “Share Attachment.” This action has a single parameter where you specify the attachment to be shared. You can get this attachment from the return value of the "Create Attachment" action of the Shared Documents folder - “New Attachment ID.”
This is what the final Share Attachment action looks like -

## 7 - Set the sharing link of the sub-folder to deal property using ‘Edit Record’ Action
In this step, we will link the URL created in the previous step to a deal property. To do this, first, create a new single-line text property in the HubSpot Deal Settings. We’ll name this property “Shareable Link.”
Next, we will use the “Edit Record” action to set the shared link to this property. For the "Property to set" field, select “Shareable Link.” Under the “Shareable Link” field, set the value to the “URL” output from the previous action.
The GIF below demonstrates how to configure the Edit Record action.

## 8 - Test the Workflow
Now that everything is set up let's test our workflow. Start by creating a new deal in HubSpot. The workflow may take a few seconds to execute, so you might need to refresh the page if necessary.
Once the workflow completes:
- Go to the CloudFiles Connected Folder widget in the middle. You should be able to see the sub-folders.
- Next, navigate to the properties section and look for the "Shareable Link."
- Copy the link and open it in a new window.
You can now share this link with your contacts, and they will be able to access the documents.
The GIF below demonstrates this process.

---
# Send secure collaterals using Email Verification
https://help.cloudfiles.io/hubspot/send-secure-collaterals-using-email-verification
# Send secure collaterals using Email Verification
Learn how to share marketing materials securely via the HubSpot-CloudFiles integration, covering both manual link sharing with email verification and automating the process end-to-end with workflows.
> Kind: Tutorial · Updated: Jun 4, 2026
In this tutorial, you'll learn how to share your marketing materials by generating secure links using the HubSpot-CloudFiles integration. We’ve covered both manual sharing and automating the entire process in just a few steps. We’ll guide you through each step to ensure your files are shared securely, making it easier to manage and track the distribution of important assets.
## What to Expect :
By the end of this tutorial, you can expect to -
- Learn how to generate secure, trackable links for your marketing materials.
- Use email verification to ensure only authorized recipients can access your files.
- Understand how to send files that require recipients to verify their identity before accessing the content.
- Discover how to monitor the status and activity of shared content for better tracking and follow-up.
The GIF below shows the expected output. If you have a basic grasp of these concepts, you can expect to finish the tutorial in under 5 minutes.

Let's start with the steps to manually share files securely, enabling you to control access and track downloads. Follow these steps to create your first secure link.
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

## 2 - Create a CloudFiles Link
CloudFiles links are secure, publicly shareable links that can be used to share your PDFs and other documents.
To create a CloudFiles link, go to any contact record in your system. Locate the CloudFiles Connected Folder Widget in the middle and click on the "Select Files/Folders" button. Next, choose the library where your files or folders are stored. Select the specific file or folder you want to share and create a shareable link.

## 3 - Configuring Security Settings
Once the link is created, you can configure the security settings. You can choose whether to enable or disable the downloading option for the file or folder. You can also set an expiry date for the link or decide after how many views it should expire. If needed, you can protect the file or folder by adding a password.

## 4 - Setting Up the Email Wall
To add an extra layer of security, you can put up an email wall. This will require viewers to provide their email address before accessing the file. If you need stronger protection, you can set up a hard email wall. This requires viewers to authenticate by logging in with their Google or Microsoft accounts, or they can request a temporary view code sent to their inbox.

## 5 - Restricting Access
You can control who can access your shared files. To allow specific people access, add their email addresses in the "Restrict to specific emails" section under the allow list. If there are individuals you want to block, add their email addresses in the block list. Similarly, you can restrict access based on specific domains.

If you already have a list of contacts in HubSpot, you can use the "Allow HubSpot Contact List" feature to quickly share the file with a specific list. This option can save time when managing large groups of contacts.
Once you have configured all the settings and restricted access as needed, simply copy the shareable link and send it to your intended viewers. This allows them to securely access the file or folder based on the permissions you’ve set. The GIF below shows the expected output.

## Automate File Sharing with Email Verification
Now that you’ve learnt manual sharing, let’s automate the process to save time and ensure secure, consistent file distribution. Follow these steps to set up your automated workflow.
### 1 - Pre-requisites
Before you start with the set-up, please ensure you have installed CloudFiles and connected it to your cloud storage of choice.
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Connect your storage
Login to your external storage of choice such as Google Drive, SharePoint etc. through the CloudFiles interface. This will give you instant access to your external files within HubSpot. The GIF below shows the steps quickly.
Check out Quick start for file connector in HubSpot for more information.

### Connect Automation User for Storage
In addition to installing CloudFiles in HubSpot, you also need to set an automation user for the workflow to work. This is the integration user that will be used by the workflow actions to pass files into the cloud storage.
To connect an automation user, simply head over to app.cloudfiles.io > Settings > Integrations > Google Drive and login through your google account. What is an 'Automation User' and how does it work? this article explains everything you need to know about the automation user, including what it is, why it's useful, and how it operates.

After connecting the desired storage, we will proceed to create contact-based workflow which will be triggered when a new contact is registered. Here’s how our final workflow looks like. We will detail these elements in the sections below.

### 2 - Create Contact-based Workflow
To set up a workflow that provides new contacts with access to a specific file, start by creating a contact-based workflow from scratch. Select the trigger to fire when a new contact is created as shown in the GIF below.

### 3 - Create Attachment
The Create Attachment action allows you to associate a file or folder to HubSpot records. To use it, search for "Create Attachment" and select the action. To use the “Create Attachment” action, simply click on add button and search for ‘Create Attachment’ as shown below.

Once you add this action, it will ask you to fill in certain parameters.The Library parameter is the desired Cloud storage where you wish to choose the file from. Select the desired storage from the drop down field.
We also need to enter values for Shared Drive ID & Path to Destination. These are -
- Shared Drive ID - This is important for Google Drive & SharePoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
- Path to file/folder - This specifies the destination of the file
These parameters can be easily copied from CloudFiles app library. Follow these steps -
- Find the CloudFiles widget from any HubSpot record, and click on CloudFiles. It will redirect you to your CloudFiles storage.
- Under the libraries tab, navigate to file
- Copy the parameter from the meta data on the right side of the screen.
Check the GIF below for a quick walkthrough of these steps.

Here's an example of how the completed Create Attachment action should look:

### 4 - Share Attachment
The Share Attachment action enables you to share attachments using HubSpot workflows. Sharing an attachment is exactly the same as manually creating a sharing link of a file / folder / dataroom from HubSpot record.
To use this action, simply click on add button and search for ‘Share Attachment’ . This action has only one parameter that can be set to specify the Attachment to be shared. You can derive this from the return value of the previous Create Attachment action - ‘New Attachment ID’.
This is what the final Share Attachment action looks like -

### 5 - Set the sharing link to contact property using ‘Edit Record’ Action
In this step, we will set the link created in the last step to a contact property. For this, first create a single-line text property in the HubSpot Contact Settings. We created a property called ‘Shareable Link’.
To set the shared link to the above property, we will use the Edit Record action. For the ‘Property to set’ parameter, we will choose 'Shareable Link' and under 'Shareable Link' parameter we will set it to the output ‘URL’ of the last action.
The GIF below shows the configuration for the Edit Record action.

### 6- Update Link Settings
The Update Link Settings action allows you to modify the settings of CloudFiles links created in your records. These settings include options for disabling downloads, setting expiration dates, and enforcing email verification, among others. This action is useful for applying security policies to your shared links.
In this step, we’ll update the URL of the attachment and enable email verification of the enrolled contact. First, choose a link under “Links to Update” — you can either select the latest link or all links used in the workflow. Next, decide whether to disable downloads by selecting “Yes” or “No” under “Disable Downloads.”
You can configure the link’s expiry date in the “Expires on” section and specify the time after which the link should expire. Alternatively, set the link to deactivate after a specified number of days in “Expires After (Number of days)” or after a desired number of unique views in “Expires After (Number of views).”
To add an extra layer of protection, you can set a password for the link by selecting “Yes” under “Update Link Password.” For collecting email addresses, choose “Yes” under “Requires Email for accessing the Link.” To enforce email verification, select “Yes” from “Enforce Email Verification” and under “Allowed Emails,” choose the property with access permissions. Here, I’ve selected the “Email” property of the enrolled contact.
Here's an example of how the completed Create Attachment action should look:

That’s it. Save and activate the flow. In the next section, we will test the workflow.
### 7 - Test the Workflow
Now that everything is set up, let’s test our flow. Simply create a new contact in HubSpot. The workflow may take a few seconds to execute, so refresh the page if needed. Navigate to the properties section and look for "Shareable Link." Copy the link and open it in a new window. Copy the email ID of the respective contact, and you will be able to access the file. This is shown in the GIF below -

---
## HubSpot: Document Sharing
---
# Document Sharing (Document Sharing)
https://help.cloudfiles.io/hubspot/document-sharing
# Document Sharing
Document Sharing by CloudFiles lets teams create secure share links for files, folders, and other shared content directly from HubSpot. It helps you control how content is accessed, apply branding and security settings, and track engagement without moving files out of their original storage location.
> Kind: Guide · Updated: Jul 8, 2026
Document Sharing by CloudFiles lets teams create secure share links for files, folders, and other shared content directly from HubSpot. It helps you control how content is accessed, apply branding and security settings, and track engagement from shared documents without moving files out of their original storage location.
Get started with these two key sections:
- Setup & Configuration - This section explains how to set up your account, how to use the setup wizard guide to generate secure links, license management and usage.
- Features - This section covers the main sharing capabilities in HubSpot, including file and folder sharing, link security, branding, analytics, and sharing-related automations.
---
# Setup & Configuration (Document Sharing)
https://help.cloudfiles.io/hubspot/Iccx-setup-and-configuration
# Setup & Configuration
The Document Sharing setup and configuration in CloudFiles defines how documents are sourced, shared, secured, and accessed within HubSpot. This article provides an overview of the key configuration areas involved in enabling and managing Document Sharing, with detailed instructions available in the individual articles.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Document Sharing setup and configuration in CloudFiles defines how documents are sourced, shared, secured, and accessed within HubSpot. This article provides an overview of the key configuration areas involved in enabling and managing Document Sharing, with detailed instructions available in the individual articles.
1. **Account Setup** — The Account Setup section covers the foundational configuration for Document Sharing. It includes enabling storage connections and defining global sharing settings such as branding, default link behaviour, compliance requirements, and viewer customisation, which apply across all newly created sharing links.
2. **Setup Wizard** — The Setup Wizard provides a guided approach to configuring Document Sharing. It walks users through connecting a library, creating a sharing link, configuring link settings, and optionally setting up a custom domain. Each step includes a video walkthrough to support accurate setup.
3. **License Management** — License Management controls user access to Document Sharing features. Admins can view license usage, invite users, assign roles, and manage the total number of Document Sharing licenses.
4. **Usage** — Usage view in Document Sharing provides visibility into how sharing activity consumes credits and storage. It covers the usage summary card, storage usage, feature usage metrics such as links created, datarooms, document views, and email interactions tracked, as well as historical usage trends, breakdown by flow action, and guidance on purchasing additional credit packs if needed.
---
# Account Setup (HubSpot: Document Sharing)
https://help.cloudfiles.io/hubspot/account-setup
# Account Setup
The Account Setup section for Document Sharing product helps you configure the foundational settings required to enable sharing, control access, and customize how shared documents appear to external viewers.
> Kind: Guide · Updated: Jun 4, 2026
The Account Setup section for Document Sharing product helps you configure the foundational settings required to enable sharing, control access, and customize how shared documents appear to external viewers. This article provides a high-level overview of the Connections page and Document Sharing settings.
## Connections Settings
The Connections settings determines where documents can be sourced from for sharing. From this page, you can enable one or more supported cloud libraries for Document Sharing, including:
- CloudFiles Library
- Google Drive
- OneDrive
- SharePoint
- Dropbox
- Box
- Microsoft Teams
- HubSpot
Once enabled, files from the selected libraries become available for creating shareable links. You can toggle libraries on or off at any time and save changes instantly.

## Document Sharing Settings
The Document Sharing settings section allows you to control branding, default link behavior, compliance requirements, and viewer experience. These settings apply across all newly created sharing links. Below is a brief overview of each available tab:
### Branding
The Branding tab lets you customize how your shared links represent your company. Here, you can configure your website URL, upload a logo, and set a branded subdomain or custom domain for sharing links.

### Link Defaults
The Link Defaults tab defines the default behavior for all newly created document links. You can control whether links are online by default, allow downloads, and set expiration rules to manage access automatically.

### Compliances
The Compliances tab helps you meet privacy and regulatory requirements. It allows you to enable end-user consent, customize consent statements, and add your privacy policy URL, which is shown to viewers when accessing shared documents.

### Viewer Customisation
The Viewer Customisation tab controls the end-user viewing experience. From here, you can enable HubSpot tracking, configure login options for viewers, and adjust the default theme and interface behavior of the document viewer.

---
# Branding
https://help.cloudfiles.io/hubspot/branding
# Branding
Through the Branding settings, CloudFiles allows you to fully white-label your document viewer by adding your company logo, website, and a custom domain or subdomain for all shared CloudFiles links.
> Kind: Guide · Updated: Jun 4, 2026
Through the Branding settings, CloudFiles allows you to fully white-label your document viewer by adding your company logo, website, and a custom domain or subdomain for all shared CloudFiles links. These settings are available under the Document Sharing tab within Document Sharing settings and help you deliver a consistent, professional, and brand-aligned experience to your viewers.

To white-label your CloudFiles Document Viewer with your company website and custom domain, you'll need to purchase an Enterprise license. This process involves the following steps:
## Accessing the Branding settings page
In order to set your custom branding & domain, you need to be logged in with your admin account. This is detailed in the steps given below -
- Go to https://app.cloudfiles.io and sign in with your admin email.
- Click the Document Sharing tab on the top navigation bar.
- From the left sidebar, open Settings and select Document Sharing.
- Select branding among the tabs.
Follow the steps shown in the GIF to set up your custom branding and domain.

## Adding Website
Add your company website here; this is used to fetch the favicon displayed in the links. This setting allows you to display your website’s favicon on all shared CloudFiles links. If no favicon is added, CloudFiles will use its default icon.

## Adding Logo
This setting allows you to display your own logo on shared links, replacing the default CloudFiles logo. The example below shows how your logo will appear in the top left of the viewer.
Once you have followed these steps, your CloudFiles previews & links should start showing your favicon & logo. Even your old links would update.
For example, if your logo is "iDEMO" and your domain is "idemo.com," so, once you've completed the steps, they will appear as follows:

## Adding Subdomain
Create a unique CloudFiles subdomain to brand your shared links. Enter your preferred name to generate links such as yourname.cloudfiles.to.

## Adding Custom Domain
In order to add your custom domain, you first need to map CloudFiles with your DNS provider. This process is called CNAME mapping and is usually handled by IT teams in large organizations. Although the steps may change based on the DNS provider, here are the main steps to be followed. If you are not the IT admin, it is best to get them involved so they can easily understand and implement these
- Go to your DNS provider where yourdomain.com DNS is purchased from.
- Open the DNS settings
- Create a new record with type CNAME
- For that record, host = the subdomain name you want. This can be anything that you like, for example - docs, files etc.
- For value, add cname.cloudfiles.io
- For TTL select 5 minutes. Your new sub-domain will become accessible after this much time.
Once the CNAME Mapping is done, you can add the custom domain through the setting provided in the Branding section. Follow the steps below in order to do the same.
- Click on the Configure button to initiate the process, this will result in prompting a input to add your custom domain, click Continue once you have added the domain. Refer to the image given below for further explanation.

- Once you have clicked "Continue", the system will attempt to configure your domain. If the domain is successfully configured you will see "Active" state. You may get "Missing Configuration" state otherwise, as shown in the image below.

Once you have configured everything, click on the "Update" button.
### How does custom domain affect current links?
After the CNAME mapping is completed on our side, your links will update. Your old links will continue to work but won't redirect to the new links. CloudFiles keeps the link slug same but replaces the prefix. E.g. https://cloudfiles/slug will become https://docs.yourdomain.come/slug
---
# Link Defaults (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/link-defaults
# Link Defaults
Link Default Settings define how newly created CloudFiles links behave by default, covering General Settings (status, download, expiry, notifications, updates) and Security Settings (password policy, require email) for shared documents.
> Kind: Guide · Updated: Jun 4, 2026
Link Default Settings define how newly created CloudFiles links behave by default. These settings are available under the Link Default tab from the Document Sharing settings of the Document Sharing Product Tab. These settings help you control access, security, and viewer interactions across all shared documents in your workspace. Link Settings are grouped into two categories:
- General: General Settings determine the default behaviour and interaction rules for your links.
- Security: Security Settings define the protection and access requirements for newly created links.

## General Settings
General Settings control the basic behaviour of your links and how recipients can interact with shared files.

### Status
This option allows you to set the default availability of all newly generated links. When the status is set to Online, the link is active and accessible to viewers immediately upon creation. Turning it offline prevents access until you manually enable it.

### Download
This setting determines whether viewers are allowed to download the file from the shared link. When downloading is enabled, recipients can save a local copy. If disabled, the file can only be viewed through the CloudFiles viewer, providing an extra layer of control and security.

### Expiry
Expiry lets you set an automatic limit on how long a link remains accessible. You can choose to disable a link after a specific number of views or after a certain number of days. Once the limit is reached, CloudFiles automatically disables the link to prevent further access.

### Notifications
This setting controls how often you are notified about viewer activity. You can choose to receive a notification on the first view, a notification on every view, or no notifications at all. This helps you stay informed about engagement without overwhelming your inbox.

### Updates
This option allows viewers to subscribe to updates on the file. When enabled, anyone accessing the link can opt in to receive notifications whenever the shared file is updated or replaced. This is useful for documents that change frequently or require ongoing recipient awareness.

## Security Settings
Security Settings help enforce access policies and safeguard sensitive documents shared through CloudFiles links.

### Password Policy
This section defines the password requirements for your team members when they create password-protected links. You can enforce rules such as minimum and maximum password length, required uppercase characters, lowercase characters, numbers, and symbols. These policies ensure that all link passwords meet your organisation’s security standards.

### Require Email
Determines whether viewers must enter their email address before opening the link. CloudFiles offers three ways to require an email address before someone can access a shared file. These options help improve accountability, track engagement, and control who can view your documents.
### Email Collection (Soft Gated Link)
With soft-validation, your client will need to enter an email address to access the file. Please note that this email is not verified by CloudFiles (that's why the name soft-validation). If you require email verification, refer to the Hard Validation feature below.
### Email Authentication (Hard Gated Link)
With hard-validation, your client will need to enter and verify an email address to access the file. Verification can be done in a number of ways. Client can either login through Google or Microsoft account or they can get a one-time verification code on their email.
### Restrict Access to List of Emails / Domains
With email access control you can create a list of email ids, that can or cannot access your documents. Along with this you can also block access to email ids from viewing your document. This applies equally well to complete domains as well.

Once you have configured everything, click on the "Update" button.
---
# Compliances
https://help.cloudfiles.io/hubspot/compliances
# Compliances
The Compliance section helps you meet legal, regulatory, and organisational data-protection requirements when sharing documents through CloudFiles.
> Kind: Guide · Updated: Jun 4, 2026
The Compliance section helps you meet legal, regulatory, and organisational data-protection requirements when sharing documents through CloudFiles. These settings allow you to control how end-user information is collected and ensure that your privacy notices are clearly communicated to viewers. All compliance configurations set here apply as defaults to every newly created link.
The following tutorial on Data Consent and Privacy Notice will guide you through the complete setup.

## End User Data Collection Consent
This setting enables a consent prompt that appears before viewers submit any personal information, such as their email address. When turned on, users must explicitly agree to the provided statement before they can proceed. This is particularly important for teams that must comply with consent-based regulations or whenever transparency around data handling is required.
### Consent Statement
You can customise the message shown in the consent prompt. This statement should explain what information is being collected, why it is needed, and how it will be used. Using clear and concise language ensures viewers understand exactly what they are agreeing to. The text you provide here is shown to viewers each time they access a link requiring consent.

## Privacy Policy
This option allows you to add your organisation’s privacy policy URL. The link appears at the bottom of the CloudFiles viewer, giving recipients direct access to detailed information about data practices. Including your privacy policy promotes openness and supports compliance with internal and external data-protection standards.

Once you have configured everything, click on the "Update" button. By configuring these compliance settings, you ensure that every shared link aligns with your organisation’s privacy expectations and provides viewers with the clarity they need when sharing their information.
---
# Viewer Customisation
https://help.cloudfiles.io/hubspot/viewer-customisation
# Viewer Customisation
Viewer Customisation settings let you control how the CloudFiles document viewer behaves and appears to your audience, including HubSpot tracking, login options, default theme, and IP tracking.
> Kind: Guide · Updated: Jun 4, 2026
Viewer Customisation settings allow you to control how the CloudFiles document viewer behaves and appears to your audience. These settings are available under the Document Sharing settings of the Document Sharing Product Tab. These settings help you tailor the viewing experience, manage authentication methods, and enhance tracking based on your business needs. Here are the settings available in this section:
- HubSpot Tracking Code – Enables HubSpot tracking so you can measure viewer engagement inside HubSpot.
- Viewer Login Options – Lets you choose how viewers authenticate before accessing your documents.
- Viewer Default Theme – Sets whether the viewer opens in light or dark mode by default.
- Track IP – Allows CloudFiles to record the IP address of viewers for additional visibility and auditing.

## HubSpot Tracking Code
This option allows you to embed your HubSpot tracking code directly into the CloudFiles viewer. When enabled, viewer interactions become trackable within HubSpot, helping you measure engagement and gain deeper insights into how users interact with your shared content. If needed, you can also enable HubSpot private content, which ensures that tracking works even when the content is protected behind HubSpot’s private access model.

## Viewer Login Options
These settings define the login methods viewers can use before accessing your shared documents. You can enable multiple options, including Email, Google, and Microsoft, giving your audience flexibility while ensuring you capture verified viewer information.

## Viewer Default Theme
This option allows you to control whether your document viewer uses a light or dark theme by default. Selecting Light or Dark defines the initial appearance for all viewers, though users may still switch modes if allowed. Setting a default theme helps you maintain brand consistency or accommodate preferences for readability.

## Track IP
Track IP enables CloudFiles to capture the IP address of each viewer who opens your link. This provides additional visibility into viewer location and access behaviour, which may be valuable for auditing, security monitoring, or compliance processes. When disabled, CloudFiles will not record any IP information.

Once you have configured everything, click on the "Update" button. By configuring these viewer customisation settings, you can create a consistent, branded, and insight-driven viewing experience that aligns with your organisation’s access, tracking, and presentation standards.
---
# Setup Wizard (HubSpot: Document Sharing)
https://help.cloudfiles.io/hubspot/MHzA-setup-wizard
# Setup Wizard
The Document Sharing Setup Wizard helps you configure CloudFiles to securely share files and folders from HubSpot.
> Kind: Guide · Updated: Jun 4, 2026
The Document Sharing Setup Wizard helps you configure CloudFiles to securely share files and folders from HubSpot. It guides you through the essential steps required to connect your storage, generate shareable links, control access, and optionally brand your links with a custom domain.

Each step in the wizard includes an embedded video walkthrough, making it easier to understand and complete the setup with visual guidance.
## Accessing the Setup Wizard
You can access the Document Sharing setup wizard from the Document Sharing tab in the CloudFiles app from the left-hand side bar. A progress tracker on the left shows how many steps are completed and how many remain, allowing you to continue the setup at your own pace.
The wizard consists of four guided steps:
### Step 1: Connect Your Library
This step determines where your shared files will be stored.
If you already have a Document Management license, you can connect supported external storage platforms such as Google Drive, SharePoint, OneDrive, etc. If you only have a Document Sharing license, CloudFiles uses the built-in CloudFiles library by default. For more information, read Connecting External Storage Accounts.
Once enabled, the selected libraries become available for uploading and sharing files. A short video is available in this step to demonstrate how to enable and save library connections.

### Step 2: Create a Sharing Link
After your library is connected, you can create shareable links for files or folders.

This step walks you through uploading or selecting a file, opening the share option, and generating a trackable sharing link. Once created, the link can be copied and shared externally.
### Step 3: Configure Link Settings
This step allows you to customise how your sharing links behave and who can access them. You can control download permissions, set expiration dates, enable view notifications, and apply security settings such as password protection or email verification. These options help ensure your documents are shared securely and only with the intended audience.

### Step 4: Set Up a Custom Domain
For teams on the Enterprise plan, CloudFiles allows you to brand shared links with your own domain. In this step, you configure a custom subdomain by updating DNS settings and validating the domain within CloudFiles. Once active, all newly created sharing links will use your branded domain, improving trust and consistency when sharing documents externally.

### Completion and Progress Tracking
As each step is completed, the wizard marks it accordingly and updates your overall progress. You can revisit any step later if changes are needed, and videos remain available for reference at all times.
The Document Sharing Setup Wizard ensures that CloudFiles is configured for secure, trackable, and branded document sharing directly from HubSpot. By following the guided steps and using the built-in videos for additional clarity, you can quickly enable sharing, control access, and deliver a professional experience to recipients.
---
# License Management (HubSpot: Document Sharing)
https://help.cloudfiles.io/hubspot/Xxo3-license-management
# License Management
The License Management section for Document Sharing allows admins to control which users can access the CloudFiles sharing features.
> Kind: Guide · Updated: Jun 4, 2026
The License Management section for Document Sharing allows admins to control which users can access the CloudFiles sharing features. Admins can view license usage, manage user access, invite new users, and adjust the total number of available Document Sharing licenses.
Each CloudFiles product has its own license configuration, and changes made under Document Sharing apply only to sharing-related functionality.
CloudFiles also supports Partner Seats, allowing organizations to invite external implementation partners or HubSpot agencies with limited, dedicated access.
## Accessing Document Sharing License Management
Document Sharing licenses can be managed from Settings → License Management in CloudFiles. At the top of the page, select the Document Sharing tab to view licenses specific to this product. The Document Sharing Licenses page provides a centralised view of license availability and user access.

At the top of the section, a summary indicates how many Document Sharing licenses are available. Below this, the user table lists everyone associated with the Document Sharing product.

### User List and License Status
The user table displays the following details for each user:
- Name and Email, which identify the user.
- License Status, showing whether the user’s Document Sharing license is Active or Inactive.
- Role defines the user’s level of access. CloudFiles supports three roles:
- Admin – Can manage licenses, invite users, and configure the account.
- User – Can access the products assigned to them.
- Partner – Intended for external implementation partners or agencies. Partner users can access only the CloudFiles account they were invited to.
> **Note** — Partner Seats are currently available by request. If you’d like to enable Partner Seats for your CloudFiles account, contact our support team.

Users with an Active license can access Document Sharing features, while users marked as Inactive do not have access until a license is assigned. Users with the Admin role can manage licenses, invite new users, and add new licenses.
### Inviting Users to Document Sharing
The "Invite User" option allows admins to invite new users to CloudFiles with access to the Document Sharing product.
When inviting a user, the admin specifies the email address and assigns a role. Once the invitation is accepted, an active Document Sharing license is automatically assigned if one is available. Invitations that have not yet been accepted appear under pending invitations, allowing admins to track outstanding invites.

### Inviting a Partner
If Partner Seats are enabled for your CloudFiles account, admins can invite external implementation partners or HubSpot agencies with a dedicated Partner role.
Partner users are intended for external collaborators who help configure or manage the CloudFiles account on behalf of your organization.
When inviting a Partner:
- Only external email addresses can be invited.
- A Partner Seat must be available.
### Updating Roles and License Status
Admins can directly update a user’s role and license status from the License Management table. Each user entry includes editable fields that allow quick adjustments without leaving the page.
Using the edit (pencil) icon, admins can change a user’s role between Admin and User, depending on the required level of access.

Similarly, the license status can be toggled between Active and Inactive, giving admins control over whether a user currently has access to the Document Sharing product.

### Managing Document Sharing Licenses
The "Manage Licenses" option allows administrators to control the total number of Document Sharing licenses.
When selected, a modal opens where the license count can be increased or decreased. The modal displays the current number of licenses in use along with the updated total after changes are made. Once confirmed, the updated license count becomes immediately available for assignment.

License Management for Document Sharing gives admins clear visibility and control over who can access sharing features in CloudFiles. By managing licenses, roles, and invitations from a single screen, teams can ensure that document sharing is secure, controlled, and aligned with their subscription.
> **Note** — Partner Seats are managed separately from standard product licenses. They do not count toward your purchased license total.
### Deleting a User
Admins can permanently remove a user from the CloudFiles account directly from the License Management screen.

This action cannot be undone. When a user is deleted, they are completely removed from the CloudFiles account and will no longer have access to any CloudFiles products. Any files, folder, Datarooms, shared link or other resources owned by the user are automatically reassigned to the admin initiating the delete action. This ensures that existing resources remain accessible and no data is lost after the user is removed.
---
# Usage (HubSpot: Document Sharing)
https://help.cloudfiles.io/hubspot/aF9K-usage
# Usage
The Document Sharing usage view provides visibility into how sharing activity consumes credits and storage, and how documents are accessed and engaged with.
> Kind: Guide · Updated: Jun 4, 2026
The Document Sharing usage view provides visibility into how sharing activity consumes credits and storage, and how documents are accessed and engaged with. It combines usage tracking with engagement-related metrics to help monitor document sharing behaviour.
## Accessing Document Sharing Usage
To access the Document Sharing usage view:
- Open the CloudFiles app in HubSpot.
- Select Document Sharing from the top navigation bar.
- From the left sidebar, click Usage.

### Sections Available in the Usage View
The usage view is divided into multiple sections that provide insight into billing usage, storage consumption, feature activity, and historical trends related to document sharing.
## Usage Summary Card
The Usage Summary Card provides an overview of credit usage for the current billing cycle. It displays the billing cycle date range, total credits consumed so far, remaining credits, and the number of days left before the cycle resets. This section helps monitor how sharing activity impacts available credits.

### Purchasing Additional Credits
If your usage exceeds the included limits in your current plan, you can purchase additional credit packs as an add-on.
### Document Sharing Pack
| Plan | Price/ month | Views/ month | Tracked emails/ month | Datarooms/ month |
|---|---|---|---|---|
| Small Pack | $10 | 1,000 | 100 | 25 |
| Medium Pack | $75 | 10,000 | 1,000 | 250 |
| Large Pack | $500 | 100,000 | 10,000 | 2500 |
These add-ons allow you to extend limits on Views,Datarooms and emails tracked even during periods of higher usage. Additional limits are applied to your account immediately and are consumed in the same way as your existing plan limits.
## Storage Usage Card
The Storage Usage Card shows how CloudFiles storage is being utilised. It displays the total storage available under your plan, the amount of storage currently used, and the remaining available storage. This section helps track storage consumption as files and datarooms are created and shared.

## Feature Usage Metrics
The Feature Usage Metrics section provides a summary of key sharing and engagement activity. It shows the total number of links created, the number of datarooms created, aggregate document views across shared content, and the number of email interactions tracked. These metrics provide a high-level view of document sharing and engagement.

## Historical Usage Analysis
The Historical Usage Analysis section visualises document sharing usage over time. You can select predefined time ranges such as Last Year or Last 180 Days, or use a Custom Date Range for targeted analysis. Usage data can be displayed using Bar or Line graphs to understand trends and fluctuations in sharing activity.

## Filters
Filters allow you to refine the historical usage data. Usage can be grouped by interval, including Daily, Weekly, or Monthly views. Actions can also be filtered to focus on specific sharing operations, such as Create Attachment or Create Link. These filters help isolate specific sharing behaviours.
## Breakdown by Flow Action
The Breakdown by Flow Action section shows how sharing-related automation credits are consumed across individual actions. It displays total credits consumed per action and the relative contribution of each action to overall usage. This helps identify which sharing workflows drive the highest credit consumption.

---
# Features (Document Sharing · HubSpot)
https://help.cloudfiles.io/hubspot/features
# Features
The Document Sharing features in CloudFiles help teams share content securely from HubSpot while controlling access, branding, and engagement visibility. These articles covers the key capabilities available when sharing files, folders, and datarooms with external recipients.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Document Sharing features in CloudFiles help teams share content securely from HubSpot while controlling access, branding, and engagement visibility. These articles covers the key capabilities available when sharing files, folders, and datarooms with external recipients.
- File and Folder Sharing: This article explains how to create shareable links for individual files and folders, how shared content is viewed in the CloudFiles viewer, and how branding applies to the sharing experience.
- Link Settings and Security: This article overs the controls available on shared links, including online/offline access, download permissions, expiry rules, notifications, password protection, email verification, and allow/block lists.
- Dataroom Management: This article describes how datarooms are used to share multiple files and folders through a single link, organise content into groups, collect documents through file requests, and manage ongoing updates.
- Engagement & Analytics: This article explains how CloudFiles tracks views, downloads, time spent, and session-level engagement for shared content, and how this data is surfaced inside HubSpot for reporting and follow-up.
- Automations: This article outlines the workflow actions available for Document Sharing, including creating and managing datarooms, generating share links, updating link settings, moving files, retrieving attachment details, and updating resource permissions.
---
# File and Folder Sharing
https://help.cloudfiles.io/hubspot/file-and-folder-sharing
# File and Folder Sharing
CloudFiles provides link-based sharing for files and folders stored in connected external storage, letting users control access, downloads, expiry, and branding directly from HubSpot.
> Kind: Guide · Updated: Jun 4, 2026
CloudFiles provides link-based sharing for files and folders stored in connected external storage. Sharing is managed directly from HubSpot and allows users to control access, downloads, expiry, and branding while keeping files in their original storage location.
This article explains the following:
- Link Creation for Files and Folders – Explains how shareable links are created and configured for individual files and entire folders.
- File Viewer – Describes how recipients access and view shared files and folders through the CloudFiles viewer.
- Custom Branding Overview – Provides an overview of how branding applies to shared links and previews.
## Link Creation for Files and Folders
CloudFiles supports link creation for both individual files and entire folders. Once the file or the folder has been associated with the App Card, links are created inside HubSpot from the Actions menu available for each file or folder.
When a link is created, CloudFiles generates a secure URL that opens the selected file or folder in the CloudFiles viewer on sharing. Links must be set to Online before they can be accessed externally.

The Link Settings and Security screen allows users to control how the content can be accessed. Users can enable or disable downloads, define when the link should expire, and choose whether expiry is based on a specific date and time or a maximum number of views. Read more about
The same link creation and configuration experience applies to both files and folders.
## File Viewer
All shared content opens in the CloudFiles File Viewer. The viewer runs in the browser and does not require recipients to sign in or install additional software.
For file links, the viewer displays the selected document and enforces the permissions defined during link creation, including download restrictions and expiry rules.

For folder links, the viewer displays the folder structure and lists all files available within that folder. Recipients can preview individual files based on the access rules applied to the folder link.

The viewer reflects the active branding and domain configuration applied to the account at the time the link is accessed.
## Custom Branding Overview
CloudFiles allows organisations to apply custom branding to shared links and the File Viewer. This includes using a custom logo, favicon, and domain instead of CloudFiles defaults. Custom branding is available on the Enterprise plan. Branding applies uniformly across all shared files and folders and affects both new and existing links.
Detailed setup instructions are available in the Custom Branding & Domain configuration article.
---
# Link Settings and Security
https://help.cloudfiles.io/hubspot/link-settings-and-security
# Link Settings and Security
CloudFiles link-level controls let teams manage access, downloads, expiry, notifications, and security for shared files and folders without moving them out of storage.
> Kind: Guide · Updated: Jun 4, 2026
While creating links for files or folders, CloudFiles provides detailed link-level controls to manage access, security, downloads, and expiry. These settings allow teams to control who can access shared content, how it can be accessed, and when access should end, without moving files out of their original storage.
This article explains the following sections:
- Access Controls – Explains how link availability and viewer access are managed.
- Download Settings – Describes how downloading shared content can be allowed or restricted.
- Expiry Settings – Explains how and when links expire based on time or views.
- Notification settings - are also available to control when the link owner is informed about link views.
- Security Settings – Describes authentication, password protection, and access restrictions.
## Access Controls
Access to a shared file or folder is controlled using the Online toggle available in the Get Link modal. When a link is set to Online, the link is active and can be accessed by anyone who has the URL, subject to the security settings applied. When the link is set to Offline, the link is immediately disabled and cannot be accessed, even if the URL is shared.

The Get Link modal also provides options to copy the link and preview it before sharing. These actions do not affect access permissions but allow users to validate link behaviour.

## Download Settings
The Download settings control whether recipients are allowed to download the shared file or files within a folder.

When downloading is enabled, recipients can download the file directly from the CloudFiles viewer. For folder links, downloading applies to individual files based on the same setting. When downloading is disabled, recipients can only view the content in the CloudFiles viewer. Download buttons are hidden, and files cannot be saved locally through the viewer. Download restrictions are enforced consistently across all supported file types.

## Expiry Settings
Expiry settings define when a shared link should stop working automatically. Links can expire based on a specific date and time or after a defined number of views. When both conditions are configured, the link expires as soon as the first limit is reached.

Once a link expires, it becomes inaccessible and behaves the same as a link that has been set offline. Expired links can be reactivated by updating the expiry settings. Expiry settings apply equally to file and folder links.
## Notification Settings
Notification settings control when the link owner is notified about link activity. Users can choose to receive notifications only when a link is viewed for the first time, receive notifications for every view, or disable notifications entirely.

These settings apply to both file and folder links and do not affect link access or security behaviour. Notifications are informational and are intended to provide visibility into link engagement.
## Security Settings
Security settings are configured from the Security tab in the Get Link modal and provide additional control over who can access the shared content.
- Password protection allows the link to be secured with a password. Recipients must enter the correct password before accessing the content.
### To enable password protection on a link:
- Select the file, folder, or data room you want to protect from the App card/sidebar widget, then click Share.
- Go to the Security tab in the Get Link modal.
- Turn on the "Protect with password" option, enter the password you want to use, and save.
Once set, anyone opening the link will be prompted to enter this password before they can view the content. The password can be updated or removed at any time, even after the link has already been shared.

- Email-based access restricts link access to verified email addresses. When enabled, recipients must enter their email address before viewing the content. Email verification can be enforced to ensure access is granted only after verification.
Allow and block lists can be used to explicitly permit or deny access to specific email addresses or email domains. These restrictions apply even if the user has the correct link and password.

- CloudFiles also supports restricting access based on HubSpot contact lists. When enabled, only contacts included in the selected HubSpot list can access the link.

All security settings apply immediately and affect both existing and future link access.
---
# Dataroom Management
https://help.cloudfiles.io/hubspot/dataroom-management
# Dataroom Management
Datarooms in CloudFiles are structured containers used to share multiple files and folders and to collect documents from external users through a single link.
> Kind: Guide · Updated: Jun 4, 2026
Datarooms in CloudFiles are structured containers used to share multiple files and folders and to collect documents from external users through a single link. Each dataroom is associated with a HubSpot record and provides controlled access, organisation, and visibility for all included content.
This article explains the following sections:
- What is a Dataroom? – Describes the purpose and behaviour of datarooms in CloudFiles.
- Creating and Sharing a Dataroom Link – Explains how a dataroom link is generated, activated, and shared.
- Organising Dataroom Content – Describes how groups, folders, and files are structured within a dataroom.
- File and Folder Sharing – Explains how shared content behaves inside a dataroom.
- File Requests – Describes how datarooms are used to collect documents from external users.
- Editing and Maintaining Datarooms – Explains how dataroom content and settings can be updated.
- Dataroom Analytics – Describes how dataroom usage and engagement are measured.
## What is a Dataroom?
A dataroom is a centralised space that aggregates files, folders, and file request blocks under a single shareable link. It is designed to reduce the need for multiple individual links and to present related content in a single, organised view.

Datarooms are created within HubSpot using the Sidebar widget and remain linked to the HubSpot record where they were created. This Associations ensure that all shared and collected documents remain contextually connected to the relevant CRM object. Any structural or content changes made to a dataroom are reflected immediately for all users accessing the dataroom link.
## Creating and Sharing a Dataroom Link
A dataroom link is generated automatically when a dataroom is created. This link serves as the single access point for viewing and interacting with all content included in the dataroom.

Before sharing, the dataroom link must be set to an active state. Once active, the link can be copied and shared externally. Link Settings and Security can also be applied to the dataroom.
The same dataroom link remains valid even as files, folders, or file requests are added, removed, or reorganised. A new link is not required when content changes.
## Organizing Dataroom Content
Content inside a dataroom is organised using a combination of groups. Groups are used to create logical sections within the dataroom. They help segment content based on purpose, stage, or category and control the order in which content appears to external users.

Folders retain their original structure from the connected storage location and can be placed within groups. Files can be added directly or through folders and can be reordered within a group. All organizational changes are reflected immediately in the dataroom viewer without affecting the dataroom link.
## File and Folder Sharing in Datarooms
Files and folders are added to the datarooms from the Content Library . Once added, they become part of the dataroom and are accessible through the dataroom link. Access to files and folders is governed by the dataroom link settings. These settings determine whether content can be viewed, downloaded, or accessed after expiry.

When a file is updated in its original storage location, the updated version is automatically reflected in the dataroom, ensuring recipients always see the most recent version.
## File Requests in Datarooms
File requests allow datarooms to collect documents from external users in a structured manner. A file request defines a specific upload requirement within the dataroom. When recipients access the dataroom link, they see clearly defined upload areas corresponding to each file request. Uploaded files are stored automatically in the destination folder configured for the request. This ensures that collected documents are placed in the correct storage location without manual intervention.

File requests can be added, edited, or removed at any time. Changes take effect immediately and apply to all users accessing the dataroom link.
## Editing and Maintaining Datarooms
Datarooms can be edited after creation to add or remove files, folders, groups, and file request blocks. Dataroom link settings, including access controls, security restrictions, expiry rules, and notifications, can be updated without generating a new link. All edits are reflected in real time for anyone accessing the dataroom.

## Dataroom Analytics
CloudFiles provides analytics for dataroom links to track usage and engagement. Analytics include information such as link views and interactions with content within the dataroom. These metrics help understand how recipients are engaging with shared materials. Dataroom analytics are accessible from the dataroom actions menu and are associated with the dataroom link.
You can find more information on analytics in the Engagement & Analytics article.

---
# Engagement & Analytics
https://help.cloudfiles.io/hubspot/engagement-and-analytics
# Engagement & Analytics
CloudFiles provides engagement and analytics capabilities to track how shared files, folders, and datarooms are accessed and interacted with inside HubSpot.
> Kind: Guide · Updated: Jun 4, 2026
CloudFiles provides engagement and analytics capabilities to track how shared files, folders, and datarooms are accessed and interacted with inside HubSpot. When a file is shared, CloudFiles renders it in the CloudFiles viewer. This rendering enables accurate tracking of views, downloads, time spent, and detailed interaction data.
All analytics data is surfaced within HubSpot, which can be accessed from records and also used in automations, reporting, and dashboards.
This article explains the following sections:
- Document Analytics in HubSpot – How CloudFiles tracks and records engagement data.
- Analytics Modal – What information is available in the analytics dialogue.
- Understanding Engagement Metrics and Drill-Down Analytics - Metrics tracked for files, folders, and datarooms and how session-level and page-level data is structured.
- Extended Tracking and Reporting- Capabilities such as how engagement is tracked for files shared via email, how to create dashboards using analytics data in HubSpot reports and how the tracking code enhances attribution and visibility..
- Additional Analytics Features – Export, notifications, and subscriptions.
## Document Analytics in HubSpot
CloudFiles converts the file into an online viewable format, such as PDF or Microsoft Excel and renders it for the client when the link is accessed. It can track file opens, total views, unique views, downloads, total time spent viewing content, and page-level interaction data. These metrics are captured consistently for files, folders, and datarooms.

All engagement data is pushed to HubSpot and associated with the relevant records. This data can be viewed directly on records, referenced in workflows, and used for reporting.
### Analytics Modal
Analytics for files, folders, and datarooms are displayed using the Analytics modal in HubSpot. The modal can be opened from the CloudFiles App card, sidebar widget or from the activities section if the CloudFiles Timeline Activities are enabled.
The Analytics modal provides a consolidated view of engagement data for a specific file, folder, or dataroom. The modal displays summary statistics, page-wise engagement data, and session-level details. Users can drill down into individual sessions to understand how content was accessed and how long it was viewed.
The modal also provides controls to export analytics data and to delete analytics where required.
### Understanding Engagement Metrics and Drill-Down Analytics
CloudFiles analytics provide visibility into how recipients interact with shared files, folders, and datarooms. Engagement metrics summarise overall interaction with the content, while drill-down analytics provide session-level and page-level details for deeper analysis.
The sections below explain each metric and data point shown in the analytics view and how it should be interpreted.

### Views
Represents the total number of times the file, folder, or dataroom link was opened. Multiple opens by the same viewer are counted as separate views.
### Sessions
A session represents a single continuous viewing activity by a viewer. If the same viewer opens the link again later, a new session is recorded.
### Downloads
Shows the total number of times the file was downloaded by viewers. This metric is recorded only when downloads are enabled for the link.
### Total Time
Indicates the cumulative time spent by all viewers across all sessions. This includes time spent viewing each page within the document.
### Time Spent per Page
Displays the amount of time viewers spent on each page of the document. This helps identify which pages of the document received the most attention.
### Session List
Provides a breakdown of individual viewing sessions for the link. Each session shows when the content was accessed and how long it was viewed.
### Last Viewed On
Shows the most recent date and time the content was accessed. This is updated whenever a new viewing session occurs.
### Viewer Location
Indicates the approximate geographic location of the viewer based on IP data. Location is captured at the session level and may vary between sessions.
### Session Time Spent
Shows the total time spent in (hh: mm: ss) during a specific viewing session. This value reflects active engagement within that session only.
## Extended Tracking and Reporting
This section covers additional analytics capabilities that extend document engagement tracking beyond individual link views.
### Email Tracking
CloudFiles tracks engagement for files shared through HubSpot emails when attachments are added using CloudFiles. Engagement with email attachments is tracked using the same analytics model as link-based sharing. Views, downloads, and time spent are recorded and associated with the relevant HubSpot contact or record.
This allows document engagement from emails, sales sequences, and campaigns to be analyzed alongside other CloudFiles analytics. Read E-mail Attachment Tracking for more information on this.
[Watch video](https://www.youtube.com/watch?v=dWOQmREAo7k)
### Dashboarding and Reporting
CloudFiles custom object in HubSpot can be used to track and analyse file views. Reports can be further created to analyse engagement trends, document performance, and usage across files, folders, and datarooms. Reports can be added to dashboards to provide aggregated visibility into document engagement for teams and stakeholders.

### HubSpot Tracking Code
CloudFiles also supports embedding the HubSpot tracking code into CloudFiles viewer pages. When enabled, document views are associated with HubSpot tracking cookies, UTMs, and campaign attribution data. Anonymous views can later be linked to contacts once identification occurs. The tracking code is enabled at the account level and is applied automatically to all CloudFiles viewer pages.

### Related HubSpot Capabilities
CloudFiles pushes analytics-related events to HubSpot, such as the CloudFiles: File Viewed event. These events appear on record timelines and can be used in workflows, lists, and automation logic. To automate processes based on File related activities, read All CloudFiles Events and All CloudFiles Properties .

Link personalization parameters allow recipient information to be passed directly within the link. When used with HubSpot personalization tokens, this enables ungated tracking while still associating analytics with the correct contact.
When a custom domain connected to HubSpot is used, CloudFiles can read and write to the HubSpot tracking cookie, enabling enhanced attribution and association of anonymous views.
## Additional Analytics Features
Analytics data can be exported directly from the Analytics modal in HubSpot for offline analysis. CloudFiles can send email notifications when files are viewed. Notification frequency can be controlled through link settings and admin-level defaults.

---
# Automations (HubSpot: Document Sharing)
https://help.cloudfiles.io/hubspot/automations
# Automations
CloudFiles workflow actions help share documents with clients and automatically collect files into the correct cloud storage folders.
> Kind: Guide · Updated: Jun 4, 2026
CloudFiles workflow actions help share documents with clients and automatically collect files into the correct cloud storage folders. Files submitted through HubSpot forms can also be moved directly to cloud storage, with security permissions set automatically and records kept in sync, along with several other automation capabilities.
Each action is explained with its purpose, configuration, outputs, and examples to show how it can be used in real scenarios.
## Create Dataroom Action
This action is used to create a secure dataroom (a shareable file portal) directly from a HubSpot workflow. A dataroom lets you organise files and folders from connected cloud storage, share them via a single link, and collect documents from external users using file request blocks.

### Configuration:
- Enter the name of the dataroom, which appears as the title of the dataroom.
- Optionally provide a description to give more context about the dataroom.

### Output:
The action returns a dataroom ID, which can be used in subsequent steps (for example, attaching the dataroom to the record or adding content).
### Example:
A service team wants to collect compliance documents from new clients. When a deal reaches the “Pending Compliance” stage in HubSpot, the workflow automatically creates a dataroom named “Client Compliance Upload Portal” and attaches it to the deal record. This dataroom link can be shared with the client so they can upload required files securely (e.g., signed contracts and certificates). Once documents are uploaded, they can be stored in the desired f
To learn more about this action, read the full article on Create Dataroom Action.
## Add to Dataroom Action
This action is used to add files, folders, or file request blocks to an existing dataroom from a HubSpot workflow. It allows you to populate a dataroom with relevant documents from connected cloud storage or collect files from external users in one secure place.

### Configuration:
- Provide the Dataroom ID where the content should be added. This is usually obtained from a previous Create Dataroom action.
- Choose whether you want to add existing content (files or folders) or a file request block.
- If adding content, select the storage library and provide the path to the file or folder you want to include. If required, specify the Drive ID for storage systems like Google Drive or SharePoint.

- If adding a file request block, enter a name and optional description, and define where uploaded files should be stored.

### Output:
The action returns a status message, either success or failure, indicating whether the content or file request block was added to the dataroom successfully.
### Example:
A customer success team uses a dataroom to manage onboarding documents for new clients. When a deal moves to the “Onboarding” stage in HubSpot, the workflow automatically adds a Getting Started Guide.pdf and a Product Documentation folder to the dataroom. A file request block titled “Upload Signed Contract” is also added so customers can securely upload their documents directly to the correct storage location.
To learn more about this action, read the full article on Add to Dataroom Action
## Delete Dataroom Action
This action is used to delete an existing dataroom through a HubSpot workflow. When executed, it removes the dataroom and any files that were received but not already transferred to external cloud storage. Files that have been moved or synced to connected storage are not deleted by this action.

### Configuration:
- Provide the Dataroom ID of the dataroom you want to delete, which is typically obtained from a previous Create Dataroom action, Get Attachment Details action, or stored in a record property.

### Output:
The action returns a status message, either success or failure, depending on whether the dataroom was deleted successfully.
### Example:
A support operations team wants to automatically clean up datarooms when a deal is marked “Closed–Lost.” A workflow uses the stored Dataroom ID associated with the deal to trigger the Delete Dataroom action. When the deal stage changes, the workflow runs this action and removes the associated dataroom, ensuring that temporary file portals are closed and unused spaces are removed without manual work.
To learn more about this action, read the full article on Delete Dataroom Action .
## Get Attachment Details Action
This action is used to retrieve detailed information about one or more attachments that are already associated with a HubSpot record. Attachments are files, folders, or datarooms linked to a record and shown in the App card or as tiles in the sidebar widget. The returned details can then be used in automations and downstream actions.

### Configuration:
- Choose whether to fetch details for only the latest attachment or for all attachments associated with the triggering record.

### Output:
This action returns multiple values that can be used in later steps of your workflow, including:
- Action Status — success or failure.
- Attachment ID — internal ID for the attachment.
- URL Slug — the slug of the generated CloudFiles URL.
- URL — the complete CloudFiles link.
- Cloud Storage URL — the link to the file/folder in cloud storage.
- Resource ID — internal ID of the file, folder, or dataroom associated with the attachment.
- Name — name of the associated resource (with extension for files).
- Type — whether the resource is a file, folder, or dataroom.
- Status — status of the attached resource.
### Example:
A sales operations team wants to automate a follow-up email that includes a link to an important document already attached to a deal. When a deal enters the “Negotiation” stage, the workflow uses this action to fetch details of the latest attachment on the deal record. The returned URL is then used to generate a personalised email with the correct document link, ensuring that prospects always receive the most relevant attachment.
To learn more about this action, read the full article on Get Attachment Details Action
## Get Resource Property Action
This action is used to retrieve the external URL and various metadata for a specific file or folder stored in your connected cloud storage (e.g., Google Drive, SharePoint, OneDrive, Box, Dropbox) directly from a HubSpot workflow.

### Configuration:

- Specify the Library where the file or folder is stored (e.g., SharePoint, Google Drive, Dropbox).
- Provide the Path to Resource -> the full slash-separated path to the file or folder in the cloud storage.
- Choose the Property to Get -> the name of the resource attribute you want to retrieve (e.g., externalUrl, name, size, date).
### Output:
The action returns multiple values, including:
- Action Status — success or failure.
- Value — the property retrieved in the format requested (string, number, Boolean, date/time).
### Example:
A sales operations team wants to include a publicly shareable link to an important contract stored in Google Drive in a deal record. In a workflow triggered when a deal reaches “Contract Sent,” the Get Resource Property action pulls the externalUrl of the contract file. The returned URL is then written into a deal custom property and used in automated follow-up emails so that customers always receive the correct link without manual lookups.
To learn more about this action, read the full article on Get Resource Property Action
## Move HubSpot Files Action
This action is used to move files uploaded to HubSpot (for example, via forms or record attachments) into a connected cloud storage system such as Google Drive, SharePoint, OneDrive, Box, or Dropbox. It helps you automatically organise HubSpot files into structured folders outside HubSpot.

### Configuration:

- Select the HubSpot file property that contains the file link(s) you want to move (commonly a form upload property).
- Choose the destination storage library where the files should be moved.
- Provide the destination folder path in the selected storage, using a slash-separated format.
Optionally provide a file name to rename the file during the move. If left empty, the original file name is retained.
### Output:
The action returns a status message indicating success or failure, along with the final file name and the full path where the file was moved.
### Example:
A marketing team collects documents through a HubSpot form. When a form submission is received, a workflow automatically moves the uploaded file from HubSpot into a deal-specific folder in SharePoint. The file is renamed using the record name (for example, “Nimbus Corp – NDA.pdf”), ensuring all submitted documents are stored in the correct location without manual downloads or uploads.
To learn more about this action, read the full article on Move HubSpot Files Action
## Share Attachment Action
This action is used to generate a secure, shareable CloudFiles link for an attachment (file, folder, or dataroom) associated with or linked to a HubSpot record. It allows you to programmatically share attachments through workflows without manually creating links.

### Configuration:

- Provide the Attachment ID of the file, folder, or dataroom you want to share.
- This ID is typically obtained from a previous action, such as Create Attachment Action or Get Attachment Details Action .
### Output:
The action returns a status message along with a CloudFiles share link, including both the full URL or the URL slug. These values can be used in subsequent workflow actions or communications.
### Example:
A support team attaches a troubleshooting guide to a HubSpot ticket via the App Card or the sidebar widget. When the ticket owner updates the ticket status to “Waiting on Customer,” a workflow automatically generates a CloudFiles share link for the attachment and sends it to the customer. This ensures the customer always receives the correct support document without agents manually creating links.
To learn more about this action, read the full article on Share Attachment Action.
## Update Link Settings Action
This action is used to update the access and security settings of existing CloudFiles share links (for files, folders, or datarooms) through a HubSpot workflow. It allows you to automatically control who can view a link, how long it remains active, and what actions viewers are allowed to take.

### Configuration:

Choose whether the settings should be applied to the latest shared link or to all links associated with the record.
Enable or disable download and print access for the shared resource.
Set an expiry condition based on a specific date or a maximum number of views.
Optionally require viewers to enter and verify their email address before accessing the link.
Optionally restrict access by allowing only specific email addresses or domains.
### Output:
The action returns a status message indicating whether the link settings were updated successfully.
### Example:
A customer success team shares onboarding documents with new customers using CloudFiles links. When a "welcome email is sent" from HubSpot, a workflow automatically updates the link settings to require email verification and limit the link to 10 views. This ensures only the intended recipient can access the documents and prevents links from being reused or forwarded.
To learn more about this action, read the full article on Update Link Settings Action
## Update Resource Permissions Action
This action is used to update who can access a file or folder stored in your connected cloud storage directly from a HubSpot workflow. It allows you to automatically grant or remove access for specific users and control whether they can view or edit the resource.

### Configuration:

- Select the storage library where the file or folder is located.
- Provide the full path to the file or folder whose permissions you want to update.
- Choose whether you want to grant access or revoke access.
- If granting access, select the permission level (view or edit).
- Enter one or more email addresses whose access should be updated. Tokens and record-based emails can be used.
### Output:
The action returns a status message indicating whether the permissions were updated successfully.
### Example:
A customer success team maintains a shared onboarding folder in SharePoint for each customer. When a new stakeholder email is added to the account record, a workflow automatically grants view access to the folder for the new contact. At the same time, access for removed stakeholders can be revoked, ensuring that only the right people have access to customer documents at all times.
To learn more about this action, read the full article on Update Resource Permissions Action .
---
## HubSpot: Document Generation
---
# Document Generation (Document Generation · HubSpot)
https://help.cloudfiles.io/hubspot/document-generation
# Document Generation
CloudFiles Document Generation integrates with HubSpot to help you create, customize and automate creation of documents using HubSpot CRM data. With support for Microsoft Word, Excel and PowerPoint, you can generate documents directly from HubSpot record pages or automate through HubSpot workflows.
> Kind: Guide · Updated: Jul 8, 2026
## Introduction
CloudFiles Document Generation integrates with HubSpot to help you create, customize and automate creation of documents using HubSpot CRM data. With support for Microsoft Word, Excel and PowerPoint, you can generate documents directly from HubSpot record pages or automate through HubSpot workflows.
This guide provides a complete overview of setting up CloudFiles Document Generation in HubSpot and understanding the key features available to streamline your document generation workflows.
Get started with these two key sections:
- Setup and ConfigurationThis section walks you through setting up CloudFiles Document Generation in HubSpot. It covers connecting your CloudFiles account, adding the Document Generation widget to HubSpot record pages, installing and configuring the Microsoft Office Add-in, managing licenses and completing the setup wizard to ensure everything is ready for use.
- FeaturesThis section highlights the core features of CloudFiles Document Generation in HubSpot, including template-based document creation, dynamic data merge from HubSpot records, Documents generation and integrations with tools like DocuSign for eSignatures.
---
# Setup and Configuration
https://help.cloudfiles.io/hubspot/setup-and-configuration
# Setup and Configuration
The Setup and Configuration section guides you through setting up CloudFiles Document Generation in your HubSpot, enabling automated creation of your documents. CloudFiles add-in supports Microsoft Word, Excel and PowerPoint, allowing you to create templates directly within these applications and generate output as PDF or in the original template file format, depending on where the template was created.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Setup and Configuration section guides you through setting up CloudFiles Document Generation in your HubSpot, enabling automated creation of your documents. CloudFiles add-in supports Microsoft Word, Excel and PowerPoint, allowing you to create templates directly within these applications and supports template-based document generation in.pdf and in their original template file formats-.docx,.pptx or.xlsx-depending on where the template is created.
This section is divided into six key sub-sections -
- Document Generation Setup Wizard: In this article, we cover how the Document Generation setup wizard guides you through the initial configuration process, including connecting the CloudFiles Office add-in, preparing templates, enabling document generation on HubSpot records and validating document generation.
- Adding Widget to Record Page: In this article, we cover how to add CloudFiles Document Generation widget in HubSpot record pages. It allows users to select templates directly from HubSpot records and generate documents.
- CloudFiles Office Add-In setup: In this article, we cover how to install the CloudFiles Word Add-in and connect it to your CloudFiles account to begin designing HubSpot-enabled document templates
- Account Setup: In this article, we cover the Document Generation account in CloudFiles, including managing published templates, reviewing template details and version history and setting up integrations such as DocuSign for e-signature funtionality.
- License Management: In this article, we cover how administrators can manage user access for CloudFiles products by assigning roles, inviting users, tracking license usage and controlling the total number of licenses available for each product.
- Usage Dashboard: In this article, we cover the Document Generation Usage Dashboard to monitor how documents are generated across templates and HubSpot users. This helps teams track adoption, understand usage patterns and ensure that document generation stays within expected limits.
---
# Document Generation Setup Wizard
https://help.cloudfiles.io/hubspot/document-generation-setup-wizard
# Document Generation Setup Wizard
The Document Generation Setup Wizard helps you configure CloudFiles to generate documents directly from HubSpot CRM data.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Document Generation Setup Wizard helps you configure CloudFiles to generate documents directly from HubSpot CRM data. It walks you through connecting the CloudFiles Office add-in, preparing document templates, enabling document generation on HubSpot records and generating documents from published templates.
The wizard is designed to be completed in sequence, ensuring all required components are correctly configured. However, individual steps can be revisited at any time if changes are needed.
## Accessing the Setup Wizard
The setup wizard can be accessed from the Document Generation section within the CloudFiles app using the left-hand sidebar.
A progress indicator displayed alongside the wizard shows completed and pending steps, allowing you to easily track setup status and resume configuration where needed.

## Setup Wizard Overview
The Document Generation setup wizard consists of 4 steps, each addressing a setup detail for enabling document generation within HubSpot.
### Step 1: Install and Connect the CloudFiles Add-in
This step ensures the CloudFiles Office Add-In setup is completed and connected to your CloudFiles account. The add-in is required to create and manage document templates in Word, Excel or PowerPoint using HubSpot CRM data.
Once connected, you can create and access templates and make them available for document generation inside HubSpot.
### Step 2: Create and Publish a Template
In this step, you create document templates that define the structure and content of generated documents. Templates can include dynamic fields, images, conditional logic and data pulled from HubSpot records. We covered in detail on creating and publishing templates in section- Design Studio
After you complete the template setup and save it, the template is published to CloudFiles and can be used for document generation.
### Step 3: Add the Document Generation Widget to HubSpot Records
This step enables the Document Generation widget on HubSpot record pages. The widget allows users to access published templates directly from Supported HubSpot Objects such as Contacts, Companies, Deals etc.
Once added, document generation widget becomes part of your HubSpot record experience.
### Step 4: Generate a Document
The final step verifies that Generating Documents is working as expected. Users can select a published template from the widget and generate documents using live HubSpot record data. Generated documents are immediately available for download.
## Completion and Progress Tracking
Each completed step is visually marked in the setup wizard and the progress indicator updates accordingly. You can complete the setup in one session or return later to finish or review individual steps.
In the upcoming articles, we’ll cover the CloudFiles Document Generation setup in detail, with step-by-step guidance for completing each stage of the setup wizard
---
# Adding Widget to Record Page
https://help.cloudfiles.io/hubspot/adding-widget-to-record-page
# Adding Widget to Record Page
CloudFiles Document Generation is used to generate PDFs and original file format (DOCX/PPTX/XLSX) documents using HubSpot data, and integrates directly within HubSpot record pages.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
CloudFiles Document Generation is used to generate PDFs and in original file formats-DOCX/PPTX/XLSX documents using HubSpot data. It integrates directly within HubSpot record pages, displaying all published templates related to a specific object. Users can select a template, generate and download the document. This functionality relies on the CloudFiles Word Add-in, which is used to design and manage document templates with HubSpot fields and must be connected to your HubSpot instance for full functionality.
This article explains the following -
- Configuring the Widget: You’ll learn how to add the CloudFiles Document generation widget to your HubSpot records
- Working with Templates. You’ll discover how to generate documents from displayed templates within the widget
## Configuring the Widget
The CloudFiles Document Generation widget can be easily added to any of standard object's record page in HubSpot. Once added, this widget will display all the published templates related to that object. Users can then generate documents which will be automatically downloaded upon generation.
- Navigate to any HubSpot record and click on "Customize view" located in the top-right corner.
- From the menu, select "Default view".
- Click the "+" button to create a new tab or add the widget to the existing tab.
- Assign a name to the tab if any. For example, you can name it "CloudFiles Doc Gen" for easy identification.
- Click on the "+" button again to open the Card Library and select CloudFiles Document Generation.
- Next, click on "Add Card" to add the widget to the existing/ new tab.
For visual understanding, refer to the video below -
[Watch video](https://youtu.be/vU2uvQn5VKY)
## Working with Templates
Once the CloudFiles Document Generation widget is added to a HubSpot record page, users can begin generating documents directly from the list of published templates. The widget automatically identifies the object type of the record (Contact, Company, Deal, Ticket, etc) and displays only the templates mapped to that object.
Each template entry displays:
- Template Name
- Download Options (PDF and Template's file formats- DOCX/.XLSX/.PPTX)

In next article, You'll learn about CloudFiles Office Add-In setup, which is required to create and manage document templates.
---
# CloudFiles Office Add-In setup
https://help.cloudfiles.io/hubspot/cloudfiles-office-add-in-setup
# CloudFiles Office Add-In setup
The CloudFiles Office add-in integrates CloudFiles with HubSpot, letting users create and design templates incorporating HubSpot CRM data directly from Microsoft Word, Excel, or PowerPoint.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The CloudFiles Office add-in facilitates the integration of CloudFiles with your HubSpot instance, enabling you to create and design templates that incorporate HubSpot CRM data. This powerful tool streamlines the process of merging HubSpot data into documents, making it easier to generate consistent and accurate templates directly from Microsoft Word, Microsoft PowerPoint, Microsoft Excel. Once installed, your users can build dynamic templates, insert HubSpot fields and publish templates directly to CloudFiles for document generation in HubSpot.
> A valid Microsoft account is necessary to complete the installation successfully and access the CloudFiles add-in.
## Installing the CloudFiles Word Add-in
To add CloudFiles Word add-in to your Microsoft Word account, start by launching Microsoft Word, Excel or PowerPoint on your PC or in web browser. Then follow the steps below:
- Navigate to the "Home" tab and click on "Add-ins" to explore available options.
- In the Add-ins window, select "+ More Add-ins" to open the "Office Add-ins" window, then click on "Microsoft AppSource" to be redirected to appsource.microsoft.com.
- In the search bar, type "CloudFiles" and browse the results to locate the CloudFiles Add-in.
- Click "Get it now" to install the add-in. Once the installation is complete, open Word to check the new add-in.
- In the "New Office Add-in" sidebar, click "Allow and Continue" to launch the CloudFiles Word add-in, ensuring it's ready for use with your HubSpot data.
Refer to the video below to have a visual understanding of these steps -
[Watch video](https://youtu.be/0Kzyf8FzEhI)
> Since the CloudFiles add-in is linked to your Microsoft account, once installed in one application (Word, Excel or PowerPoint), it will automatically be available in the other two.
## Connecting Your CloudFiles Account to the Word Add-in
After installing the CloudFiles Word add-in, the next step is to connect your CloudFiles account. This connection allows the Office add-in to access your HubSpot data, pull in mapped properties and publish templates directly from Microsoft Word.
Follow the steps below to complete the setup:
- Open Microsoft Word and navigate to the Add-ins section.Launch the CloudFiles add-in from the available options to begin the authentication process.
- Choose HubSpot as the data source
- On the signin page, enter your CloudFiles Login credentials or sign in using your Google or Microsoft account and follow the on-screen instructions to complete authentication.
- Once successfully signed in, you can start designing document templates directly in Word, Excel or PowerPoint, embedding HubSpot fields for dynamic data merge.

> **Note** — When signing in using email and password, use your CloudFiles login credentials. Do not use your HubSpot credentials.
---
# Account Setup (HubSpot: Document Generation)
https://help.cloudfiles.io/hubspot/siAS-account-setup
# Account Setup
The Document Generation Account Setup section in CloudFiles provides a centralized view for managing document templates, configuring integrations, and tracking usage.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Document Generation Account Setup section in CloudFiles provides a centralized view for managing document templates, configuring integrations and Usage . From this area, admins can review published templates, track template versions, Usage analytics and connect to DocuSign to enable e-signature functonality.
## Account Setup
The Document Generation section within the CloudFiles app includes three tabs:
- Templates
- Integrations
- Usage
### Managing Templates
The Templates tab provides an overview of all document templates published in CloudFiles.For each template, you can view key details such as the HubSpot object template is associated with, the user who created the template, the date it was created, and its current version information. This overview makes it easy to understand how templates are being used across different HubSpot records.
### Template Actions
Using the three-dot menu next to a template, users can:
- View version history
- Download the template
- Delete template

### Version History
The Version History view provides a detailed record of all versions published for a template. Each version can be individually downloaded, allowing teams to review or restore earlier versions when needed.

## Integrations
The Integrations tab allows you to configure and manage DocuSign integration for document generation.
CloudFiles supports integration with DocuSign to enable e-signature functionality within document generation workflows. Once a DocuSign account is connected, it is used for all document signing operations initiated through CloudFiles.
The Integrations tab displays:
- DocuSign connection status
- Connected DocuSign user details

In section- eSignature Integration, we covered about how to setup Docusign account and e-sign field integrations.
## Usage
The Usage tab provides analytics to help you monitor how CloudFiles Document Generation product is being used across your account. It gives visibility into document generation activity, template usage and overall user consumption.
You can view usage data across multiple predefined time periods and these flexible time filters allow you to analyze trends and patterns over time, making it easier to track growth, identify high-usage templates or users and review activity during specific periods.

---
# License Management (HubSpot: Document Generation)
https://help.cloudfiles.io/hubspot/xTAp-license-management
# License Management
The License Management section in CloudFiles allows administrators to control user access to CloudFiles products.
> Kind: Guide · Updated: Jun 4, 2026
The License Management section in CloudFiles allows admins to control access to the Document Generation product. From this page, admins can view active users, assign roles, invite new users, and manage the total number of licenses available for the product.
Each CloudFiles product — Document Management, Document Generation, and Document Sharing — has its own license configuration, which can be managed independently.
CloudFiles also supports Partner Seats, allowing organizations to invite external implementation partners or HubSpot agencies to help configure and manage their CloudFiles account. Partner seats do not consume the organization's purchased licenses and are available when enabled for the account.
## Accessing License Management
License Management can be accessed from Settings in CloudFiles by selecting License Management from the left-hand menu.
The License Management screen provides a consolidated view of all users associated with the Document Generation product. At the top of the page, product tabs allow you to switch between Document Management, Document Generation, and Document Sharing. Any changes made apply only to the selected product.

Below the tabs, the Document Generation Licenses section displays the current license status, including the number of licenses available and the list of users assigned to this product.
### User List and License Details
The user table shows all users who have access to Document Generation. For each user, the following information is displayed:
- Name and Email ID of the user.
- License Status indicates whether the license is active or inactive.
- Role defines the user's level of access. CloudFiles supports three roles:
- Admin – Can manage licenses, invite users, and configure the account.
- User – Can access the products assigned to them.
- Partner – Intended for external implementation partners or agencies. Partner users can access only the CloudFiles products licensed by the account and do not consume paid user licenses.
> **Note** — Partner Seats are currently available by request. If you’d like to enable Partner Seats for your CloudFiles account, please contact the CloudFiles Support team.
### Inviting a User
Clicking "Invite User" opens a dialogue that allows admins to invite new users to CloudFiles.
In the New Invites view, the admin enters the user's email address and selects a role, either User or Admin. Once the invitation is sent, the user receives an email invitation to join CloudFiles. If a license is available, an active license is automatically assigned after the invitation is accepted.

The Pending Invitations view shows users who have been invited but have not yet accepted their invitation, helping admins keep track of outstanding invites.
### Inviting a Partner
If Partner Seats are enabled for your CloudFiles account, admins can invite external implementation partners or agencies using the Invite Partner option.
Partner users are intended for external collaborators who help configure or manage the CloudFiles account on behalf of the organization. Unlike regular users, Partner users do not consume the account's purchased licenses.
When inviting a Partner:
- Only external email addresses can be invited.
- A Partner Seat must be available.

### Updating Roles and License Status
Admins can directly update a user's role and license status from the License Management table. Each user entry includes editable fields that allow quick adjustments without leaving the page.
Using the edit (pencil) icon, admins can change a user's role between Admin and User, depending on the required level of access.

Similarly, the license status can be toggled between Active and Inactive, giving admins control over whether a user currently has access to the Document Generation product.

### Managing Licenses
The Manage Licenses option allows admins to control the total number of Document Generation licenses available.
When selected, a modal opens where the admin can increase or decrease the number of licenses using the plus/minus controls. The modal also displays the current number of licenses in use and the updated total after changes are applied.

Selecting "Confirm Changes" updates the license count, making new licenses immediately available for assignment.
License Management in CloudFiles provides admins with full visibility and control over access to the Document Generation product. By managing users, roles, invitations, and license counts from a single screen, teams can ensure secure access to documents while scaling usage as needed.
> **Note** — Partner Seats are managed separately from standard product licenses. They do not count toward your purchased license total and are excluded from billing calculations.
### Deleting a User
Admins can permanently remove user from the CloudFiles account directly from the License Management screen.

This action cannot be undone. When a user is deleted, they are completely removed from the CloudFiles account and will no longer have access to any CloudFiles products. Any files, folder, Datarooms, shared link or other resources owned by the user are automatically reassigned to the admin initiating the delete action. This ensures that existing resources remain accessible and no data is lost after the user is removed.
---
# Usage Dashboard
https://help.cloudfiles.io/hubspot/usage-dashboard
# Usage Dashboard
The Document Generation usage view helps you monitor how many documents generated using CloudFiles document generation and automations credits consumed over time.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Document Generation usage view helps you monitor how many documents generated using CloudFiles document generation and automations credits consumed over time. It provides visibility into usage in current billing period, historical trends and how usage is distributed across templates and HubSpot users.
## Accessing Document Generation Usage
To access the Document Management usage view:
- Open the CloudFiles app for HubSpot.
- Select Document Generation tab in the top navigation bar.
- From the left sidebar, click Usage.

## Sections Available in the Usage View
The usage view is divided into multiple sections that provide an overview of usage in current billing period, historical usage trends and a detailed breakdown of how many documents are generated by template and HubSpot users. Each section focuses on a specific aspect of document Generation usage.
### Usage Summary Card
The Usage Summary Card displays a snapshot of usage for the current billing cycle.
It shows the billing cycle start and end dates, the total number of credits consumed so far, the remaining credits available, and the number of days left before the billing cycle resets. This section helps you quickly assess whether current usage is within expected limits.

### Purchasing Additional Credits
If your usage exceeds the included limits in your current plan, you can purchase additional credit packs as an add-on.
Document Generation Pack
| Plan | Price/ month | Documents/ month |
|---|---|---|
| Small Pack | $10 | 100 |
| Medium Pack | $75 | 1,000 |
| Large Pack | $500 | 10,000 |
These add-ons allow you to continue generatedocuments without interruption, even during periods of higher usage. Additional limits are applied to your account immediately and are consumed in the same way as your existing plan limits.
### Historical Usage Analysis
The Historical Usage Analysis section visualises how document management usage changes over time.

Usage can be viewed across predefined time ranges, such as Today, This week, This Year or Last 180 Days. A Custom Date Range selector is available for more precise analysis. Usage data can be displayed using Bar or Line graphs to identify trends, spikes, and periods of low activity.

### Breakdown by Document Templates
The Breakdown by Document Template section shows how usage is distributed across individual document templates used in document generation.
It displays the total number of documents generated using each template. This helps identify which templates are most frequently used in document generations

### Linked Records by HubSpot User
This section groups usage data by HubSpot users. It shows which users are most frequently triggering document generation actions, either manually or through workflows.
This helps you understand how document generation is being used across your team and identify which users or teams contribute most to overall usage

---
# Features (Document Generation · HubSpot)
https://help.cloudfiles.io/hubspot/194e-features
# Features
CloudFiles Document Generation provides a complete set of capabilities to design, populate, generate from HubSpot CRM data. The Features section of the documentation walks through each stage of the document lifecycle, from template creation to data handling, generation and eSignature.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
CloudFiles Document Generation provides a complete set of capabilities to design, populate, generate from HubSpot CRM data. The Features section of the documentation walks through each stage of the document lifecycle, from template creation to data handling, generation and eSignature.
This section is organized into five key subsections, each covering a core part of the CloudFiles workflow.
- Design Studio: In this section we focus on building and managing document templates using the CloudFiles Office Add-in. It explains how to create templates in Word, Excel and PowerPoint, insert dynamic fields and content, preview templates with live HubSpot data, and apply formatting to control how data appears in generated documents.
- Data Orchestration: This section explains how data flows into templates from HubSpot. It covers how CloudFiles accesses HubSpot records, which objects and fields are supported, how resources are created to fetch related or repeatable data and how template actions apply this data to generate structured documents.
- Template Control Center: This section provides a centralized view to manage and monitor all document templates created using CloudFiles Document Generation
- Generating Documents: This section covers how published templates are used to create documents from HubSpot records. It explains manual document generation using the Doc-Generation widget and outlines upcoming support for automated document generation through HubSpot workflows
- eSignature Integration: This section explains how CloudFiles integrates with DocuSign to enable end-to-end document signing. It covers setting up the DocuSign integration, defining recipients, placing signature and input fields in templates, and routing generated documents for signing directly from HubSpot.
---
# Design Studio
https://help.cloudfiles.io/hubspot/design-studio
# Design Studio
CloudFiles provides a set of interfaces that let you design and manage document templates using data from HubSpot. These interfaces are available through the CloudFiles Office Add-in, allowing templates to be created directly inside Microsoft Word, Excel and PowerPoint without requiring any coding or external tools.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
CloudFiles provides a set of interfaces that let you design and manage document templates using data from HubSpot. These interfaces are available through the CloudFiles Office Add-in, allowing templates to be created directly inside Microsoft Word, Excel and PowerPoint without requiring any coding or external tools.
The Design Studio section of the documentation groups together articles that explain how these interfaces work and how to use them effectively when building document generation templates. This section is organized into 3 key articles
- Microsoft Office Add-In: In this article, we cover overview of the CloudFiles Office Add-in and explains how it works across Microsoft Word, Excel and PowerPoint. It introduces the add-in as the primary interface for creating, previewing and publishing templates that use HubSpot data.
- How to build a template: In this article, we walk through the complete process of creating a DOCX template in Microsoft Word using CloudFiles. It covers inserting fields, images, tables, links and conditions, working with related records, previewing templates with live data and publishing templates for use inside HubSpot.
- Formatting Options: In this article, we explain how to control how data appears in generated documents. It covers text, date and number formatting to fine-tune the layout and presentation of documents.
---
# Microsoft Office Add-In
https://help.cloudfiles.io/hubspot/microsoft-office-add-in
# Microsoft Office Add-In
The Design Studio in CloudFiles is powered by the Microsoft Office Add-in, which enables you to design and manage document templates using HubSpot data.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Design Studio in CloudFiles is powered by the Microsoft Office Add-in, which enables you to design and manage document templates using HubSpot data. This add-in allows users to build dynamic templates directly within Microsoft applications, without requiring any coding or external tools.
CloudFiles supports the Office Add-in across three Microsoft applications:
- Microsoft Word
- Microsoft Excel
- Microsoft PowerPoint
> A valid Microsoft account is necessary to complete the installation successfully and access the CloudFiles add-in.
## How to Install the CloudFiles office Add-in
To add CloudFiles Word add-in to your Microsoft Word account, start by launching Microsoft Word, Excel or PowerPoint on your PC or in web browser. Then follow the steps below:
- Navigate to the "Home" tab and click on "Add-ins" to explore available options.
- In the Add-ins window, select "+ More Add-ins" to open the "Office Add-ins" window, then click on "Microsoft AppSource" to be redirected to appsource.microsoft.com.
- In the search bar, type "CloudFiles" and browse the results to locate the CloudFiles Add-in.
- Click "Get it now" to install the add-in. Once the installation is complete, open Word to check the new add-in.
- In the "New Office Add-in" sidebar, click "Allow and Continue" to launch the CloudFiles Word add-in, ensuring it's ready for use with your HubSpot data.
Refer to the video below to have a visual understanding of these steps -
[Watch video](https://youtu.be/0Kzyf8FzEhI)
> Since the CloudFiles add-in is linked to your Microsoft account, once installed in one application (Word, Excel or PowerPoint), it will automatically be available in the other two.
## What You Can Do with the Office Add-in
Using the CloudFiles Office Add-in, users can:
- Create document templates using HubSpot data
- Insert HubSpot properties as dynamic fields
- Add images, tables, links and conditional content
- Work with associated records
- Preview templates using live HubSpot data
- Publish templates directly to CloudFiles for use on HubSpot record pages
The CloudFiles add-in acts as the central design interface for all document generation templates used within HubSpot.
---
# How to build a template
https://help.cloudfiles.io/hubspot/how-to-build-a-template
# How to build a template
This guide explains how to create a template using CloudFiles Document Generation, walking through building a purchase order template in Microsoft Word using HubSpot Deal data.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
This guide explains how to create a template using CloudFiles Document Generation. The CloudFiles Office add-in allows you to build templates using HubSpot data.
For this tutorial, we will use the Deal object to create a sample purchase order template in Microsoft Word. You will learn how to use the Insert Field, Insert Image, Insert Table, and Insert Condition actions to generate documents with data from HubSpot records.
## What to Expect
By the end of this tutorial, you will know how to:
- Create a DOCX template with fields mapped from HubSpot
- Insert text, image and table elements into a DOCX template
- Use conditions to show or hide content based on logic
- Preview and publishing document template to HubSpot
## Tutorial Video
The video below illustrates the process of creating a template using CloudFiles Document Generation product.
[Watch video](https://www.youtube.com/embed/p49YtbzXTEI)
## Pre-requisites
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Template Builder Setup
The CloudFiles add-in connects with your HubSpot Org to enable template creation using HubSpot data. It can be installed in Microsoft Word, Excel or PowerPoint, allowing you to design templates directly. For installation steps, see CloudFiles Office Add-In setup

## Stages of Document Generation
Document Generation includes 3 main stages:
- Build
- Preview
- Publish
After logging in to HubSpot through the CloudFiles add-in, set HubSpot as the platform and select the a object from the Record type dropdown. In this tutorial, we will use the Deal object to create a sample Purchase Order template.


> Why use a Purchase Order Template?A purchase order is a common document used to confirm and track product or service purchases. It generally includes the Deal details, account information, shipping details and a list of items.In this tutorial, we use the Deals object in HubSpot, which contains all the required details for generating the document. For item-level information, we will use the Line Items object, which holds product names, quantities, prices, and totals used to populate tables in the template. We have created a sample purchase order template with placeholder fields for reference (see screenshot below). In the Build stage, we will show how to use each action: Insert Field, Insert Image, Insert Table, Insert Link and Insert Condition, to place the placeholders for actual data from HubSpot record properties.
After installing the CloudFiles add-in and setting up for HubSpot, you can use the template actions to insert fields and tables from HubSpot data into the document.
### Stage 1 - Build
### 1 - Global variable
When building templates, you work with global variables that help you pull in HubSpot data. The most common one is $Record, which refers to the record you’re generating the document for — for example, a Deal in this case. Using this, you can easily bring in fields for Dealname, EffectiveDate and related account fields.

### 2 - Insert Field
Use Insert Field action to add following fields into the purchase order template. Place the cursor where the placeholder field should appear in the document, then select the Insert Field action. Add below placeholders in the purchase order template:
- EffectiveDate – {!$Record.closedate}
- DealName – {{!$Record.dealname}}
- AccName – {{!associated_company.name}}
- BillingStreet – {{!associated_company.address}}
You can similarly insert other fields such as ShippingCity,region, website etc.
> **Note** — To fetch associated records data, like Company Name, Shipping address in this case, you must define a Record Single Variable to insert placeholders for those associated records.

CloudFiles supports formatting for generated data such as text, dates, numbers- learn more in Formatting Options
### 3 - Insert Picture
Use Insert Picture action to add an image to the template. This is ideally used for company logos, product images, etc. Place the cursor where the image should appear in the document, then select the Insert Picture action. Choose a field that contains a valid image URL, such as a logo URL stored in the Account record. You can also adjust the size of the image.
In the purchase order template, insert the field hs_logo_url from the associated company object, which holds the image URL.
- Image - {!associated_company.hs_logo_url}

### 4 - Insert Link
Use Insert Link to add clickable URLs from HubSpot fields into your template.
In the purchase order template, insert the field Website from the Company object, which holds the URL of the website.
- Website – {!associated_company.website}
This will generate a working hyperlink in the final generated document.

### 5 - Insert Table
Use Insert Table action to include repeatable rows for lists, such as line items or products.
Before adding a table, create a Record Collection Variable with object set to 'Line items' which is typically used to represent the line items associated with the Deals (e.g., products purchased, quantities, and pricing)

Now, the record collection Line Items contains the products of the Deal.
To configure the table, follow the steps below:
- Place the cursor on the template and select the Insert table action.
- In the Resource Type field, select the collection Line Items you created.
- Specify the required number of columns and rows.

- Add column labels for Item, Quantity, Unit Price, and Subtotal in the first row.
- Place the cursor on the second row and use the , then click ‘Make Data Row’ to include the values of the collection.

- Insert the following into the table from the collection Line Items using the Insert Field action.
- Product Name - {!Line_items.Name}
- Quantity - {!Line_items.quantity}
- Unit Price - {!Line_items.price}
- Total Price - {!Line_items.amount}
You can insert multiple fields into the same cell. Make sure you insert all the collection fields inside the data row.

### 6 - Insert Condition
Use to show or hide sections based on values from your record.
In the purchase order template, let's display a message only when the Total Order Amount exceeds $10,000
Steps to Insert a Condition:
- Place the cursor where you want the conditional content to appear.
- Open the CloudFiles Add-in and choose Insert Condition.
- In the Field dropdown, select the relevant field (e.g., TotalAmount or Order Total).
- Set the Operator (e.g., Greater Than) and enter the Value (e.g., 10000).
- Click Insert
- Add the message inside to display if the condition is met.

### 7 - Document Title
If no Document Title is specified, the document will default to the name of the template.

Global constants
Global constants are predefined values that remain the same for every document. By default, the template includes:
- $GlobalConstant.EmptyString – blank text value
- $GlobalConstant.False – boolean false
- $GlobalConstant.True – boolean true
These constants can be used to add fixed values or control logic.
### Stage 2 - Preview
The Preview feature allows you to test how your document will look using real data before publishing it.
How It Works:
- Enter a valid Record ID (e.g., a HubSpot Deal ID) into the input box.
- Click Generate Preview.
- CloudFiles will populate the template with actual values from the record, showing you exactly how the final document will appear.
> **Errors at Preview** — In the Preview section, if the template has any issues, you may encounter errors, such as 'Preview generation failed,' along with a description of the error.These errors typically indicate problems like malformed queries, etc. Make sure to review the error message and correct the issue accordingly before publishing.
### Stage 3 - Publish
Once you’ve finished building and previewing your template, use the Publish step to save it for use in your HubSpot instance.
Publishing Options:
1 - Publish as a New Template
- Choose this if you're creating a template from scratch.
- Enter a unique Template Name in the input field.
- This will create a new version that will be available for use.

2 - Select an Existing Template
- Choose this option to update or replace a previously published template.
- Select from the list of available templates in the dropdown.
- Your current design will overwrite the selected template with the new version.

Once published, the template will be listed in CloudFiles web app under the Document Generation tab → Templates.

---
# Formatting Options
https://help.cloudfiles.io/hubspot/formatting-options
# Formatting Options
Formatting controls in CloudFiles Document Generation let you control how dynamic data appears in your generated documents, including text, date, and number formatting.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
Formatting controls in CloudFiles Document Generation let you control how dynamic data appears in your generated documents.These controls help you format text, dates, numbers, currency and also allow you to apply native Microsoft styling for complete design flexibility.
## Formatting Options:
### Text formatting
You can choose to capitalize(first letter in uppercase), use lowercase or uppercase for the text.

Font: All inserted fields can be formatted like regular text in Word, including changes to font, size, and style.
### Date Formatting
You can format dates as Short (08/23/2024), Medium (Aug 23 2024), Long (August 23, 2024) or Full (Friday, August 23, 2024).

### Number Formatting
For number fields (like int or double), you can apply custom formats:
- # – shows digit only if present (e.g., ###,###.### → 1,234.56)
- 0 – always shows digit, even if zero (e.g., 000,000.000 → 001,234.560)
- , – thousands separator
- . – decimal separator

---
# Data Orchestration
https://help.cloudfiles.io/hubspot/data-orchestration
# Data Orchestration
Data Orchestration section explains how data is accessed from HubSpot, organized within templates, and applied to generate dynamic documents. This section provides an end-to-end view of how HubSpot data flows through CloudFiles—from selection to structure to final output.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
Data Orchestration section explains how data is accessed from HubSpot, organized within templates, and applied to generate dynamic documents. This section provides an end-to-end view of how HubSpot data flows through CloudFiles—from selection to structure to final output.
This section is divided into 3 key sub-sections -
- HubSpot Data Access focuses on what data CloudFiles can retrieve from HubSpot. It explains which standard and custom objects are supported, how Master Objects are selected, and which HubSpot field types can be used while building document templates.
- Template-Resources explains how HubSpot data is prepared for use inside templates using Resources. It covers creating record-based and collection-based resources, defining Runtime Variables and e-signature recipients.
- Template Actions covers how prepared data is applied within templates using actions available in Word, Excel, and PowerPoint. It explains how to insert fields, tables and dynamic content, enabling structured and accurate documents to be created.
---
# HubSpot Data Access
https://help.cloudfiles.io/hubspot/hubspot-data-access
# HubSpot Data Access
CloudFiles Document Generation integrates directly with HubSpot to securely access CRM data and populate Microsoft Office document templates.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
CloudFiles Document Generation integrates directly with HubSpot to securely access CRM data and populate Microsoft Office document templates.
This section contains 2 articles and explains how CloudFiles works with HubSpot data and what types of records and fields are supported when building document templates.
- Supported HubSpot Objects: This article explains the HubSpot data supported in CloudFiles Document Generation, including Master Objects, global variables such as $record and $user, and how related records can be accessed within templates.
- Supported HubSpot Field Types: This article provides a detailed list of HubSpot field types that are supported in CloudFiles Document Generation
---
# Supported HubSpot Objects
https://help.cloudfiles.io/hubspot/supported-hubspot-objects
# Supported HubSpot Objects
CloudFiles Document Generation connects with HubSpot to fetch CRM data into Microsoft office templates using global variables $record and $user.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
CloudFiles Document Generation connects directly with HubSpot to fetch CRM data into your Microsoft office templates. This enables you to generate accurate, dynamic documents using real-time data from your HubSpot account.
CloudFiles supports global variables- $record and $user, allowing you to dynamically insert information about the selected HubSpot record and the user generating the document.
## Record Variable
To generate a document, you start by selecting a HubSpot object as the Master Object. This Master Object determines the context of the document and acts as the primary source of data for all placeholders used in the template.
Once selected, this variable becomes the foundation for document generation and determines:
- Which fields can be inserted into the template
- Which related records can be accessed
- How saved template is accessed and used during document generation

### Supported Standard Objects
CloudFiles currently supports the following HubSpot objects as Master Objects:
- Contacts
- Companies
- Deals
- Tickets
- Leads
- Orders
- Projects
- Quotes
- Products
- Invoices
- Commerce Payments
- Line Items
- Subscriptions
### Supported Custom Objects
CloudFiles supports any custom object created in your HubSpot account. These custom objects can be selected as the master object when building document templates.

Once a master object is selected, it automatically becomes available in the template as a global variable as $Record

The $record global variable represents the chosen HubSpot resource and helps in inserting placeholders in the document
Example use cases:
- Deal name- $record.dealname
- Amount- $record.amount
- Effective date- $record.closedate

### Accessing Data from Related Records
The Document generation builder automatically retrieves all fields (both standard and custom) from the selected Master Object. In addition to these, you may need data from other associated records or record collections. To support these requirements, CloudFiles allows you to create Resources.
CloudFiles supports the following resource types for fetching related records
Record Single Variable- A Record Single Variable represents a single record and holds all its field values. It is ideal for working with a specific data entry, such as a Contact, Company or Deal. The record can either be related to the main template object or be an independent record fetched using filter criteria.
Record Collection Variable- A Record Collection Variable represents a group or list of records from a HubSpot object. It stores multiple records that meet defined criteria and is typically used when you need to work with repeating data entries, such as a list Items, Orders or Quotes within your document.
## User Variable
CloudFiles provides a global variable- $user. The $user variable represents the HubSpot user who generated the document through the CloudFiles Document Generation widget. This allows you to dynamically insert information about the generating user directly into your templates.

Example Use Cases
- User Name → $user.hs_given_name
- User Email → $user.hs_email
- User Job Title → $user.jobtitle

> **Please note:** — When documents are generated through HubSpot workflows, HubSpot does not provide the context of the user triggering/executing the workflow. In such cases, the $user variable will correspond to the HubSpot user whose account is connected to CloudFiles.
## Need Help Enabling on HubSpot Objects?
If you need assistance enabling CloudFiles for specific HubSpot objects or custom objects—or if a record does not appear while designing templates, please reach out to: 📩 support@cloudfiles.io
In the next article, we cover the list of supported HubSpot field types that can be used in CloudFiles Document Generation.
---
# Supported HubSpot Field Types
https://help.cloudfiles.io/hubspot/supported-hubspot-field-types
# Supported HubSpot Field Types
CloudFiles Document Generation supports a wide range of HubSpot field types, allowing you to insert CRM data into your Microsoft Office templates with ease.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
CloudFiles Document Generation supports a wide range of HubSpot field types, allowing you to insert CRM data into your Microsoft Office templates with ease.
This article outlines the HubSpot field types that can be used as placeholders while building document templates.
## Text Input Fields
The following text-based HubSpot fields are supported:
- Single-line text
- Multi-line text
- Phone number
- Date and time picker
These fields are commonly used for names, descriptions, contact details and timestamped values.
## Option Selection Fields
CloudFiles supports HubSpot fields that allow users to select one or more predefined values:
- Single checkbox
- Multiple checkboxes
- Dropdown select
These fields are typically used for statuses, categories, preferences, and configurable options.
## Value Fields
The following value-based field types are supported:
- Number
Number fields are commonly used for quantities, scores, counts, and other numeric values.
## Formatting Supported Fields
For supported fields, CloudFiles provides additional formatting controls that allow you to control how data appears in the generated document. Formatting options and examples can be found in article-Formatting Options
---
# Template-Resources
https://help.cloudfiles.io/hubspot/template-resources
# Template-Resources
The Builder automatically retrieves all fields (both standard and custom) from the selected Master Object. In addition to these, you may need data from other associated records, record collections or fields required to configure e-signature recipients. To support these requirements, CloudFiles allows you to create Resources.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Builder automatically retrieves all fields (both standard and custom) from the selected Master Object. In addition to these, you may need data from other associated records, record collections or fields required to configure e-signature recipients. To support these requirements, CloudFiles allows you to create Resources.
## How to create Resources
You can create resources by clicking "Resources" hyperlink in the CloudFiles add-in and selecting + Create New Resource


## Configuring a Resource
Depending on the resource type selected, you can configure:
- Object type (e.g Deal, Company, Contact)
- Filters to control which records are fetched
- Limits to restrict the number of records returned (for collections)
Once configured, these resources become available inside the document template and can be used just like standard fields during document generation.
## Supported CloudFiles Resources
CloudFiles supports the following 3 resource types:
- Record Single Variable- A Record Single Variable represents a single record and holds all its field values. It is ideal for working with a specific data entry, such as a Contact, Company or Deal. The record can either be related to the main template object or be an independent record fetched using filter criteria.
- Record Collection Variable- A Record Collection Variable represents a group or list of records from a HubSpot object. It stores multiple records that meet defined criteria and is typically used when you need to work with repeating data entries, such as a list Items, Orders or Quotes within your document.
- Runtime Variable- A Runtime Variable stores a predefined value used within a document template. It is not tied to HubSpot records and is ideal for reusable static data or controlling template logic.
- Recipients- The Recipient resource allows you to define the individuals who will receive and sign generated documents via DocuSign. This resource holds information such as the recipient’s name and email address, which are critical for routing the document to the right person for e-signature.
## Combining Resources for Advanced Logic
You can combine different types of resources to create more dynamic templates. For example,field values from a Record Single Variable can be used to filter a Record Collection Variable, allowing you to narrow down the collection based on a specific record’s attributes.
---
# Record Single Variable (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/record-single-variable
# Record Single Variable
A Record Single Variable contains an entire record and all of the field values on that record.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
A Record Single Variable contains an entire record and all of the field values on that record. Creating a Record Single Variable is like retrieving an Object Record with conditions set on the fields. For example, to create a PO document, you may need to include billing details from the Company associated with the Deal or identify a specific Contact such as the primary decision-maker or signing authority based on certain criteria. In such scenarios, a Record Single Variable can be used to retrieve the relevant Company or Contact record and make its fields available for use within the document template.
To create a Record Single Variable, follow the steps below -
- Click 'Resources'; the Resource Manager opens up.
- In the 'Create New Resource' pane, select Resource type from the drop-down as 'Record Single Variable'.
- Enter a Label and the API Name will automatically populate.
- Select the Object and association label

## Filters (Optional)
To further determine which records are retrieved within an association label, you must define filter conditions. These conditions are used to compare values from the selected object and determine if a record meets the required logic to proceed.
Begin by selecting the main operator that controls how multiple conditions will be evaluated:
- AND: All conditions must be true
- OR: At least one condition must be true
- Custom: Allows for advanced expressions (e.g., (1 AND 2) OR 3)
Once the main operator is set, define one or more filter conditions. Each condition includes:
- A Field from the selected object
- A comparison Operator
- A Value to compare against
Click + Add Condition to include additional filter rows. The overall filter logic follows the main operator you selected (AND/OR/Custom)

### Add Conditions
### Field
The Field dropdown allows you to select a specific field from the chosen object to filter or identify a record based on matching criteria. (e.g., Email, FirstName, Status, Custom_Field__c)
### Operator
Choose a logical operator from the dropdown:
- Equals: Matches records with a field exactly equal to the specified value (e.g., for String, Picklist, Number, Boolean).
- Not Equals: Matches records where the field does not equal the given value(e.g., for String, Picklist, Number, Boolean).
- Greater Than: Matches records where the field value is numerically greater (e.g., for Integer, Decimals, Currency).
- Greater Than or Equals: Matches records where the value is greater than or exactly equal (e.g., for Integer, Decimals, Currency).
- Less Than: Matches records with a value lower than the specified input (e.g., for Integer, Decimals, Currency).
- Less Than or Equals: Matches records with a value that is less than or exactly equal (e.g., for Integer, Decimals, Currency).
- In: Matches records where the field value is one of multiple specified values (e.g., for Picklist, Multi-Select Picklist).
- Not In: Excludes records that match any of the specified values (e.g., for Picklist, Multi-Select Picklist).
- Like: Matches records based on partial text (e.g., for Text, Email, URL).
### Value
The Value field is used to specify what the selected Field should be compared against. This can take multiple forms, depending on your use case:
- Global Variables: Field value from the same object record ({!$Record.Id}).
- Record (Single) Variables: Field value from related records.
- Global Constants: A direct input like the following:
- {$GlobalConstant.False} - Boolean false
- {$GlobalConstant.True} - Boolean true
- {$GlobalConstant.EmptyString} - Represents a blank or empty value
- {$GlobalConstant.CurrentTime} - Dynamically inserts the exact timestamp when the Document is generated
- Collection Variable: Record Collection Variable are now supported as filter values when using the IN or NOT IN operators, allowing records to be matched dynamically.
---
# Record Collection Variable (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/record-collection-variable
# Record Collection Variable
A Record Collection Variable is a collection of records; you create it by selecting the Object type and setting conditions on the record fields.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
A Record Collection Variable is a collection of records. Creating a Record Collection Variable involves selecting the Object type and setting conditions on the record fields.
To create a Record Collection Variable, follow the steps below -
- Click 'Resources'; the Resource Manager opens up.
- In the 'New Resource' pane, select Resource type from the drop-down as 'Record Collection Variable'.
- Enter a Label, and the API Name will automatically populate.
- Select the Object.
- You can limit the number of output records using the 'Limit Rows' option.

## Filters (Optional)
To determine which records are retrieved in a Record Collection Variable, you must define filter conditions. These conditions help narrow down records from the selected object based on field values and matching criteria.
Begin by selecting the main operator that controls how multiple conditions will be evaluated:
- AND: All conditions must be true
- OR: At least one condition must be true
- Custom: Allows for advanced expressions (e.g., (1 AND 2) OR 3)
Once the main operator is set, define one or more filter conditions. Each condition includes:
- A Field from the selected object
- A comparison Operator
- A Value to compare against
### Condition
### Field
The Field dropdown allows you to select the specific object field that should be used to filter or identify a record based on matching criteria. (e.g., Email, FirstName, Status, Custom_Field__c)
### Operator
Choose a logical operator from the dropdown:
- Equals: Matches records with a field exactly equal to the specified value (e.g., for String, Picklist, Number, Boolean).
- Not Equals: Matches records where the field does not equal the given value(e.g., for String, Picklist, Number, Boolean).
- Greater Than: Matches records where the field value is numerically greater (e.g., for Integer, Decimals, Currency).
- Greater Than or Equals: Matches records where the value is greater than or exactly equal (e.g., for Integer, Decimals, Currency).
- Less Than: Matches records with a value lower than the specified input (e.g., for Integer, Decimals, Currency).
- Less Than or Equals: Matches records with a value that is less than or exactly equal (e.g., for Integer, Decimals, Currency).
- In: Matches records where the field value is one of multiple specified values (e.g., for Picklist, Multi-Select Picklist).
- Not In: Excludes records that match any of the specified values (e.g., for Picklist, Multi-Select Picklist).
- Like: Matches records based on partial text (e.g., for Text, Email).
### Value
The Value field is used to specify what the selected Field should be compared against. This can take multiple forms, depending on your use case:
- Global Variables: Field value from the same object record ({!$Record.Id}).
- Record (Single) Variables: Field value from related records.
- Global Constants: A direct input like the following:
- {$GlobalConstant.False} - Boolean false
- {$GlobalConstant.True} - Boolean true
- {$GlobalConstant.EmptyString} - Represents a blank or empty value
- {$GlobalConstant.CurrentTime} - Dynamically inserts the exact timestamp when the Document is generated
Click + Add Condition to include additional filter rows. The overall filter logic follows the main operator you selected (AND/OR/Custom).
To use the fields from the Record Collection Variable, you will need to use the Insert Loopor Insert Table actions available in the template editor.
## Order By (Optional)
You can optionally define the order in which matching records are sorted by selecting a field. Sorting can be done in ascending or descending order. The sort order directly determines which records are fetched when a limit is applied. For example, if a limit is set (e.g., 10 records), the top records based on the specified order will be added to the collection variable.

---
# Runtime Variable (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/runtime-variable
# Runtime Variable
A Runtime Variable in CloudFiles stores a value that can be used within a document template during document generation, acting as a static or default placeholder.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
A Runtime Variable in CloudFiles stores a value that can be used within a document template during document generation. These variables are used to define static or default values that act as placeholders within a template.
They are useful for managing values that need to be referenced multiple times within the same template, without hardcoding them in multiple places. This makes templates easier to maintain and update.
Runtime Variables are commonly used for:
- Storing fixed values within a template such as company name, address or standard disclaimers
- Controlling template logic such as showing or hiding content
- Avoiding repeated edits by defining a value once and reusing it across the template
## Runtime Variable
To create a Runtime Variable, follow the steps below:
- Click Resources to open the Resource Manager.
- In the 'New Resource' pane, select Resource type from the drop-down as 'Runtime Variable'.
- Enter a Label, and the API Name will automatically populate.
- Assign a Value Type based on your requirement such as String, Integer, Double, etc.
- Assign Default Value as needed.
Once created, the Runtime Variable can be referenced inside the template and used wherever required.

## Value Types
The value type determines the format of data stored in the Runtime Variable and how it behaves inside the template.
### String
String variables store text-based values and are the most commonly used type.
Examples include company name, email address, URLs or any static text.
### Integer
All number fields without decimals can be passed in as integers.
Examples: Number, Phone or fixed numeric values.
### Double
All numeric fields that allow decimal values can be passed as doubles.
Examples: Currency, Percent, Number(with Decimals)
### Boolean
True/False fields can be passed as Boolean values.
### Date
Date variable store calendar dates without time.
These can be used for fixed dates such as agreement dates or policy effective dates.
### DateTime
DateTime variables store both date and time values.
These are useful when both components are required in the document.
### Time
Time variable store only the time component without a date
### Rich Text Area
Fields storing formatted text content can be passed in as Rich Text, which includes styling such as bold, italic, and underline; paragraph formatting like line breaks, bullet points, and numbered lists; embedded hyperlinks; and basic HTML tags (e.g
,, , , ).
This type is especially useful for reusable content blocks such as terms and conditions or formatted descriptions.
---
# Recipients (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/recipients
# Recipients
The Recipients resource defines the individuals who will receive and sign generated documents via DocuSign, holding their name and email address for e-signature routing.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Recipients resource allows you to define the individuals who will receive and sign generated documents via DocuSign. This resource holds information such as the recipient’s name and email address, which are critical for routing the document to the right person for e-signature.
This is a key part of using DocuSign with Word documents. It allows you to assign each signature space to the correct recipient.
A Recipient is a configuration that holds:
- Label – An internal name you assign (e.g., Primary Approver or Client Contact).
- Name Field – A merge field from your record that dynamically inserts the recipient’s name.
- Email Field – A merge field pointing to the recipient’s email address, used to send the signature request via DocuSign.
## How to Create a Recipient Resource
To create a new recipient:
- Navigate to the Template → Resources tab and click + Create New Resource.
- Set the Resource Type to Recipient.
- Enter the following fields:
- Label – Custom name for this recipient.
- Name Field – Select a dynamic field (e.g., {$Record.firstame}).
- Email Field – Select the email field (e.g., {$Record.email}).
- Click Save.

> **Important** — Make sure the email field contains a valid email. Otherwise, DocuSign won’t be able to deliver the signing request.
Once a recipient is configured, you can assign them to a signature field inside your Word template. To insert a signature field and link it to a recipient, you’ll need to use the Insert Form Field action.
---
# Template-Actions
https://help.cloudfiles.io/hubspot/template-actions
# Template-Actions
Now that we have created resources, the next step is to build templates using template actions. We offer templates in Word, Excel and PowerPoint, each with its own set of unique actions, which we will explore in this article.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
Now that we have created resources, the next step is to build templates using template actions. We offer templates in Word, Excel and PowerPoint, each with its own set of unique actions, which we will explore in this article.
- Word DocX Template Actions- Template actions in Word allow you to dynamically insert fields, images, tables, loops, and conditions based on HubSpot data. These actions enable structured content, automate document generation and help organize files by setting document titles. By leveraging these features, you can enhance accuracy, flexibility and efficiency in template creation.
- Excel Template Actions- Template actions in Excel enable dynamic insertion of fields and tables based on HubSpot data. These actions facilitate structured content, automate document generation and streamline file organization by setting document titles. By utilizing these features, you can improve accuracy, flexibility, and efficiency in template creation.
- PPT Template Actions- PowerPoint template actions allow you to dynamically insert fields and tables using HubSpot data. They facilitate structured content, automate document creation, and help manage files by defining document titles. Leveraging these features enhances accuracy, adaptability, and efficiency in template design.
---
# Word DocX Template Actions (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/word-docx-template-actions
# Word DocX Template Actions
In the Actions section, you can customize your document templates using various operations that insert fields, pictures, tables, apply conditions and set document titles.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
In the Actions section, you can customize your document templates using various operations. These actions allow you to insert fields, pictures, tables, apply conditions and set document titles based on your requirements.
## Supported Actions
After setting up your resources, you can use the following actions to build your template:
- Insert Field – Add standard or custom fields from the Master Object or create and insert resources as needed.
- Insert Picture – Insert images from URL fields directly into your document template.
- Insert Table – Create and customize tables based on HubSpot records, adjusting structure and content as required.
- Insert Loop – Repeat a section of the template dynamically for a set of records or a record collection.
- Insert Condition – Apply conditional logic to insert text, tables, or pictures based on specific field values.
- Insert Link- The Insert Link action adds a hyperlink to your document using a stored URL. The link can have a custom label and dynamically update if the URL is stored in a record.
- Document Title – Assign a title to the generated document by selecting a relevant field for better organization.
## Video Overview
The video guides the user through the process of creating a Word template for document generation in CloudFiles Doc Gen. It explains how to structure the template and map HubSpot record fields for automated purchase order document generation.
[Watch video](https://www.youtube.com/embed/p49YtbzXTEI)
---
# Insert Field (Word · HubSpot)
https://help.cloudfiles.io/hubspot/qb4d-insert-field
# Insert Field
Insert Field lets you insert standard or custom fields from the Master Object or Record Variables into a Word document, with options to format text case, font, dates, and numbers.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
Insert Field action allows you to insert any field (standard or custom) retrieved from the Master Object or Record Variables
## Steps to insert a field
- Select Insert Field from the Select Action drop-down menu.
- Choose the desired field from the drop-down menu.
- Master Object fields are listed under "Record" (Global Variables).
- Record Variables appear under "Variable".
- Constants are listed under "Global Constants".
- Click Insert to place the field at the cursor's location in the work area. You can also copy and paste inserted fields as needed.
## Formatting Options
Text: You can choose to capitalize (first letter in uppercase), use lowercase or uppercase for the text.

Font: All inserted fields can be formatted like regular text in Word, including changes to font, size and style.
Date Formatting: You can format dates as Short (08/23/2024), Medium (Aug 23 2024), Long (August 23, 2024), or Full (Friday, August 23, 2024).

Number Formatting: For number fields (like int or double), you can apply custom formats:
- # – shows digit only if present (e.g., ###,###.### → 1,234.56)
- 0 – always shows digit, even if zero (e.g., 000,000.000 → 001,234.560)
- , – thousands separator
- . – decimal separator

Go to 0:27 to see the Insert Field action being used to create a PO template in Microsoft Word.
[Watch video](https://www.youtube.com/embed/p49YtbzXTEI)
---
# Insert Picture (Word · HubSpot)
https://help.cloudfiles.io/hubspot/YLV8-insert-picture
# Insert Picture
Insert Picture action enables you to insert a picture using an image URL, retrieved dynamically from a HubSpot record field or entered manually.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
Insert Picture action enables you to insert a picture using an image URL. The image link can be
- Retrieved dynamically from a field in your HubSpot records or
- Entered manually as a direct image link
Once the URL is provided, the image will be rendered wherever the action is used.
## Inserting an Image Using a URL
- Select "Insert Picture"
- From the Select Action drop-down menu, choose Insert Picture.
- Choose the Picture Source
- In the Picture Source drop-down, select URL.
- Select the URL Field
- In the URL drop-down, choose the field that contains the public link to the image.
- This field can dynamically insert images based on URLs retrieved from record fields or other variable resources.
- Insert the Image
- Click Insert to place the image at the desired location.
- Adjust the Image
- Resize or reposition the image as needed.
- Apply formatting options, such as adding a border, for a polished appearance.

Go to 2:30 to see the Insert picture action being used to create a PO template in Microsoft Word.
[Watch video](https://www.youtube.com/embed/p49YtbzXTEI)
---
# Insert Table (Word · HubSpot)
https://help.cloudfiles.io/hubspot/h9jZ-insert-table
# Insert Table
You can insert a table into a Microsoft Word template using data from HubSpot records stored as a Collection Variable Resource, allowing structured data to be retrieved and displayed within the document.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
You can insert a table into a Microsoft Word template using data from HubSpot records. These records are stored as a Collection Variable Resource, which allows you to retrieve and display structured data within the document.
- Select the Action:
- In the "Select Action" dropdown, choose "Insert Table."
- Choose a Record Collection Variable:
- In the "Resource Type" field, select a Record Collection Variable Resource.
- Ensure that a Collection variable resource is created before inserting the table.
- Only one collection variable is supported per table. Multiple collection variables are not currently supported.
- Define Table Structure:
- Set the resource type as a collection.
- Specify the number of columns and rows required.
- You can define or later modify the number of rows and columns using the built-in table editing tools
- Insert Fields and Manage Rows:
- Insert relevant fields into the table. You can insert multiple fields into the same cell.
- To create dynamic rows, set them as data rows by placing the cursor in any cell of the required row and click the Make Data Row option that appears under the Insert Table action.
> Data rows repeat themselves for the selected collection. For example, the first row represents the first Line item, the second row represents the second Line item and so on.
> While using the Insert Field action, the created Record Collection Variable is only available when you enter the Data row.Fields, conditions, and links can only be inserted within a designated Data Row
By following these steps, you can dynamically insert and manage tables based on record collections.

> You can customize and format the table using standard Word formatting options, including font styles, alignment, borders, and shading.
Go to 2:56 to see the Insert Table action being used to create a PO template in Microsoft Word.
[Watch video](https://www.youtube.com/embed/p49YtbzXTEI)
---
# Insert Loop (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/insert-loop
# Insert Loop
The Insert Loop action lets you repeat a section of a document template using data from multiple HubSpot records in a record collection.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Insert Loop action allows you to repeat a specific section of a document template using data from multiple HubSpot records. Each iteration of the loop is populated with property values from a single record in a record collection and the section is repeated consecutively in the generated document.
Insert Loop is commonly used when you need to display lists such as line items, associated deals, related contacts or any grouped record data in a structured format.
## How to Insert a Loop:
### Step 1: Create a Record Collection Variable
Before inserting a loop, ensure that a Record Collection Variable is created. This variable defines the set of HubSpot records that the loop will iterate over.
For detailed instructions, refer to the Record Collection Variablesection to learn how to create and configure a collection.
### Step 2- Insert the Loop in the Template
- Use the Select Action dropdown and choose Insert Loop .
- In the Resource Type dropdown, select the Record Collection Resource you just created.

### Step 3- Customize the Loop Content
- The inserted loop will appear in the template with a placeholder section labeled "Click or tap here to enter text.”

- Click the placeholder to select it, erase the placeholder text and begin creating the content for the loop using fields from the selected Record Collection. Use the Insert Field action to add fields dynamically within the loop.
Example:
In the image below, the loop iterates over related contact's details. Inside the loop, fields for-First name, Last name and Email ID, have been inserted as dynamic text.

Preview the Generated Document:
When the document is generated, the loop content will repeat for each record in the collection. Each iteration will populate the fields with data from a single record in the collection.
Example Output:
For an Account with two related Opportunities, the content inside the loop will repeat twice, once for each Opportunity.
Generated Document Sample:

---
# Insert Condition (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/insert-condition
# Insert Condition
Insert Condition action allows you to conditionally insert any content (text, table, picture) into the template.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
Insert Condition action allows you to conditionally insert any content (text, table, picture) into the template. Follow the steps below to insert a condition -
- Select "Insert Condition" in the "Select Action" drop-down menu.
- Select the content to be inserted based on the condition.
- Set Up the Rules:
- Add multiple rules using "+ Add condition".
- Rule Parameters:
- Field: Choose the field or variable whose value you want to evaluate.
- Operator: Select an operator based on the data type of the resource.
- Value:
- Select an existing variable, constant, or field.
- Manually enter a literal value or merge field.

- Set Up the Rules:
- Logic Between Rules:
- AND:
- All rules must be met.
- OR:
- Any rule must be met.
- Custom: Custom rule logic. Provide the rule logic by entering characters:
- Use numbers to refer to each rule.
- Use AND, OR, or NOT to identify which combination of rules must be true.
- Use parentheses to group parts of the string together.
- Example: For
- Insert the Condition:
- Once the condition is set up, click "Insert" to apply the condition to the selected content.
- If the condition evaluates to true, the content is inserted in the generated document; otherwise, it will not be inserted.
Go to 4:41 to see the Insert Condition action being used to create a PO template in Microsoft Word.
[Watch video](https://www.youtube.com/embed/p49YtbzXTEI)
---
# Insert Link (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/insert-link
# Insert Link
The Insert Link action adds a hyperlink to your document using a stored URL, with a custom label that can dynamically update if the URL is stored in a record.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Insert Link action adds a hyperlink to your document using a stored URL. The link can have a custom label and dynamically update if the URL is stored in a record.
- Select "Insert Link"
- From the Select Action drop-down menu, choose Insert Link.
- Add a Label
- Enter a descriptive label for the link (e.g., "Company Website").
- This label will be displayed as the clickable text in the generated document.
- Select the URL Source
- Choose the field containing the website URL; if stored in a record, the link will dynamically update for different records.
- Insert the Link
- Click Insert to add the hyperlink to your document.
- Adjust as Needed
- Modify the placement, formatting, or text style to fit the document’s layout.

Go to 2:07 to see the Insert Link action being used to create a PO template in Microsoft Word.
[Watch video](https://www.youtube.com/embed/p49YtbzXTEI)
---
# Document Title (Word · HubSpot)
https://help.cloudfiles.io/hubspot/nac6-document-title
# Document Title
This action allows you to assign a title to the documents generated from a given template.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
This action allows you to assign a title to the documents generated from a given template. Follow the steps below to set a Document Title -
- Select "Document Title" in the "Select Action" drop-down menu.
- Choose a field to be set as the Document Title.
- Click "Save" to set the selected field as the Document Title. The generated document will have this name.
Go to 5:29 to see the Document Title action being used to create a PO template in Microsoft Word.
[Watch video](https://www.youtube.com/embed/p49YtbzXTEI)
---
# Insert Form Field (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/insert-form-field
# Insert Form Field
Insert Form Field lets you add a signature placeholder inside your Word document, showing where someone needs to sign when the document is sent using DocuSign.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
Insert Form Field lets you add a signature placeholder inside your Word document. This shows where someone needs to sign when the document is sent using DocuSign.
You can use this action with the CloudFiles Word Add-in to prepare documents for e-signature using Recipients
## How to Insert a Form Field for Signature
- In the Resources Panel, set the action to 'Insert Form Field'.
- Set the Type to 'Signature'
- Under Recipient, select the individual the signature should be assigned to. This list includes all recipients configured under the Recipients resource.
- Click the location in your Word document where the signature should appear.
- Press Insert.
- A placeholder with the word "signature" will appear at the selected location.

## How to Insert a Form Field for Date signed/ Text Field
- In the Resources Panel, set the action to 'Insert Form Field'.
- Set the Type to 'Date signed/ Text'
- Under Recipient, select the individual the field should be assigned to. This list includes all recipients configured under the Recipients resource.
- Click the location in your Word document where the signature should appear.
- Press Insert.
- A placeholder with the word "Date signed" / "Text" will appear at the selected location.
- The Date Signed Field will automatically populate when the recipient signs the document in DocuSign, showing the exact signing timestamp.
- The Text Field presents an input box where recipients can enter custom text as part of the signing process.

These fields are non-editable placeholders in the generated document the actual signing happens in DocuSign. For more details, refer to section- eSignature Integration
---
# Excel Template Actions (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/excel-template-actions
# Excel Template Actions
Learn how to use Excel template actions to insert record properties, build dynamic tables, and set document titles in HubSpot Excel templates.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
Using Excel template actions, you can define how HubSpot data is added and structured within your Excel templates. These actions allow you to insert record properties, build dynamic tables and set document titles for generated files.
After setting up your resources, you can use the following actions to build your template:
- Insert Field – Add standard or custom fields from the Master Object, or create and insert resources as needed.
- Insert Table – Create and customize tables based on Salesforce records, adjusting structure and content as required.
- Document Title – Assign a title to the generated document by selecting a relevant field for better organization.


---
# Insert Field (Excel · HubSpot)
https://help.cloudfiles.io/hubspot/insert-field
# Insert Field
The Insert Field action lets you insert any HubSpot property into your Excel template as a placeholder that fetches relevant data when the file is generated.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Insert Field action allows you to insert any HubSpot property into your Excel template as placeholder and fetches relevant data when the file is generated.
You can insert data from the following sources:
- Master Object: The HubSpot record selected at the start of template creation including all its properties.
- Record Variable: Holds a record and its field values, created by selecting an object type and setting conditions.
## Steps to insert a field
- Select Insert Field from the Select Action drop-down menu.
- Choose the desired field from the drop-down menu.
- Master Object fields are listed under "Record" (Global Variables).
- Record Variables appear under "Variable".
- Click Insert to place the field at the cursor's location in the work area. You can also copy and paste inserted fields as needed.
## Formatting Options
Text: You can choose to capitalize (first letter in uppercase), use lowercase, or uppercase for the text.

Font: All inserted fields can be formatted like regular text in Word, including changes to font, size, and style.
Date Formatting: You can format dates as Short (08/23/2024), Medium (Aug 23 2024), Long (August 23, 2024), or Full (Friday, August 23, 2024).
Number Formatting: For number fields (like int or double), you can apply custom formats:
- # – shows digit only if present (e.g., ###,###.### → 1,234.56)
- 0 – always shows digit, even if zero (e.g., 000,000.000 → 001,234.560)
- , – thousands separator
- . – decimal separator

---
# Insert Table (Excel · HubSpot)
https://help.cloudfiles.io/hubspot/insert-table
# Insert Table
The Insert Table action lets you insert a table into an Excel template using data from HubSpot Record Collection Variables.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Insert Table action allows you to insert a table into an Excel template using data from HubSpot records. Tables are built using Record Collection Variables, which store multiple records of the same object type.
## Steps to Insert a Table
- Select the Action:
- In the "Select Action" dropdown, choose "Insert Table."
- Choose a Record Collection Variable:
- In the "Resource Type" field, select a Record Collection Variable Resource.
- Ensure that a Record Collection Variable Resource is created before inserting the table.
- Define Table Structure:
- Set the Collection Variable Resource in the resource type dropdown.
- Select the desired number of columns in the Excel sheet, click "Insert" and a table will be created automatically without specifying the number of rows.
- Insert Fields :
- Rename the columns as needed and insert relevant fields using Insert Field action in the first row of the table.
By following these steps, you can dynamically insert and manage tables based on record collections.
> You can customize and format the table using standard Word formatting options, including font styles, alignment, borders, and shading.

---
# Document Title (Excel · HubSpot)
https://help.cloudfiles.io/hubspot/document-title
# Document Title
The Document Title action allows you to define the name of the Excel file generated from a template.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Document Title action allows you to define the name of the Excel file generated from a template.
Follow the steps below to set a Document Title
- Select "Document Title" in the "Select Action" drop-down menu.
- Choose a field to be set as the Document Title.
- Click "Save" to set the selected field as the Document Title. The generated document will have this name.

---
# PPT Template Actions (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/ppt-template-actions
# PPT Template Actions
Using CloudFiles PPT template actions, you can define how HubSpot data is added and formatted within your PowerPoint templates.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
Using CloudFiles PPT template actions, you can define how HubSpot data is added and formatted within your PowerPoint templates. This includes inserting record properties, dynamically adding images and assigning titles to generated documents.
Once your resource variables are configured, you can use the following actions to build and personalize your template:
- Insert Field – Add HubSpot records properties from master records or any associated records
- Insert Picture – Insert images dynamically using image URLs
- Document Title – Define the title of the generated document for easier identification and organization.


---
# Insert Field (PPT · HubSpot)
https://help.cloudfiles.io/hubspot/xyU7-insert-field
# Insert Field
The Insert Field action lets you insert dynamic data into your PPT template using HubSpot properties and variables from the master record or record variables.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Insert Field action allows you to insert dynamic data into your PPT template using HubSpot properties and variables.
You can insert data from the following sources:
- Master record: The HubSpot record selected at the start of template creation including all its associated properties.
- Record Variable: Holds a record and its field values, created by selecting an object type and setting conditions.
## Steps to insert a field
- Select Insert Field from the Select Action drop-down menu.
- Choose the desired field from the drop-down menu.
- Master record fields are listed under "Record" (Global Variables).
- Record Variables appear under "Variable".
- Click Insert to place the field at the cursor's location in the work area. You can also copy and paste inserted fields as needed.
## Formatting Options
Text: You can choose to capitalize (first letter in uppercase), use lowercase, or uppercase for the text.

Font: All inserted fields can be formatted like regular text in Word, including changes to font, size, and style.
Date Formatting: You can format dates as Short (08/23/2024), Medium (Aug 23 2024), Long (August 23, 2024), or Full (Friday, August 23, 2024).
Number Formatting: For number fields (like int or double), you can apply custom formats:
- # – shows digit only if present (e.g., ###,###.### → 1,234.56)
- 0 – always shows digit, even if zero (e.g., 000,000.000 → 001,234.560)
- , – thousands separator
- . – decimal separator

---
# Insert Picture (PPT · HubSpot)
https://help.cloudfiles.io/hubspot/insert-picture
# Insert Picture
The Insert Picture action lets you dynamically insert images into your PPT template using static image URLs or URLs stored in HubSpot properties.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Insert Picture action allows you to dynamically insert images into your PPT template using static image URLs or using image URLs stored in HubSpot properties
## Inserting an Image Using a URL
- Select "Insert Picture"
- From the Select Action drop-down menu, choose Insert Picture.
- Choose the Picture Source
- In the Picture Source drop-down, select URL.
- Select the URL Field
- In the URL drop-down, choose the HubSpot property that contains the public link to the image or add a image URL manually
- This field can dynamically insert images based on URLs retrieved from record fields or other associated variable resources.
- Insert the Image
- Click Insert to place the image at the desired location.
- Adjust the Image
- Resize or reposition the image as needed.
- Apply formatting options, such as adding a border, for a polished appearance.

---
# Document Title (PPT · HubSpot)
https://help.cloudfiles.io/hubspot/zk40-document-title
# Document Title
The Document Title action allows you to define the name of the document generated from the PowerPoint template by selecting a HubSpot property.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Document Title action allows you to define the name of the document generated from the PowerPoint template. By selecting a HubSpot property, you can ensure generated documents are clearly named and easy to identify.
Follow the steps below to set a Document Title
- Select "Document Title" in the "Select Action" drop-down menu.
- Choose a HubSpot property to be set as the Document Title.
- Click "Save" to set the selected field as the Document Title. Once set, every document generated from this template will use the selected field value as its title.

---
# Template Control Center
https://help.cloudfiles.io/hubspot/template-control-center
# Template Control Center
The Template Control Center provides a centralized location to manage and monitor all document templates created using CloudFiles Document Generation.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Template Control Center provides a centralized location to manage and monitor all document templates created using CloudFiles Document Generation.
The Template Control Center is designed to give visibility, review and control over document templates that are created and used across your HubSpot account.
## Managing Templates
The Templates tab provides an overview of all document templates published in CloudFiles.For each template, you can view key details such as the HubSpot object it is associated with, the user who created the template, the date it was created, and its current version information. This overview makes it easy to understand how templates are being used across different HubSpot records.
## Template Actions
Using the three-dot menu next to a template, users can:
- View version history
- Download the template
- Delete template

## Version History
The Version History view provides a detailed record of all versions published for a template. Each version can be individually downloaded, allowing teams to review or restore earlier versions when needed.

---
# Generating Documents (Guide · HubSpot)
https://help.cloudfiles.io/hubspot/generating-documents
# Generating Documents
This section explains how to generate documents within HubSpot using CloudFiles. Once templates are designed and published using CloudFiles interfaces, documents can be generated directly from HubSpot records using live record data.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
This section explains how to generate documents within HubSpot using CloudFiles. Once templates are designed and published using CloudFiles interfaces, documents can be generated directly from HubSpot records using live record data.
This section is divided into 2 articles:
- Manual Document Generation- In this article, you’ll learn how to manually generate documents from HubSpot record pages using the Doc-Generation widget and how generated files are downloaded for immediate use
- Automate Document Generation using HubSpot Workflows- This article explains how to automatically generate documents using HubSpot workflows. By using the Generate Document workflow action, documents can be created automatically based on workflow triggers or conditions.
---
# Manual Document Generation
https://help.cloudfiles.io/hubspot/manual-document-generation
# Manual Document Generation
Explains how to add the Doc-Generation widget to a HubSpot record page and use it to manually generate documents from templates.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The Doc-Generation widget allows users to manually generate documents (Word, excel, ppt, pdf) from any HubSpot record page using predefined templates. Once you create and publish a template using the How to build a template tutorial, you can manually generate documents via a record. To do so, you must add the Doc-Generation widget to the record page. This guide explains how to set up the widget and use it to generate documents.
## What to Expect
By the end of this tutorial, you will know how to:
- Add the Doc-Gen widget to a HubSpot record page
- Generate documents manually from a record
## Pre-requisites
### Install CloudFiles in HubSpot
CloudFiles is available on the app marketplace and can be installed using the standard app installation process. Check out Installation guide for CloudFiles HubSpot Integration.

### Insert Doc Generation Card
The Doc Generation App Card is integrated into HubSpot across the four primary objects: Contacts, Deals, Companies, and Tickets. It allows you to see a list of all your templates and generate & download documents manually from HubSpot records. The card appears in the middle section of the HubSpot record, either in the standard tabs or in any custom tabs.
The CloudFiles card is not added by default on the record pages. To add the card, go to any record, click on the customize button on the top right, open the default view and add the card to an existing tab / new tab.
[Watch video](https://youtu.be/vU2uvQn5VKY)
Once the widget is added to the record page, the record will automatically display the published templates available for that object within the widget.
## Test the setup
- Navigate to a record where the widget has been added.
- In the CloudFiles Doc-Gen widget, you’ll see a list of all published templates.
- Click the dropdown next to the template you want to use. Choose Generate Docx or Generate Pdf from the menu.
- File is Downloaded and the file is saved to your local computer.

---
# Automate Document Generation using HubSpot Workflows
https://help.cloudfiles.io/hubspot/automate-document-generation-using-hubspot-workflows
# Automate Document Generation using HubSpot Workflows
Learn how to automate document generation from HubSpot workflows using the Generate Document action, including template, destination, and PDF conversion parameters.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
You can automate the creation of documents using the Generate Document action in HubSpot workflows. This allows documents to be generated automatically when specific workflow triggers or conditions are met, eliminating the need to manually generate documents from the CloudFiles widget on individual records.
With this action, documents can be generated using predefined templates and automatically stored in your connected cloud storage such as SharePoint, Google Drive, OneDrive or Dropbox.
To make sure this action works with your Cloud Storage, you need to understand What is an 'Automation User' and how does it work?
This automation is particularly useful for processes such as:
- Automatically generating contracts when a deal reaches a specific stage
- Creating invoices after a deal is closed
- Generating onboarding documents when a contact lifecycle stage changes

The Generate Document action takes several parameters that define which template should be used and where the generated document should be stored.
- Template ID: The Template ID specifies which CloudFiles document template will be used to generate the document.
- Destination Library: The cloud storage where the generated document will be stored (e.g. SharePoint, Google Drive, OneDrive, Box, Dropbox, or CloudFiles).
- Path to Destination Folder: The exact folder path where the generated document will be saved. The path can be defined using a ’/’ separated string and can be personalized using HubSpot record tokens.
- Convert to PDF: Determines whether the generated document should be converted to PDF or saved in the same format as the template.

These parameters have been detailed in the sections below.
## 1 - Template ID
Each template created with CloudFiles has a unique Template ID that identifies it during automation. When the workflow runs, CloudFiles uses this ID to locate the correct template and generate the document based on the data available in the HubSpot record. The Template ID can be found on the Templates page in the CloudFiles web interface.

## 2 - Destination Library
The Destination Library defines the cloud storage location where the generated document will be saved. CloudFiles supports multiple storage providers such as SharePoint, Google Drive, OneDrive and Dropbox. Depending on the selected library, additional parameters such as Drive ID may be required.

## 3 - Shared Drive ID / Drive
This is important for Google Drive & SharePoint library selection. Both these cloud storage have multiple drives where files can be stored. E.g. Google Drive has My Drive & Shared Drive while SharePoint can have multiple drives inside multiple sites. This parameter helps CloudFiles identify which drive to choose for the generated file.
## 4 - Path to Destination Folder
The Path to Destination Folder specifies the exact location within the selected cloud storage where the generated document will be saved. This path should be provided as a ’/’ separated string representing the folder structure. The folder path can be copied from the metadata section in the CloudFiles dashboard and can be personalized using HubSpot record tokens to dynamically organize generated documents based on records info.
To copy Path to Destination Folder and Drive ID from CloudFiles dashboard, Follow the steps below:
- Open CloudFiles dashboard- https://hubspot.cloudfiles.io/ and login if prompted.
- Under the libraries tab, navigate to the folder where you want to save the generated document.
- Copy the parameter from the metadata on the right side of the screen.

## 5 - Convert to PDF
The Convert to PDF parameter determines the format in which the generated document will be saved. When enabled, the generated document will be automatically converted into PDF format. Otherwise, the document will be saved in the same format as the original template.

## 6 - Return Values
The Generate Document action returns the following values. These can be used in later actions to chain together actions and create complex automations.
1. Action Status - This is a success or failure message based on whether the action executed correctly.

Need help? Book time with our team of experts.
---
# eSignature Integration
https://help.cloudfiles.io/hubspot/esignature-integration
# eSignature Integration
CloudFiles eSignature integration allows you to automatically send generated documents from HubSpot for signing using DocuSign. You can define recipients, place signing and input fields directly in your templates and trigger signing as part of your document generation and e-signature flow.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
CloudFiles eSignature integration allows you to automatically send generated documents from HubSpot for signing using DocuSign. You can define recipients, place signing and input fields directly in your templates and trigger signing as part of your document generation and e-ign flow.
This section is divided into 2 sub-sections
- DocuSign Integration (Setup)- Learn how to connect your DocuSign account with CloudFiles in HubSpot to enable eSignature for document generation.
- DocuSign Field Integrations- Learn how to use Signature, Text and Date Signed fields in Word templates and assign them to recipients.
---
# DocuSign Integration (Setup)
https://help.cloudfiles.io/hubspot/docusign-integration-setup
# DocuSign Integration (Setup)
Explains how to connect your DocuSign account with CloudFiles in HubSpot, a mandatory setup before sending documents for eSignature or using DocuSign form fields in templates.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
This article explains how to connect your DocuSign account with CloudFiles in HubSpot. This setup is mandatory before you can send documents for eSignature or use DocuSign form fields in templates.
> An active DocuSign account is necessary to complete the integration successfully
## How to setup DocuSign integration
- Open CloudFiles web app(https://hubspot.cloudfiles.io) and log-in to your account
- Go to Document Generation tab and navigate to Integrations sections
- Click on connect and you will redirected to DocuSign sign-in page
- Enter DocuSign credentials and grant permissions to CloudFiles to complete the setup
After successful setup the Integrations tab displays:
- DocuSign connection status
- Connected DocuSign user details

> Without completing this integration, e-sign-related actions and fields will not function in document template creation
In next section, we will enable recipient-based signing, placement of DocuSign fields within Word templates and automated delivery of generated documents for signature
---
# DocuSign Field Integrations
https://help.cloudfiles.io/hubspot/docusign-field-integrations
# DocuSign Field Integrations
The DocuSign integration lets you automatically send generated documents for e-signature via DocuSign using predefined form fields and recipient mappings.
> Kind: Guide · Updated: Jun 4, 2026
## Introduction
The DocuSign integration feature enables you to automatically send generated documents for e-signature directly via DocuSign, using predefined form fields and recipient mappings. In addition to signature capture, the integration also supports Date Signed and Text fields, allowing you to collect signing timestamps and custom input from recipients during the signing process.
This functionality works in combination with two key additions to your document generation configuration:
- Recipient Resource – This defines the recipient of the generated PDF. It includes the recipient’s name, email and determines who receives the DocuSign request.
- Insert Form Field Action – This allows you to insert DocuSign form fields directly into the Word document template, including Signature, Date Signed and Text fields.
- Date Signed Field - Automatically captures and displays the signing date.
- Text Field - Enables recipients to enter custom text during document signing.
Each field is linked to a specific recipient and defines where input is captured during signing.
## Prerequisite
Before using this feature, ensure your DocuSign account is connected to CloudFiles.
Navigate to CloudFiles web app → Document generation tab → Integrations section and connect your DocuSign account. This step is mandatory for all DocuSign-related functionality to work correctly.
## How to Use This Feature
Follow these steps to configure recipients and signature fields -
### 1 - Create a Recipient Resource
Start by adding a new recipient resource. This resource should include all relevant recipient details, especially the email address to which the DocuSign request will be sent.

### 2 - Insert a Form Field Action
- Open your Word template in the document generation configuration.
- From the Insert Form Field Action dropdown, select the Signature field type.
- Choose the intended Recipient to whom this signature is assigned. This ensures that when the document is sent, the correct person receives the email and is prompted to sign.

### 3 - Visual Placement of Signature Field
Once inserted, a placeholder form field with the word "signature" will appear in your document. This field marks the approximate location where the DocuSign signature box will appear.

### 4- Form Fields for Text and Date signed
Similarly, Insert placeholder form fields for Text and Date signed
Field Behavior During Signing:
- Date Signed Field: Automatically populated when the recipient signs the document in DocuSign, showing the exact signing timestamp.
- Text Field: Presents an input box where recipients can enter custom text as part of the signing process.

> The actual rendering may vary slightly, We recommend testing different positions to ensure fields appear in optimal locations for your specific template layout.
### 5 - Triggering DocuSign
When you generate a preview or finalize the document, a call is made to DocuSign. The system will:
- Generate the PDF.
- Send an email to the designated recipient with the PDF attached for signature.
> **Additional Notes** — You can use multiple Date Signed and Text fields in the same document but each field must be assigned to a specific recipientYou can assign signature fields to multiple recipients in the same document.Coming Soon: The signing order feature (to define who signs first, second, etc.)
---
## HubSpot: Account & Admin
---
# Tutorials
https://help.cloudfiles.io/hubspot/tutorials
# Tutorials
In this section, we discuss various use cases in HubSpot that can be solved using CloudFiles.
> Kind: Tutorial · Updated: Jul 8, 2026
In this section, we discuss various use cases in HubSpot that can be solved using CloudFiles
- Automated Folder Hierarchies - In this tutorial, we'll guide you on creating automated folders and sub-folders in any external storage directly from any HubSpot record using CloudFiles-HubSpot Integration.
- Automated Internal Notifications - In this tutorial, you'll learn how to notify your team by generating links for files uploaded to HubSpot using the HubSpot-CloudFiles integration, making it easier to manage and track file distribution within your team.
- Auto Create Contacts from File Views - This tutorial shows how to capture HubSpot contacts automatically when files are viewed using CloudFiles' Soft-Gated and No-Gate methods.
- Collecting sensitive documents - In this tutorial, we will guide you to create a document collection portal for sensitive documents in a compliant way using HubSpot-CloudFiles integration.
- Collect anonymous analytics on documents - In this tutorial, we have explained how you can publicly share PDFs and other documents stored in any cloud storage across various marketing channels through HubSpot - CloudFiles integration.
- Custom File Analytics Dashboard - In this tutorial, we will explore how to create and use the CloudFiles custom object in HubSpot to track and analyze file views.
- Data Consent and Privacy Notice - This tutorial guides you in enabling data consent and privacy compliance in CloudFiles, ensuring transparency with users.
- Document approval process - In this tutorial, we explain how you can create a document approval process within HubSpot using HubSpot-CloudFiles integration.
- E-mail Attachment Tracking - In this tutorial, we have explained how e-mail attachments sent through mass HubSpot campaigns can be tracked and reported on using the CloudFiles - HubSpot Integration.
- File Portals for Sales & Service teams - In this tutorial, we explain how you can share file portals through HubSpot - CloudFiles integration.
- File Upload Portal for clients - In this tutorial, we explains how to create a self-updating document portal HubSpot-CloudFiles integration.
- Mirror Deal Folder to Contacts Automatically - In this tutorial, we'll guide you through creating automated folders when a deal is created and ensuring that the same parent deal folder is automatically associated to the associated contacts of the deal using the CloudFiles-HubSpot integration.
- Move Files from HubSpot Forms to External Storage - In this tutorial, we will explore how to transfer files submitted through HubSpot forms to your storage platform using the HubSpot - CloudFiles integration. The files will be stored in folders that are automatically created based on form submissions.
- Selective File collection portal - In this tutorial, we'll show you how to automate a conditional file collection portal in external storage, linked to HubSpot records via the CloudFiles-HubSpot integration. You'll learn to generate dynamic parent folders, sub-folders and file request blocks based on user input using CloudFiles workflow actions.
- Selective Sub-Folder Sharing - In this tutorial, we'll show you how to automatically create folders in external storage and share links to subfolders from a HubSpot record using the CloudFiles-HubSpot Integration.
- Send secure collaterals using Email Verification - Learn to securely share marketing materials from HubSpot using CloudFiles, with options for email verification and automated workflows. This tutorial covers manual and automated methods to generate, secure, and track file-sharing links for smooth distribution.
---
# Admin, User & Account
https://help.cloudfiles.io/hubspot/admin-user-and-account
# Admin, User & Account
We have compiled all the articles and FAQs related to User and Account topics in this help document. This guide is designed to provide CloudFiles users with easy access to all the support they need in one place.
> Kind: Guide · Updated: Jul 8, 2026
We have compiled all the articles and FAQs related to User and Account topics in this help document. This guide is designed to provide CloudFiles users with easy access to all the support they need in one place. Below is a detailed overview of the topics you can explore.
## Table of Contents:
### Users Section
- What is an Integration/System user? Learn what an integration/system user is, how it connects with CRMs and cloud storage platforms, and the steps to set it up in CloudFiles.
- Inviting Users and Managing Licenses in the CloudFiles App: This section guides you through inviting users to HubSpot using CloudFiles and managing license assignments, both automatic and manual.
### Accounts Section
- Doc Management Settings: Document Management settings allow you to connect cloud storage platforms such as Google Drive, SharePoint, OneDrive, Dropbox, and more, manage available libraries, and configure file and folder conflict behaviours such as rename, replace, skip, or fail for when duplicates are encountered during automations.
- Doc Sharing Settings: Document Sharing settings allow you to configure how links are created, branded and secured at the account level. This includes enabling cloud storage connections, customising branding with your logo, subdomain or custom domain, setting default link behaviours such as download permissions and expiry, configuring compliance and data consent options and controlling viewer customisation such as login options, theme, and IP tracking.
- License & Billing Settings : License & Billing settings provide a centralised place to manage your subscription, including assigning and removing licenses for Document Management and Document Sharing, switching between plans, choosing monthly or annual billing, managing add-on packs and updating payment methods and invoices via Stripe.
- Other Account Settings: Other Account Settings covers managing your CloudFiles account information such as account name and connected HubSpot integration, as well as API key management, including the server-side API key and client-side client key used for integrating CloudFiles with your own applications, and the option to permanently delete your account.
- What are Automation Credits? Automation credits are units used to measure the execution of CloudFiles workflow actions, where one credit is consumed per flow action executed. This article explains how credits are allocated based on your subscription plan, how they are consumed during workflow executions, and that unused credits do not carry over to the next billing period.
---
# User-related
https://help.cloudfiles.io/hubspot/user-related
# User-related
This section covers everything you need to know about managing users in CloudFiles, including integration setup, user registration, license management, role assignments, and user deletion. Below is a brief overview of the topics covered.
> Kind: Guide · Updated: Jun 4, 2026
This section covers everything you need to know about managing users in CloudFiles, including integration setup, user registration, license management, role assignments, and user deletion. Below is a brief overview of the topics covered.
## Table of Contents:
- What is an Integration/System user?: This article explains how an Integration/System User connects HubSpot with CloudFiles to enable data syncing and automated actions.
- Inviting Users and Managing Licenses in the CloudFiles App: This section guides you on inviting users to HubSpot, managing license assignments, and ensuring smooth integration with CloudFiles.
---
# What is an Integration/System user?
https://help.cloudfiles.io/hubspot/what-is-an-integrationsystem-user
# What is an Integration/System user?
An Integration User is the account connection that links your HubSpot account with your CloudFiles account, allowing CloudFiles to perform actions within HubSpot.
> Kind: Guide · Updated: Jun 4, 2026
An Integration User is the account connection that links your HubSpot account with your CloudFiles account. In CloudFiles documentation, the term Integration User may also refer to a system user who performs actions between HubSpot and CloudFiles.This connection allows CloudFiles to perform actions within your HubSpot environment, such as fetching values from HubSpot fields or updating properties on HubSpot records.
## How to set up an Integration User
Follow these steps to connect your HubSpot account with CloudFiles:
- Select the product you are using (Document Sharing or Document Generation).
- Click the Settings icon in the top-right corner of the screen.
- In the left-hand sidebar, select Account.
- In the HubSpot Integration section, connect your HubSpot CRM.

Once the connection is completed, CloudFiles will be able to execute workflow actions and other automations in HubSpot.
> **Note** — Connecting your HubSpot CRM is a mandatory step during the initial setup of CloudFiles.
---
# Inviting Users and Managing Licenses in the CloudFiles App
https://help.cloudfiles.io/hubspot/inviting-users-and-managing-licenses-in-the-cloudfiles-app
# Inviting Users and Managing Licenses in the CloudFiles App
This guide walks you through the essential steps so you can easily onboard teammates and keep track of your license usage.
> Kind: Guide · Updated: Jun 4, 2026
Inviting new users and managing licenses in the CloudFiles App for HubSpot is straightforward. This guide walks you through the essential steps so you can easily onboard teammates and keep track of your license usage.
## Steps for Inviting Users
### Step 1: Log in to CloudFiles
- Open https://hubspot.cloudfiles.io/ and sign in with your credentials.
### Step 2: Open License Management
- Click the gear icon at the top-right corner.
From the settings panel on the left, select License Management.
### Step 3: Choose Your Product
- Select the CloudFiles product you are using, such as Document Management, Document Sharing or Document Generation. You will now see the list of users along with their email, role and license status.
### Step 4: Invite a New User
- Click the Invite User button above the table. A dialogue box will open where you can choose New Invites. Enter the email address of the user you want to add and select the role you want to assign.
### Step 5: Send the Invitation
- Click Send Invite. The user will receive an email with instructions to join the CloudFiles app.
This ensures your team has the right access and your license count stays accurate. If you need further help, CloudFiles Support is always available to assist you.
---
# Account-related
https://help.cloudfiles.io/hubspot/account-related
# Account-related
This section provides a comprehensive overview of account-related features in CloudFiles, including automation credits, account management, licensing, billing, and custom branding. Below is a summary of the topics covered.
> Kind: Guide · Updated: Jun 4, 2026
This section provides a comprehensive overview of account-related features in CloudFiles, including automation credits, account management, licensing, billing, and custom branding. Below is a summary of the topics covered.
## Table of Contents:
- Doc Management Settings: Learn how Document Management settings are used to connect cloud storage accounts and define how files/folders are handled. In this, you can connect supported storage, manage libraries, and set rules for handling duplicate files or folders.
- Doc Sharing Settings: Learn how Document Sharing settings allow you to configure links that are created, branded, and secured when sharing files through CloudFiles. These settings apply at the account level, but users can still adjust options at the individual link level if required.
- License & Billing Settings: Manage your subscription, view your current plan, update payment details, and access past invoices through the billing page.
- Other Account Settings: Learn how to update your account name, manage your primary app connection, such as HubSpot and account deletion, which permanently removes all data and cannot be undone.
- What are Automation Credits? : Learn about automation credits, how they are used within workflows, and how many you receive based on your subscription plan.
---
# Doc Management Settings
https://help.cloudfiles.io/hubspot/doc-management-settings
# Doc Management Settings
The Document Management settings are used to connect cloud storage accounts and define how files and folders are handled.
> Kind: Guide · Updated: Jun 4, 2026
The Document Management settings are used to connect cloud storage accounts and define how files and folders are handled. In this, you can connect supported storage, manage libraries, and set rules for handling duplicate files or folders.
## Integrations
The Integrations section shows the cloud storage that CloudFiles supports. From here, you can connect storage like Google Drive, SharePoint, OneDrive, Dropbox, Box, Microsoft Teams, HubSpot, and CloudFiles itself.
Each connected storage is linked to an integration or system user. This account is further used by CloudFiles to run automations such as folder creation and organisation. Once connected, you will see:
- Connected by – the user who connected the account.
- Connected on – the date of connection. You can also disconnect an account from here if needed.

To know more about integration users and how to connect them, refer to What is an Integration/System user?
## Manage Libraries
You can select which libraries to make available. Multiple libraries can be enabled. Each connected storage is associated with an integration user, the account CloudFiles uses to perform various automations.

## Conflict Behaviours
Conflict behaviours define how CloudFiles handles duplicate files and folders when running automations such as file/folder creation, backup, or organisation. These settings depend on the storage platform you have connected and are divided into two categories: File Conflict Behaviour and Folder Conflict Behaviour.
### File Conflict Behaviour
This setting controls what happens when CloudFiles tries to create or upload a file that already exists in the same location. Depending on the platform, CloudFiles may allow you to rename the new file to make it unique, replace the existing file with the new one, keep the existing file unchanged, or stop the process with an error.
### Folder Conflict Behaviour
This setting determines how CloudFiles reacts when a folder with the same name already exists. Similar to files, the system may either create a uniquely named folder, keep the existing one unchanged, or stop the operation entirely.
### How Storage Platforms Handle Conflicts?
CloudFiles supports four behaviours across different platforms: Rename, Replace, No Op, and Fail.
- Rename adds a suffix such as “(1)” to create a unique file or folder name and is supported on all major platforms, including CloudFiles, Google Drive, Dropbox, SharePoint, OneDrive, Box, and Microsoft Teams.
- Replace overwrites an existing file and is supported only for files on platforms that allow overwriting, specifically OneDrive, SharePoint, and Microsoft Teams.
- No Op skips creation and keeps the existing item unchanged, and is available across all platforms.
- Fail stops the action entirely and reports an error, and is also supported wherever the platform allows error-based conflict handling.
Folder conflict handling follows a similar pattern, with most platforms supporting Rename, No Op, and Fail, while Replace is not available for folders on any platform.

---
# Doc Sharing Settings
https://help.cloudfiles.io/hubspot/doc-sharing-settings
# Doc Sharing Settings
The Document Sharing settings allow you to configure how links are created, branded, and secured when sharing files through CloudFiles.
> Kind: Guide · Updated: Jun 4, 2026
The Document Sharing settings allow you to configure how links are created, branded, and secured when sharing files through CloudFiles. These settings apply at the account level, but users can still adjust options at the individual link level if required.
## Connection
Enable/Disable cloud libraries for sharing, including CloudFiles, Google Drive, SharePoint, OneDrive, Dropbox, Box, Microsoft Teams, and HubSpot.

## Branding
Customise shared links with your website, logo, subdomain, or custom domain. For more information on this, refer to Custom Branding & Domain

## Link Defaults
Default link behaviours can be set here. These include whether links are online or offline, whether viewers are allowed to download files, and if links should expire after a number of views or days.

## Compliances
Collect end-user consent before personal data is shared. Customise the consent statement and link your privacy policy. You can refer to Data Consent and Privacy Notice for a detailed step-by-step guide.

## Viewer Customisation
Control viewer behaviour such as choosing login options (email, Google, Microsoft), setting the theme (light/dark), and enabling IP tracking.

---
# Custom Branding & Domain
https://help.cloudfiles.io/hubspot/custom-branding-and-domain
# Custom Branding & Domain
Learn how to white-label your CloudFiles Document Viewer with your company logo and a custom domain by purchasing an Enterprise license.
> Kind: Guide · Updated: Jun 4, 2026
To white-label your CloudFiles Document Viewer with your company logo and custom domain, you'll need to purchase an Enterprise license. This process involves three main steps:
## Accessing the accounts settings page
In order to set your custom branding & domain, you need to be logged in with your admin account. This is detailed in the steps given below -
- Go to https://app.cloudfiles.io and sign in with your admin email.
- Click the Document Sharing tab on the top navigation bar.
- From the left sidebar, open Settings and select Document Sharing.
Follow the steps shown in the GIF to set up your custom branding and domain.
## Adding logo, favicon & website
Once you are in your Document Sharing - Branding page, you can easily set your logo, favicon & website using the steps below -
- Select the Branding section from the top bar.
- Add your website.
- Upload your logo by clicking on the Upload button
- Enter your desired sub-domain and confirm.
- Your favicon will be automatically pulled from your website.
Once you have followed these steps, your CloudFiles previews & links should start showing your favicon & logo. Even your old links would update.
For example, if your logo is "iDEMO" and your domain is "idemo.com," so, once you've completed the steps, they will appear as follows:

## CNAME Mapping for custom domain
In order to add your custom domain, you first need to map CloudFiles with your DNS provider. This process is called CNAME mapping and is usually handled by IT teams in large organizations. Although the steps may change based on the DNS provider, here are the main steps to be followed. If you are not the IT admin, it is best to get them involved so they can easily understand and implement these
- Go to your DNS provider where yourdomain.com DNS is purchased from.
- Open the DNS settings
- Create a new record with type CNAME
- For that record, host = the subdomain name you want. This can be anything that you like, for example - docs, files etc.
- For value, add cname.cloudfiles.io
- For TTL select 5 minutes. Your new sub-domain will become accessible after this much time.
Once the CNAME Mapping is done, you can add the custom domain through the setting provided in the Branding section. Follow the steps below in order to do the same.
- Click on the Configure button to initiate the process, this will result in prompting a input to add your custom domain, click Continue once you have added the domain. Refer to the image given below for further explanation.

- Once you have clicked "Continue", the system will attempt to configure your domain. If the domain is successfully configured you will see "Active" state. You may get "Missing Configuration" state otherwise, as shown in the image below.

### How does custom domain affect current links?
After the CNAME mapping is completed on our side, your links will update. Your old links will continue to work but won't redirect to the new links. CloudFiles keeps the link slug same but replaces the prefix. E.g. https://cloudfiles/slug will become https://docs.yourdomain.come/slug
---
# License & Billing Settings
https://help.cloudfiles.io/hubspot/license-and-billing-settings
# License & Billing Settings
The license & billing pages provide a centralized place to manage your subscription details, including your current plan, payment methods, and license information.
> Kind: Guide · Updated: Jun 4, 2026
The license & billing pages provide a centralized place to manage your subscription details, including your current plan, payment methods, and license information. Use this page to review and update your license & billing information as needed.
## Licensing
Under License Management, Admin can assign or remove licenses to an user or delete users from CloudFiles. Each product (Document Management/Document Sharing/ Document Generation) shows the user list with email, license status, and role (Admin or User). The page also shows how many licenses are active and how many are available.
You can refer to License Management for more information on managing licenses and roles.

## Subscriptions
View and switch between available plans for Document Management and Document Sharing. Choose monthly or annual billing, and upgrade or downgrade as needed.

## Billing
The Billing section allows you to manage your Subscription Plans and payment details through Stripe. Here you can view total and active licenses for each product, add-on packs purchased, update your plan, change the billing cycle, or cancel a subscription. The Manage Billing in Stripe option opens Stripe for updating payment methods and invoices.

---
# Subscription Plans
https://help.cloudfiles.io/hubspot/subscription-plans
# Subscription Plans
Overview of CloudFiles' subscription structure — licenses, products (Doc Management, Doc Sharing, Doc Generation), business/enterprise tiers, and add-on packs — plus user requirements and billing details.
> Kind: Guide · Updated: Jun 4, 2026
CloudFiles provides subscription options for it's main products. Each product is available in Business and Enterprise plans, with monthly or annual billing options. Annual as well as bundled billing offers a discounted rate. We also offer Add-On packs to increase limits on various things as per your requirement.
To know more about the specific pricing, you can check in the HubSpot Marketplace. or on our Website pricing page.
In this article, we first talk about the overall pricing structure, and then dive deeper into the individual plans available for the integration.
## Overall Pricing Structure
The CloudFiles HubSpot Integration is priced in a way that you only purchase what you need. The pricing structure is built around a few core concepts. Licenses, Products, Tiers & Add-Ons.
### Licenses
Your purchase licenses by deciding the Product(s) and Tier you need. All the purchased licenses will be on the same Product(s) and tier. Only users who will be using CloudFiles functionlaity through HubSpot need a license (i.e. all HubSpot users do not need a license).
Each license offers certain number of credits on things like views, automations, datarooms etc... You can extend these limits by using add-on packs that available with bulk as well as annual options.
### Products
These include the following products, each with its own exclusive set of functionalities. You can purchase either one of these products, or both of them as a bundle.
- Doc Management: Access external storages from HubSpot records. Automate file & folder management processes. This does not include sharing & analytics capabilities available with Doc Sharing product.
- Doc Sharing: Share files, folder and datarooms as secure CloudFiles links and collect analytics that can be associated to HubSpot. This does not include external storage connections which is only included with the Doc Management Product.
- Doc Generation: Generate on-brand documents using templates built in Microsoft / Google based editors.
### Tiers
You can either purchase the products on business or enterprise tiers. There are some advanced functionalities which are exclusive to enterprise plans. For Doc Management this includes automations, supporting very large files, priority support etc... For Doc Sharing this includes automations, custom branding (custom domain is available on business license) etc... Enterprise licenses also offer higher starting limits of things like automation credits, views etc...
> Note that automations are only available on enterprise tier.
Here are the latest base prices for the above products and tiers.
| Product / Tier | Business | Enteprise |
|---|---|---|
| Doc Management | $ 5 / user / month | $ 15 / user / month |
| Doc Sharing | $ 15 / user / month | $ 25 / user / month |
| Doc Generation | $ 15 / user / month | $ 25 / user / month |
### Add-Ons
Each license offers certain number of credits on things like views, automations, datarooms etc... E.g. the Doc Management Enteprise license offers 150 automation credits / license / mo by default. You can extend these limits by using add-on packs that are available with bulk as well as annual options.
### Automation Pack
| Plan | Price/month | Automations/month |
|---|---|---|
| Small Pack | $10 | 100 |
| Medium Pack | $75 | 1,000 |
| Large Pack | $500 | 10,000 |
### Document Sharing Pack
| Plan | Price/ month | Views/ month | Tracked emails/ month | Datarooms/ month |
|---|---|---|---|---|
| Small Pack | $10 | 1,000 | 100 | 25 |
| Medium Pack | $75 | 10,000 | 1,000 | 250 |
| Large Pack | $500 | 100,000 | 10,000 | 2500 |
### Document Generation Pack
| Plan | Price/ month | Documents/ month |
|---|---|---|
| Small Pack | $10 | 100 |
| Medium Pack | $75 | 1,000 |
| Large Pack | $500 | 10,000 |
Monthly packs offer credits that expire after a month. If you are unsure about your usage, you should instead purchase annual packs. Credits from annual packs expire after an year.
Annual packs come with 2 discounted months. E.g. the annual small pack will cost $100 / year with 1200 automation credits that will expire after the year. Similarly, a large annual pack gives you 30,000 datarooms and 1.2 million file views at $5,000 / year.
> Please note- each add-on requires its corresponding base product to be active on the account.
## User Requirements and Billing
There is no minimum user requirement for any plan. Subscriptions can be started with a single license, and the number of licenses can be changed at any time. Plans can also be switched after purchase if requirements evolve. Both Document Management and Document Sharing subscriptions can be billed monthly or annually, and all payments are securely processed through Stripe.
Thus, CloudFiles offers flexibility across both document management and document sharing needs. Business plans provide essential features for everyday use, while Enterprise plans extend those capabilities with automation, advanced controls, and higher allowances.
---
# Other Account Settings
https://help.cloudfiles.io/hubspot/other-account-settings
# Other Account Settings
The Account Information section allows you to manage your personal CloudFiles account settings, view your connected HubSpot integration, and take actions related to your account.
> Kind: Guide · Updated: Jun 4, 2026
## Account Information
The Account Information section allows you to manage your personal CloudFiles account settings, view your connected HubSpot integration, and take actions related to your account.
### Account Name
This field displays the current name associated with your CloudFiles account. You can update it at any time to reflect the name you want shown across your workspace. After making changes, click Save to apply the update.
### HubSpot Integration
This section shows the primary HubSpot account connected to CloudFiles. It includes the email address used for the integration and provides a Reconnect option in case you need to reauthorize or refresh the connection. This integration ensures syncing and interaction between CloudFiles and your HubSpot environment.
### Delete Account
This option allows you to permanently delete your CloudFiles account along with all associated data. Deleting your account is irreversible and removes all stored files, settings, and integrations. Use this action only if you no longer need access to CloudFiles.

## API Keys
The API Keys section allows you to manage the credentials required to integrate CloudFiles with your own applications. These keys provide secure programmatic access to CloudFiles features and are used when building server-side or client-side integrations. Each key serves a different purpose, ensuring that you can authenticate safely depending on the type of application you are developing.
### API Key
The API Key is used for server-side integrations. It allows your backend systems to communicate securely with CloudFiles APIs. This key should always be kept private, stored securely, and never exposed in public code or browser environments.
### Client Key
The Client Key is designed for client-side integrations, such as using the CloudFiles JavaScript SDK in web applications. Unlike the server-side key, this key is safe to use in public-facing applications because it has limited permissions appropriate for front-end usage.
Refer to API documentation for more information.

---
# Working with Multiple CloudFiles Accounts
https://help.cloudfiles.io/hubspot/working-with-multiple-cloudfiles-accounts
# Working with Multiple CloudFiles Accounts
Learn how to sign in, switch between, create, and manage multiple CloudFiles accounts.
> Kind: Guide · Updated: Jun 4, 2026
CloudFiles is built for being the external file sharing service for your entire team. However, with a greater number of files and team size, comes difficulty in managing everything seamlessly. Hence, file organization on your part becomes very important. So, let's learn to work with multiple CloudFiles accounts.
## Signing to a CloudFiles Account
If you have multiple accounts within CloudFiles, follow the upcoming steps to work with them seamlessly -
- Sign in to CloudFiles using your email ID using https://auth.cloudfiles.io/
- Choose the account you wish to work with on the next screen.
The account selection screen is shown in the GIF below.
## Switching CloudFiles Account
If you are already signed into a CloudFiles Account and wish to switch to another account, you have to sign out from the particular CloudFiles account and follow the steps mentioned above.
## Creating a New Account
In order to create a new account, log out from your existing account and click on "Sign up" under "Don't have an account?" and then select CloudFiles Webapp. Fill in the required details and a new accpunt will be created.
## Setting Account Name
Sign in to the CloudFiles account where you are the Admin. Go to Settings and then choose account, select Edit and update the name of your CloudFiles account.
---
# Permanently Delete Your Account
https://help.cloudfiles.io/hubspot/permanently-delete-your-account
# Permanently Delete Your Account
Deleting a CloudFiles account is a permanent action that removes all files, links, and analytics associated with the account.
> Kind: Guide · Updated: Jun 4, 2026
Deleting a CloudFiles account is a permanent action that removes all files, links, and analytics associated with the account. Only an Admin can perform this action. To delete an account, log in to the CloudFiles app, go to settings, select the "Account" sidebar, and click "Delete Account" button as shown below. Enter the confirmation code and click "Remove."

---
# What are Automation Credits?
https://help.cloudfiles.io/hubspot/what-are-automation-credits
# What are Automation Credits?
Automation credits are units used to measure the execution of CloudFiles Workflow Actions, with one credit consumed per flowaction performed.
> Kind: Guide · Updated: Jun 4, 2026
Automation credits are units used to measure the execution of CloudFiles Workflow Actions. One credit is used each time you perform a flowaction.
For instance, if your workflow includes four flowactions, running the workflow once will use up four credits. Every execution of a flowaction consumes one credit, and unused credits do not carry over to the next period.
## How many automation credits do I get?
The number of automation credits varies based on your subscription plan. Automation credits increase with each level: Pro, Business, and then Enterprise licenses. To know about the number of automation credits included in each plan you can visit the HubSpot Marketplace.
Here’s an example to illustrate how automation credits are used:
For example, if you have a Pro license with 10 users and each user receives 100 automation credits per month, your total for the month is 1,000 credits. As the admin, if you run a workflow that uses 10 CloudFiles flowactions for the first time, 10 credits will be consumed during this execution. After running the workflow, you will have 990 credits remaining for the month.
In summary, automation credits are used to track the execution of flowactions in your workflows. The amount of credits you have depends on your subscription plan, and they are used according to the number of flowactions performed.
---
## Storage Integrations
---
# External Storage / Library Configuration
https://help.cloudfiles.io/salesforce/external-storage-library-configuration
# External Storage / Library Configuration
CloudFiles allows seamless integration with multiple external storage providers, enabling users to store, access, and manage files within Salesforce.
> Kind: Guide · Updated: Jul 4, 2026
CloudFiles allows seamless integration with multiple external storage providers, enabling users to store, access, and manage files within Salesforce. This section guides you through setting up and managing external storage libraries.
## Getting Started
Once your CloudFiles account is set up, you will land on the Home Tab.

Follow these steps to configure your storage libraries:
- Navigate to the "Document Management" tab – This is where you access all CloudFiles settings.
- Click "Start Trial" if you don't have a subscription yet.

- Select libraries to work with – Click "+" to add libraries and proceed with the setup.

- Setup Home – Explore quick setup guides and resources.

- Manage Libraries – Use the sidebar to connect new libraries or modify existing ones.

- Library-Specific Configuration – Once a library is connected, additional configurations based on the storage provider will be required.
## Supported Storage Libraries
CloudFiles supports a wide range of external storage providers:
- SharePoint
- Google Drive
- OneDrive
- AWS - S3
- Azure Blob
- MS Teams
- Box
- Dropbox
- SFTP Library
- Azure Files
Each library has specific configuration steps and settings, which are detailed in their respective subsections.
---
# SharePoint
https://help.cloudfiles.io/salesforce/sharepoint
# SharePoint
The Integration User allows you to connect an account-level SharePoint account, which is used for automations like file backup and organization.
> Kind: Guide · Updated: Jul 4, 2026
The SharePoint tab under Manage Libraries controls how CloudFiles authenticates with your SharePoint tenant, how file and folder conflicts are handled, which sites are available for use, and which advanced SharePoint REST APIs CloudFiles can call.
CloudFiles supports two authentication methods for SharePoint - Integration User and Service Principal. Only one method is active for automations at any given time.
| Method | What it uses | Best for |
|---|---|---|
| Integration User | A real Microsoft user account in your tenant | Fastest way to get started. Works well for teams that already have a dedicated integration account and are comfortable managing MFA, license, and password policies on it. |
| Service Principal | The CloudFiles app registered in your Microsoft tenant, approved once by a Global Administrator | Long-running, reliable connections. No user account, no license consumed, no risk of the connection breaking due to MFA prompts, password rotation, or user offboarding. |
See also: for a conceptual deep-dive on choosing between the two authentication methods, see SharePoint Connection Methods: Integration User vs Service Principal.
## Integration User
The Integration User allows you to connect an account-level SharePoint account, which is used for automations like file backup and organization.
To configure, follow the steps below -
- Navigate to the "Libraries" page and access the SharePoint section on the canvas.
- Under "Integration User," click the Connect button.
- Log in to the Microsoft account associated with SharePoint, or select the account if already logged in.
- Once connected, the username and connection date will be displayed under "Integration User."
- To change the Integration User, use the Disconnect option and repeat the process.

## Service Principal
With service principal, CloudFiles authenticates as the CloudFiles app already registered in your Microsoft tenant. A Global Administrator approves app-level permissions once, and the connection then runs without a user account, license, MFA prompt, or password rotation risk.
The setup happens in three parts: the Salesforce admin generates a setup link, a Microsoft Global Administrator approves the permissions using that link, and the Salesforce admin then activates service principal for automations.
- Under Service principal, click Setup. The status shows Not configured until this step is completed.
- In the Tenant URL field, enter your SharePoint tenant URL (for example, https://cloudfileswork.sharepoint.com).
- Click Generate. CloudFiles generates a setup link and the status changes to Awaiting admin consent. The setup link is active for 7 days.
- Copy the setup link and share it with your Microsoft Global Administrator. This admin is often not a Salesforce user, which is why the link is shareable and does not require a CloudFiles or Salesforce login.
- Ask the admin to open the link and approve the permissions requested for the CloudFiles app. Once approved, the status on the SharePoint tab changes to Consent granted.
- Return to the SharePoint tab and click Switch automations to service principal.
## Conflict Behaviors
Specify how the system should handle duplicate files or folders during operations in SharePoint:
- File Conflict Behavior: Options include Rename, Replace, No Op, or Fail.
- Folder Conflict Behavior: Options include No Op, Rename, or Fail.
## Register Sites
This option is only needed if you wish to restrict which sites are displayed and available for use. Only registered SharePoint sites will be accessible for users connecting their SharePoint account with CloudFiles.
To register a site:
- Click the Register button under the "Register Sites" section.
- In the popup window, paste the URL of the SharePoint site (e.g., https://cloudfileswork.sharepoint.com/sites/Demo1) and click Register.
- The registered sites will appear as a list in the same section.
- To remove a site, click the delete icon next to it and confirm the action in the "Remove Site" popup.

## SharePoint Rest API Authorization
This authorization is necessary for advanced functionalities such as site creation and property searches within flows.
To connect:
- In the Tenant URL box, paste the URL of the SharePoint (e.g., https://cloudfileswork.sharepoint.com) and click Connect.
- Log in to the Microsoft account associated with SharePoint, or select the account if already logged in.
- Accept the Permissions requested by clicking "Accept"
- The authorized Tenant URL along with the username and connection date will be displayed under the same section.
- To deauthorize, simply click the Disconnect button.

---
# Google Drive
https://help.cloudfiles.io/salesforce/google-drive
# Google Drive
The Integration User allows you to connect an account-level Google Drive User account, which is used for automations like file backup and organization.
> Kind: Guide · Updated: Jul 4, 2026
## Integration User
The Integration User allows you to connect an account-level Google Drive User account, which is used for automations like file backup and organization.
To configure, follow the steps below -
- Navigate to the "Libraries" page and access the Google Drive section on the canvas.
- Under "Integration User," click the Connect button.
- Log in to the Google account associated with user, or select the account if already logged in.
- Once connected, the username and connection date will be displayed under "Integration User."
- To change the Integration User, use the Disconnect option and repeat the process.

---
# OneDrive
https://help.cloudfiles.io/salesforce/onedrive
# OneDrive
The Integration User allows you to connect an account-level OneDrive User account, which is used for automations like file backup and organization.
> Kind: Guide · Updated: Jul 4, 2026
## Integration User
The Integration User allows you to connect an account-level OneDrive User account, which is used for automations like file backup and organization.
To configure, follow the steps below -
- Navigate to the "Libraries" page and access the OneDrive section on the canvas.
- Under "Integration User," click the Connect button.
- Log in to the Microsoft account associated with user, or select the account if already logged in.
- Once connected, the username and connection date will be displayed under "Integration User."
- To change the Integration User, use the Disconnect option and repeat the process.

## Conflict Behaviors
Specify how the system should handle duplicate files or folders during operations in OneDrive:
- File Conflict Behavior: Options include Rename, Replace, No Op, or Fail.
- Folder Conflict Behavior: Options include No Op, Rename, or Fail.

---
# AWS - S3
https://help.cloudfiles.io/salesforce/aws-s3
# AWS - S3
This guide walks through connecting your AWS S3 bucket to CloudFiles by creating a CloudFormation stack and linking it back to CloudFiles.
> Kind: Guide · Updated: Jul 4, 2026
This guide will walk you through the process of connecting your AWS S3 bucket to CloudFiles. By the end of this guide, you will have created a new stack in CloudFormation and obtained the necessary details to successfully link your S3 bucket to CloudFiles.
> **Prerequisites** — You need an active AWS account and an S3 bucket for integration. Ensure that you have already created the required S3 bucket in your account before proceeding with the following steps.
## 1 - Enter bucket name in CloudFiles
- Head over to the CloudFiles app in Salesforce and navigate to the Document Management tab -> Libraries, and click on AWS S3. If you don't see the AWS S3 option at the top of the page, click on 'Manage Libraries' and add the library.
- Click on 'Connect' and enter your S3 bucket name, and continue.


## 2- Download the CloudFormation Template
- Note down the External ID and download the CloudFormation template that is generated. Head over to the AWS Management Console after this step.

## 3 - Access AWS CloudFormation
- In the AWS Management Console, search for and select 'CloudFormation'.
## 4 - Create a New Stack
- Click on “Create stack” and select “With new resources (standard)”.
- Choose “Template is ready” under the “Prepare template” options.
## 5 - Upload the CloudFormation Template
- Select “Upload a template file”.
- Click on “Choose file” and upload the CloudFormation template that you downloaded in step 2.
- Click “Next”.
## 6 - Specify Stack Details
- Enter a name for your stack. For example, “CloudFilesS3Integration”.
- Fill in any parameters required by the template, if applicable.
- Click “Next”.
## 7 - Configure Stack Options (Optional)
- Configure any additional options like tags or permissions if necessary.
- Click “Next”.
## 8 - Review and Create the Stack
- Review all settings and details. Make sure everything is correct.
- Acknowledge that AWS CloudFormation might create IAM resources.
- Click “Create stack”.
## 9 - Wait for Stack Creation
- The stack creation process might take a few minutes. Wait until the status changes to “CREATE_COMPLETE”.
## 10 - Obtain the Outputs
- Once the stack creation is complete, go to the “Outputs” tab of your stack.
- Note down the ‘Role ARN’ value. This will be essential for connecting your S3 bucket to CloudFiles.
## 11 - Enter Details in CloudFiles
- Head back to the libraries screen in CloudFiles app (where you left off in step 2) to enter the rest of the details.
- Enter the ‘Role ARN’ you noted down in the previous step.
- (Optional) Enter a 'Prefix': The Prefix defines the folder path within your S3 bucket that CloudFiles will use. This allows you to organize data within a single section of the bucket instead of using the entire bucket.
When connecting a bucket for the first time, you can choose any prefix. If you reuse an existing bucket in another org, each connection must use a unique, non-overlapping prefix to prevent conflicts. For example, team-a/ and team-b/ are valid, but team-a/ and team-a/subfolder/ are not.
- Enter the Drive Label: The Drive Label is the display name for the storage connection in CloudFiles. This label is what users will see in the UI when accessing or selecting a storage location, making it easier to identify and distinguish between multiple connected drives. It is optional for the first bucket connected in the org but required for any additional connections to ensure each drive can be easily identified.
- Save your settings.
> **Note** — A prefix is mandatory every time you connect the same bucket more than once, whether within the same org or across different orgs — this ensures paths do not overlap. If you are connecting the same bucket a second time within the same org, both the original and the new connection must have a prefix, so if the first connection was made without one, disconnect it and reconnect with a prefix before adding the second.A drive label is mandatory from the second bucket onward within the same org, regardless of whether the buckets are the same or different.
After entering the details in CloudFiles, your S3 bucket should now be successfully connected to your CloudFiles account. You can start managing and accessing your S3 files directly through CloudFiles.
> **Note** — If the bucket is already connected, you will get the 'Reuse Existing Connection' option at this stage and can connect the same bucket again with a different non-overlapping prefix.

## 12 - Enable Sync (Optional)
- Turn on Enable Sync to automatically sync changes between your S3 bucket and CloudFiles.
- Once enabled, any files or folders that are uploaded, updated, or deleted in S3 will be reflected in CloudFiles.
> **Note** — Sync only applies to changes made after the toggle is enabled. Existing files in your S3 bucket will not appear automatically in CloudFiles. To make historical data available, a custom (paid) migration is required. Please contact support@cloudfiles.io for more details. If your S3 bucket was connected before the automated sync setup was introduced, enabling sync may require updating the IAM role permissions first. See How to enable Auto Sync for old S3 buckets connected in CloudFiles for steps.
## Column Configuration for S3 Library
You can customize the columns displayed in widgets through the Library Configuration tab in Document Management for S3. Refer to the images below for visual understanding.


## Disconnect AWS S3 buckets
Users can disconnect S3 Buckets directly from the Salesforce app. This action will remove the storage connection along with any associated metadata within the app.


---
# Azure Blob
https://help.cloudfiles.io/salesforce/azure-blob
# Azure Blob
Step-by-step guide to connect an Azure Blob storage container with CloudFiles, covering app registration, storage account and container setup, CORS/IAM configuration, connecting the drive in CloudFiles, enabling sync, and column configuration.
> Kind: Guide · Updated: Jul 4, 2026
Here's a step-by-step guide to help you connect your Azure blob storage container with CloudFiles.
## 1 - Add CloudFiles Application
- Search for CloudFiles in Microsoft Entra Gallery.
- Click on CloudFiles and click "Create" to add an instance of CloudFiles application in your Azure portal

If the above doesn't work for you, alternatively you can click the button below to authorize CloudFiles. This will add CloudFiles automatically to your enterprise applications list.
## 2 - Create a Storage Account
- Navigate to Azure Portal - Log in to your Azure portal.
- Create a New Storage Account - Go to the 'Storage accounts' section and click on 'Add' to create a new storage account.
- Configure the Storage Account - Follow the on-screen instructions to configure your storage account, selecting the appropriate subscription, resource group, and other relevant settings.
## 3 - Create a Container in Storage Account
- Open Storage Account - Once the storage account is created, open it.
- Create Container - In the storage account dashboard, locate the 'Containers' section and create a new container. Assign a name and set the access to Private (no anonymous access)
## 4 - Update Storage Account Access Control
Add Storage Blob Delegator Permission - In the storage account settings, go to Access Control (IAM). Create a new Role Assignment. Select the role: "Storage Blob Delegator". On Members screen, search for "CloudFiles" service principal.
## 5 - Update Container Access Control
Add Storage Blob Data Contributor Permission - In the container settings, go to Access Control (IAM). Create a new Role Assignment. Select the role: "Storage Blob Data Contributor". On Members screen, search for "CloudFiles" service principal.
## 6 - Configure Azure Storage in CloudFiles
- Open CloudFiles Setup in Salesforce: Log into your Salesforce account and navigate to the CloudFiles app launcher. Go to libraries section in Document Management app, select Azure Blob.
- Enter the 'Storage Account Name' and 'Container Name'
- (Optional) Enter 'Prefix': The Prefix defines the folder path within your azure container that CloudFiles will use. This allows you to organize data within a single section of the container instead of using the entire container.
When connecting a container for the first time, you can choose any prefix. If you reuse an existing container in another org, each connection must use a unique, non-overlapping prefix to prevent conflicts. For example, team-a/ and team-b/ are valid, but team-a/ and team-a/subfolder/ are not.
- Enter 'Drive Label': The Drive Label is the display name for the storage connection in CloudFiles. This label is what users will see in the UI when accessing or selecting a storage location, making it easier to identify and distinguish between multiple connected drives. It is optional for the first container connected in the org but required for any additional connections to ensure each drive can be easily identified.
- Connect
> **Note** — A prefix is mandatory every time you connect the same container more than once, whether within the same org or across different orgs — this ensures paths do not overlap. If you are connecting the same container a second time within the same org, both the original and the new connection must have a prefix, so if the first connection was made without one, disconnect it and reconnect with a prefix before adding the second.A drive label is mandatory from the second container onward within the same org, regardless of whether the containers are the same or different.

## 7 - Enable auto sync in Azure (Optional)
- If you wish to have a 2 way sync to view your files in Azure through the CloudFiles widget, please follow the steps mentioned in How to enable auto-sync on Azure Blob
## 8 - Enable Sync in CloudFiles
- Turn on Enable Sync to automatically sync changes between your azure container and CloudFiles. (Completing step 8 is mandatory if you wish to turn this toggle on)
- Once enabled, any files or folders that are uploaded, updated, or deleted in azure will be reflected in CloudFiles.
> **Note** — Sync only applies to changes made after the toggle is enabled. Existing files in your azure container will not appear automatically in CloudFiles. To make historical data available, a custom (paid) migration is required. Please contact support@cloudfiles.io for more details.

## Column Configuration for Azure
You can customize the columns displayed in widgets through the Library Configuration tab in Document Management for Azure. Refer to the images for visual understanding.
> **Note** — Custom Azure columns can only be created and managed in the CloudFiles app. You can view and update these column values in the CloudFiles Content Library or CloudFiles widget. They are not available in Azure Blob Storage, so you cannot view or edit them directly there.



## Disconnect Azure Containers
Users can disconnect Azure Containers directly from the Salesforce app. This action will remove the storage connection along with any associated metadata within the app.
---
# MS Teams
https://help.cloudfiles.io/salesforce/ms-teams
# MS Teams
Configure the account-level MS Teams Integration User and set conflict behaviors for duplicate files or folders during MS Teams operations.
> Kind: Guide · Updated: Jul 4, 2026
## Integration User
The Integration User allows you to connect an account-level MS Teams User account, which is used for automations like file backup and organization.
To configure, follow the steps below -
- Navigate to the "Libraries" page and access the MS Teams section on the canvas.
- Under "Integration User," click the Connect button.
- Log in to the Microsoft account associated with user, or select the account if already logged in.
- Once connected, the username and connection date will be displayed under "Integration User."
- To change the Integration User, use the Disconnect option and repeat the process.

## Conflict Behaviors
Specify how the system should handle duplicate files or folders during operations in MS Teams:
- File Conflict Behavior: Options include Rename, Replace, No Op, or Fail.
- Folder Conflict Behavior: Options include No Op, Rename, or Fail.

---
# Box
https://help.cloudfiles.io/salesforce/box
# Box
The Integration User allows you to connect an account-level Box User account, which is used for automations like file backup and organization.
> Kind: Guide · Updated: Jul 4, 2026
## Integration User
The Integration User allows you to connect an account-level Box User account, which is used for automations like file backup and organization.
To configure, follow the steps below -
- Navigate to the "Libraries" page and access the Box section on the canvas.
- Under "Integration User," click the Connect button.
- Log in to the Box account associated with user, or select the account if already logged in.
- Once connected, the username and connection date will be displayed under "Integration User."
- To change the Integration User, use the Disconnect option and repeat the process.

## Conflict Behaviors
Specify how the system should handle duplicate files or folders during operations in Box:
- File Conflict Behavior: Options include Replace, No Op, or Fail.
- Folder Conflict Behavior: Option include No Op.

---
# Dropbox
https://help.cloudfiles.io/salesforce/dropbox
# Dropbox
The Integration User allows you to connect an account-level Dropbox User account, which is used for automations like file backup and organization.
> Kind: Guide · Updated: Jul 4, 2026
## Integration User
The Integration User allows you to connect an account-level Dropbox User account, which is used for automations like file backup and organization.
To configure, follow the steps below -
- Navigate to the "Libraries" page and access the Dropbox section on the canvas.
- Under "Integration User," click the Connect button.
- Log in to the Dropbox account associated with user, or select the account if already logged in.
- Once connected, the username and connection date will be displayed under "Integration User."
- To change the Integration User, use the Disconnect option and repeat the process.

## Conflict Behaviors
Specify how the system should handle duplicate files or folders during operations in Dropbox:
- File Conflict Behavior: Options include Rename.
- Folder Conflict Behavior: Options include No Op, Rename, or Fail.

---
# SFTP Library
https://help.cloudfiles.io/salesforce/sftp-library
# SFTP Library
Follow the steps below to add an SFTP library.
> Kind: Guide · Updated: Jul 4, 2026
Follow the steps below to add an SFTP library -
Navigate to Document Management Settings: Go to CloudFiles App > Document Management > Configuration > External Storages.
Access the Libraries Tab Click on the Libraries tab.
Add New SFTP Library Select the option to add a new library and choose SFTP as the library type.

Enter SFTP Details: Provide the following information:
- Host - The address of your SFTP server.
- Port - The specific port number used for the SFTP connection.
- Username - Your SFTP account username.

Save and Connect: Click Save to establish the connection.

---
# Azure Files
https://help.cloudfiles.io/salesforce/azure-files
# Azure Files
This article shows how to connect an Azure Files share to CloudFiles so you can browse, manage, and share files from your Azure storage directly within Salesforce.
> Kind: Guide · Updated: Jul 4, 2026
This article shows how to connect an Azure Files share to CloudFiles so you can browse, manage, and share files from your Azure storage directly within Salesforce.
## 1 - Retrieve your Connection String from Azure Portal
- In the Azure Portal, open your Storage Account.
- Go to Security + Networking > Access keys.
- Copy either key1 or key2 connection string.
- Note: The connection string must use HTTPS. Strings using HTTP are not accepted.

## 2 - Retrieve your Share Name from Azure Portal.
- In the Azure Portal, open your Storage Account.
- Go to Data storage > File shares.
- Copy the name of the file share you want to connect.

## 3 - Add details in CloudFiles libraries
- In Salesforce, open the CloudFiles app and navigate to Document Management > Libraries. If Azure Files is not already visible in your library list, click on Manage Libraries and add it.
- Then click on Azure Files to open its configuration page.
- Enter the Connection String and Share Name in the configuration screen.
- Click on Connect. CloudFiles will validate your credentials before saving. If the connection string or share name is invalid, an error will be shown and the connection will not be saved.


> **Supported actions** — The following actions are available for files and folders in Azure Files:Browse, upload, download, rename, move, and delete files and foldersCreate new files and foldersCopy files across librariesShare links for filesFile preview for PDFs
> **Known limitations** — Search is not supported. Azure Files natively supports only prefix-based search. Full-text or keyword search is unavailable.Non-PDF file preview is not supported. Files in formats such as DOCX and PPTX cannot be previewed inline.Open in App is not available for files stored in Azure Files.File replace is not supported. To update a file, delete the existing version and upload the new one.
## Disconnect Azure Files
To remove an Azure Files connection, open Document Management > Libraries, select the Azure Files library, and use the disconnect option. This will remove the storage connection and all associated metadata from the CloudFiles app.
---
## REST API
---
# Authentication
https://help.cloudfiles.io/docs/api-authentication/
# Authentication
Authenticate CloudFiles REST API calls with a Bearer API key, and where to find your key in Salesforce and HubSpot.
> Kind: REST endpoint · Updated: Mar 9, 2026
## Authentication
To make calls to CloudFiles APIs, include your API key in the authorization header:
```bash
curl --header "Authorization: Bearer ****************************************"
https://api.cloudfiles.io/v1/attachments?objectId=1&objectType=CONTACT
```
## Finding your API key
You can find your API key using the following steps.
### Salesforce
For Salesforce, you can find your API key on the CloudFiles Settings page. Navigate to the Salesforce App Launcher, search for “CloudFiles”, click on the “Settings” tab, and navigate to “API Keys” on the left. Refer to the screenshot below.

### HubSpot
For HubSpot, navigate to the settings (⚙️) icon on the top right. Then, navigate to “API Keys” on the left. Refer to the screenshot below.

---
# Create Link (REST Endpoint)
https://help.cloudfiles.io/docs/api-create-update-link/
# Create Link
Create a shareable link for a file or folder. You can configure access settings such as expiration date, download permissions, password protection, and allowed/blocked users.
> Kind: REST endpoint · Updated: Mar 6, 2026 · POST /v1/links
Create a shareable link for a file or folder. You can configure access settings such as expiration date, download permissions, password protection, and allowed/blocked users.
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Request body
```json
{
"name": "test link",
"resource": "{{resource-id}}",
"resourceType": "folder",
"settings": {
"isActive": true,
"allowDownloading": true,
"expireAt": 1728698842000,
"maxViews": 1000,
"requirePassword": false,
"password": "",
"requireEmail": false,
"enableEmailVerification": false,
"allowedEmails": [],
"allowedDomains": [],
"blockedEmails": [],
"blockedDomains": []
}
}
```
## Example request
**cURL**
```bash
curl --request POST \
--url 'https://api.cloudfiles.io/v1/links?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer API_Key' \
--data '"{\n \"name\": \"test link\",\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"settings\": {\n \"isActive\": true,\n \"allowDownloading\": true,\n \"expireAt\": 1728698842000,\n \"maxViews\": 1000,\n \"requirePassword\": false,\n \"password\": \"\",\n \"requireEmail\": false,\n \"enableEmailVerification\": false,\n \"allowedEmails\": [],\n \"allowedDomains\": [],\n \"blockedEmails\": [],\n \"blockedDomains\": []\n }\n}"'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var raw = JSON.stringify("{\n \"name\": \"test link\",\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"settings\": {\n \"isActive\": true,\n \"allowDownloading\": true,\n \"expireAt\": 1728698842000,\n \"maxViews\": 1000,\n \"requirePassword\": false,\n \"password\": \"\",\n \"requireEmail\": false,\n \"enableEmailVerification\": false,\n \"allowedEmails\": [],\n \"allowedDomains\": [],\n \"blockedEmails\": [],\n \"blockedDomains\": []\n }\n}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/links?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/links?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
request.body = JSON.dump("{\n \"name\": \"test link\",\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"settings\": {\n \"isActive\": true,\n \"allowDownloading\": true,\n \"expireAt\": 1728698842000,\n \"maxViews\": 1000,\n \"requirePassword\": false,\n \"password\": \"\",\n \"requireEmail\": false,\n \"enableEmailVerification\": false,\n \"allowedEmails\": [],\n \"allowedDomains\": [],\n \"blockedEmails\": [],\n \"blockedDomains\": []\n }\n}")
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/links?library=string&driveId=string"
payload = json.dumps("{\n \"name\": \"test link\",\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"settings\": {\n \"isActive\": true,\n \"allowDownloading\": true,\n \"expireAt\": 1728698842000,\n \"maxViews\": 1000,\n \"requirePassword\": false,\n \"password\": \"\",\n \"requireEmail\": false,\n \"enableEmailVerification\": false,\n \"allowedEmails\": [],\n \"allowedDomains\": [],\n \"blockedEmails\": [],\n \"blockedDomains\": []\n }\n}")
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
```
## Response body
```json
{
"id": "lnk_123",
"name": "Q3 Deck",
"url": "https://share.cloudfiles.io/a1b2c3",
"hash": "a1b2c3",
"createdAt": "2026-07-09T10:00:00Z",
"createdBy": "usr_1",
"updatedAt": "2026-07-09T10:00:00Z"
}
```
---
# Create Folder (REST Endpoint)
https://help.cloudfiles.io/docs/api-create-folder/
# Create Folder
Create a new folder within any storage under a specified parent folder. This API helps organize folders and maintain structured hierarchy.
> Kind: REST endpoint · Updated: Mar 6, 2026 · POST /v1/folders
Create a new folder within any storage under a specified parent folder. This API helps organize folders and maintain structured hierarchy.
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Request body
```json
{
"parent": "{{parent-folder-id}}",
"name": "CloudFiles From API"
}
```
## Example request
**cURL**
```bash
curl --request POST \
--url 'https://api.cloudfiles.io/v1/folders?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer API_Key' \
--data '"{\n \"parent\": \"{{parent-folder-id}}\",\n \"name\": \"CloudFiles From API\"\n}"'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var raw = JSON.stringify("{\n \"parent\": \"{{parent-folder-id}}\",\n \"name\": \"CloudFiles From API\"\n}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/folders?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/folders?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
request.body = JSON.dump("{\n \"parent\": \"{{parent-folder-id}}\",\n \"name\": \"CloudFiles From API\"\n}")
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/folders?library=string&driveId=string"
payload = json.dumps("{\n \"parent\": \"{{parent-folder-id}}\",\n \"name\": \"CloudFiles From API\"\n}")
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
```
## Response body
```json
{
"id": "fld_123"
}
```
---
# Rename Folder
https://help.cloudfiles.io/docs/api-rename-folder/
# Rename Folder
Rename an existing folder without changing its location in the folder hierarchy. Use this API when you want to update the folder name while preserving the same folder ID, parent folder, and library context.
> Kind: REST endpoint · Updated: Mar 6, 2026 · POST /v1/folders/:folderId/rename
Rename an existing folder without changing its location in the folder hierarchy. Use this API when you want to update the folder name while preserving the same folder ID, parent folder, and library context.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| folderId | any | required | Folder id |
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Request body
```json
{
"name": "CloudFiles API Request 1"
}
```
## Example request
**cURL**
```bash
curl --request POST \
--url 'https://api.cloudfiles.io/v1/folders/:folderId/rename?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer API_Key' \
--data '"{\n \"name\" : \"CloudFiles API Request 1\"\n}"'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var raw = JSON.stringify("{\n \"name\" : \"CloudFiles API Request 1\"\n}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/folders/:folderId/rename?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/folders/:folderId/rename?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
request.body = JSON.dump("{\n \"name\" : \"CloudFiles API Request 1\"\n}")
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/folders/:folderId/rename?library=string&driveId=string"
payload = json.dumps("{\n \"name\" : \"CloudFiles API Request 1\"\n}")
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
```
---
# Get Folder Children
https://help.cloudfiles.io/docs/api-get-folder-children/
# Get Folder Children
Retrieve the files and subfolders inside a specific folder. This API is useful for browsing folder contents programmatically, and it supports pagination parameters such as limit, skip, and nextPageToken for larger result sets.
> Kind: REST endpoint · Updated: Mar 6, 2026 · GET /v1/folders/:folderId/children
Retrieve the files and subfolders inside a specific folder. This API is useful for browsing folder contents programmatically, and it supports pagination parameters such as limit, skip, and nextPageToken for larger result sets.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| folderId | any | required | Folder Id |
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| driveId | string | optional | Drive id. Required when library is sharepoint or msteams. |
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| limit | string | optional | Pagination - Number of children |
| skip | string | optional | Pagination for Hubspot and CloudFile Libraries - Number of pages already fectched * Number of child per page |
| nextPageToken | string | optional | Pagination for other libraries - Next page token received when the limit is less than the number of children |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Example request
**cURL**
```bash
curl --request GET \
--url 'https://api.cloudfiles.io/v1/folders/:folderId/children?driveId=string&library=string&limit=string&skip=string&nextPageToken=string' \
--header 'accept: application/json' \
--header 'authorization: Bearer API_Key'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/folders/:folderId/children?driveId=string&library=string&limit=string&skip=string&nextPageToken=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/folders/:folderId/children?driveId=string&library=string&limit=string&skip=string&nextPageToken=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/folders/:folderId/children?driveId=string&library=string&limit=string&skip=string&nextPageToken=string"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
```
## Response body
```json
{
"count": 42,
"nextPageToken": "eyJ...",
"content": [
{
"id": "fld_456",
"name": "Contracts",
"type": "folder",
"createdAt": "2026-07-01T09:00:00Z",
"updatedAt": "2026-07-08T12:00:00Z",
"createdBy": "usr_1",
"externalUrl": "https://cloudfiles.sharepoint.com/sites/Sales/Shared%20Documents/Contracts"
},
{
"id": "file_789",
"name": "Proposal.pdf",
"type": "file",
"createdAt": "2026-07-02T09:00:00Z",
"updatedAt": "2026-07-08T12:00:00Z",
"createdBy": "usr_1",
"extension": "pdf",
"size": 20481,
"externalUrl": "https://cloudfiles.sharepoint.com/sites/Sales/Shared%20Documents/Proposal.pdf"
}
]
}
```
---
# Get Folder
https://help.cloudfiles.io/docs/api-get-folder/
# Get Folder
Fetches the details of a specific folder using its folder ID. Use this API to retrieve folder metadata and validate that a folder exists in the selected library and drive.
> Kind: REST endpoint · Updated: Mar 6, 2026 · GET /v1/folders/:folderId
Fetches the details of a specific folder using its folder ID. Use this API to retrieve folder metadata and validate that a folder exists in the selected library and drive.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| folderId | any | required | Folder Id |
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Example request
**cURL**
```bash
curl --request GET \
--url 'https://api.cloudfiles.io/v1/folders/:folderId?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'authorization: Bearer API_Key'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/folders/:folderId?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/folders/:folderId?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/folders/:folderId?library=string&driveId=string"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
```
## Response body
```json
{
"id": "fld_456",
"name": "Contracts",
"type": "folder",
"createdAt": "2026-07-01T09:00:00Z",
"updatedAt": "2026-07-08T12:00:00Z",
"createdBy": "usr_1",
"externalUrl": "https://cloudfiles.sharepoint.com/sites/Sales/Shared%20Documents/Contracts"
}
```
---
# Delete Folder
https://help.cloudfiles.io/docs/api-delete-folder/
# Delete Folder
Deletes a folder from any storage. Use this API when you need to remove folders programmatically as part of cleanup, restructuring, or content lifecycle workflows.
> Kind: REST endpoint · Updated: Mar 6, 2026 · DELETE /v1/folders/:id
Deletes a folder from any storage. Use this API when you need to remove folders programmatically as part of cleanup, restructuring, or content lifecycle workflows.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | any | required | Folder Id |
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Example request
**cURL**
```bash
curl --request DELETE \
--url 'https://api.cloudfiles.io/v1/folders/:id?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'authorization: Bearer API_Key'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var requestOptions = {
method: 'DELETE',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/folders/:id?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/folders/:id?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/folders/:id?library=string&driveId=string"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
```
---
# Create Attachment (REST Endpoint)
https://help.cloudfiles.io/docs/api-create-attachment/
# Create Attachment
Create an attachment that links a resource, such as a file or folder, to any CRM record. The linked resource can be directly viewed from the CRM record using the CloudFiles widget post successful attachment.
> Kind: REST endpoint · Updated: Mar 6, 2026 · POST /v1/attachments
Create an attachment that links a resource, such as a file or folder, to any CRM record. The linked resource can be directly viewed from the CRM record using the CloudFiles widget post successful attachment.
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Request body
```json
{
"resource": "{{resource-id}}",
"resourceType": "folder",
"source": "SALESFORCE",
"objectType": "contact",
"objectId": "003dL00001Xml6JQAR"
}
```
## Example request
**cURL**
```bash
curl --request POST \
--url 'https://api.cloudfiles.io/v1/attachments?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer API_Key' \
--data '"{\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"source\": \"SALESFORCE\",\n \"objectType\": \"contact\",\n \"objectId\": \"003dL00001Xml6JQAR\"\n}"'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
myHeaders.append("", "string");
var raw = JSON.stringify("{\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"source\": \"SALESFORCE\",\n \"objectType\": \"contact\",\n \"objectId\": \"003dL00001Xml6JQAR\"\n}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/attachments?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/attachments?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
request[""] = "string"
request.body = JSON.dump("{\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"source\": \"SALESFORCE\",\n \"objectType\": \"contact\",\n \"objectId\": \"003dL00001Xml6JQAR\"\n}")
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/attachments?library=string&driveId=string"
payload = json.dumps("{\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"source\": \"SALESFORCE\",\n \"objectType\": \"contact\",\n \"objectId\": \"003dL00001Xml6JQAR\"\n}")
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key',
'': 'string'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
```
## Response body
```json
{
"id": "att_123",
"type": "external",
"objectId": "deal_456",
"objectType": "hubspot_deal",
"createdAt": "2026-07-05T10:00:00Z",
"createdBy": "usr_1"
}
```
---
# List Attachments
https://help.cloudfiles.io/docs/api-list-attachments/
# List Attachments
Retrieve the resources attached to a specific CRM record, based on the object ID and object type. Use this API to fetch all linked files and/or folders associated with a CRM record.
> Kind: REST endpoint · Updated: Mar 6, 2026 · GET /v1/attachments
Retrieve the resources attached to a specific CRM record, based on the object ID and object type. Use this API to fetch all linked files and/or folders associated with a CRM record.
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| objectId | string | optional | Object Id is required |
| objectType | string | optional | Object Type is optional. For Hubspot value must be one of CONTACT, TICKET, COMPANY, DEAL. Required to list Hubspot attachments. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Request body
```json
{
"resource": "{{resource-id}}",
"resourceType": "folder",
"source": "HUBSPOT",
"objectType": "CONTACT",
"objectId": "51"
}
```
## Example request
**cURL**
```bash
curl --request GET \
--url 'https://api.cloudfiles.io/v1/attachments?objectId=string&objectType=string' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer API_Key' \
--data '"{\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"source\": \"HUBSPOT\",\n \"objectType\": \"CONTACT\",\n \"objectId\": \"51\"\n}"'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var raw = JSON.stringify("{\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"source\": \"HUBSPOT\",\n \"objectType\": \"CONTACT\",\n \"objectId\": \"51\"\n}");
var requestOptions = {
method: 'GET',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/attachments?objectId=string&objectType=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/attachments?objectId=string&objectType=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
request.body = JSON.dump("{\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"source\": \"HUBSPOT\",\n \"objectType\": \"CONTACT\",\n \"objectId\": \"51\"\n}")
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/attachments?objectId=string&objectType=string"
payload = json.dumps("{\n \"resource\": \"{{resource-id}}\",\n \"resourceType\": \"folder\",\n \"source\": \"HUBSPOT\",\n \"objectType\": \"CONTACT\",\n \"objectId\": \"51\"\n}")
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
```
## Response body
```json
[
{
"id": "att_123",
"type": "external",
"objectId": "deal_456",
"objectType": "hubspot_deal",
"createdAt": "2026-07-05T10:00:00Z",
"createdBy": "usr_1"
},
{
"id": "att_124",
"type": "internal",
"objectId": "fld_789",
"objectType": "folder",
"createdAt": "2026-07-06T11:00:00Z",
"createdBy": "usr_2"
}
]
```
---
# Rename File
https://help.cloudfiles.io/docs/api-rename-file/
# Rename File
Rename an existing file without changing its location. Use this API when you want to update the display name of a file while keeping the same file ID, folder, and library context.
> Kind: REST endpoint · Updated: Mar 6, 2026 · POST /v1/files/:fileId/rename
Rename an existing file without changing its location. Use this API when you want to update the display name of a file while keeping the same file ID, folder, and library context.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | any | required | File Id |
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Request body
```json
{
"name": "CloudFiles API Request 1"
}
```
## Example request
**cURL**
```bash
curl --request POST \
--url 'https://api.cloudfiles.io/v1/files/:fileId/rename?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer API_Key' \
--data '"{\n \"name\" : \"CloudFiles API Request 1\"\n}"'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var raw = JSON.stringify("{\n \"name\" : \"CloudFiles API Request 1\"\n}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/files/:fileId/rename?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/files/:fileId/rename?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
request.body = JSON.dump("{\n \"name\" : \"CloudFiles API Request 1\"\n}")
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/files/:fileId/rename?library=string&driveId=string"
payload = json.dumps("{\n \"name\" : \"CloudFiles API Request 1\"\n}")
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
```
---
# Get File
https://help.cloudfiles.io/docs/api-get-file/
# Get File
Fetch the details of a specific file using its file ID. Use this API to retrieve file metadata and confirm that the file exists in the selected storage and drive before performing follow-up actions such as download, move, rename, or delete.
> Kind: REST endpoint · Updated: Mar 6, 2026 · GET /v1/folders/:fileid
Fetch the details of a specific file using its file ID. Use this API to retrieve file metadata and confirm that the file exists in the selected storage and drive before performing follow-up actions such as download, move, rename, or delete.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileid | any | required | File Id |
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Example request
**cURL**
```bash
curl --request GET \
--url 'https://api.cloudfiles.io/v1/folders/:fileid?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'authorization: Bearer API_Key'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/folders/:fileid?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/folders/:fileid?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/folders/:fileid?library=string&driveId=string"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
```
## Response body
```json
{
"id": "file_789",
"name": "Proposal.pdf",
"type": "file",
"createdAt": "2026-07-02T09:00:00Z",
"updatedAt": "2026-07-08T12:00:00Z",
"createdBy": "usr_1",
"extension": "pdf",
"size": 20481,
"externalUrl": "https://cloudfiles.sharepoint.com/sites/Sales/Shared%20Documents/Proposal.pdf"
}
```
---
# Get Upload Sessions
https://help.cloudfiles.io/docs/api-get-upload-sessions/
# Get Upload Sessions
Create an upload session for one or more files before uploading them to any storage. This API returns the upload URLs and identifiers required to complete the file upload process.
> Kind: REST endpoint · Updated: Mar 6, 2026 · POST /v1/files/upload-sessions
Create an upload session for one or more files before uploading them to any storage. This API returns the upload URLs and identifiers required to complete the file upload process.
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Request body
```json
{
"files": [
{
"name": "test.pdf",
"type": "application/pdf"
}
],
"folderId": "{{Parent_Folder_Id}}"
}
```
## Example request
**cURL**
```bash
curl --request POST \
--url 'https://api.cloudfiles.io/v1/files/upload-sessions?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer API_Key' \
--data '"{\n \"files\": [\n {\n \"name\": \"test.pdf\",\n \"type\": \"application/pdf\"\n }\n ],\n \"folderId\": \"{{Parent_Folder_Id}}\"\n}"'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var raw = JSON.stringify("{\n \"files\": [\n {\n \"name\": \"test.pdf\",\n \"type\": \"application/pdf\"\n }\n ],\n \"folderId\": \"{{Parent_Folder_Id}}\"\n}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/files/upload-sessions?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/files/upload-sessions?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
request.body = JSON.dump("{\n \"files\": [\n {\n \"name\": \"test.pdf\",\n \"type\": \"application/pdf\"\n }\n ],\n \"folderId\": \"{{Parent_Folder_Id}}\"\n}")
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/files/upload-sessions?library=string&driveId=string"
payload = json.dumps("{\n \"files\": [\n {\n \"name\": \"test.pdf\",\n \"type\": \"application/pdf\"\n }\n ],\n \"folderId\": \"{{Parent_Folder_Id}}\"\n}")
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
```
---
# Upload and Commit File
https://help.cloudfiles.io/docs/api-upload-commit-file/
# Upload and Commit File
Upload a file to an external library and commits it after an upload session is created. This API takes the upload URL from ‘Get Upload Sessions’ as input.
> Kind: REST endpoint · Updated: Mar 6, 2026 · POST {{upload-url-from-get-file-upload-session}}
Upload a file to an external library and commits it after an upload session is created. This API takes the upload URL from ‘Get Upload Sessions’ as input.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| upload-url-from-get-file-upload-session | string | required | |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
### Form data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | optional | |
## Example request
**cURL**
```bash
curl --request POST \
--url {{upload-url-from-get-file-upload-session}} \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer API_Key' \
--form 'file="file"'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var formdata = new FormData();
formdata.append("file", "file");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: formdata,
redirect: 'follow'
};
fetch("{{upload-url-from-get-file-upload-session}}", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("{{upload-url-from-get-file-upload-session}}")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
form_data = [['file', File.open('undefined')]]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "{{upload-url-from-get-file-upload-session}}"
payload = {}
files=[
]
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
```
---
# Download File
https://help.cloudfiles.io/docs/api-download-file/
# Download File
Download a file stored in any library using its file ID. This API allows applications to retrieve files securely via authenticated requests.
> Kind: REST endpoint · Updated: Mar 6, 2026 · GET /v1/files/:fileId/download
Download a file stored in any library using its file ID. This API allows applications to retrieve files securely via authenticated requests.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | any | required | File Id |
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Example request
**cURL**
```bash
curl --request GET \
--url 'https://api.cloudfiles.io/v1/files/:fileId/download?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'authorization: Bearer API_Key'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/files/:fileId/download?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/files/:fileId/download?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/files/:fileId/download?library=string&driveId=string"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
```
---
# Upload CloudFiles File
https://help.cloudfiles.io/docs/api-upload-cloudfiles-file/
# Upload CloudFiles File
Upload a file to the CloudFiles library using the upload URL returned from the upload session. This step transfers the actual file to CloudFiles library.
> Kind: REST endpoint · Updated: Mar 6, 2026 · PUT {{upload-url-from-get-file-upload-session}}
Upload a file to the CloudFiles library using the upload URL returned from the upload session. This step transfers the actual file to CloudFiles library.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| upload-url-from-get-file-upload-session | string | required | |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Example request
**cURL**
```bash
curl --request PUT \
--url {{upload-url-from-get-file-upload-session}} \
--header 'accept: application/json' \
--header 'authorization: Bearer API_Key'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var requestOptions = {
method: 'PUT',
headers: myHeaders,
redirect: 'follow'
};
fetch("{{upload-url-from-get-file-upload-session}}", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("{{upload-url-from-get-file-upload-session}}")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Put.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
response = http.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "{{upload-url-from-get-file-upload-session}}"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
```
---
# Commit CloudFiles File
https://help.cloudfiles.io/docs/api-commit-cloudfiles-file/
# Commit CloudFiles File
Finalize a previously uploaded file from the ‘Upload CloudFiles File’ API.
> Kind: REST endpoint · Updated: Mar 6, 2026 · POST /v1/files
Finalize a previously uploaded file from the ‘Upload CloudFiles File’ API.
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Request body
```json
{
"name": "test.pdf",
"folderId": "{{parent-folder-id}}",
"externalId": "{{external-id-from-get-upload-session}}",
"size": 12345
}
```
## Example request
**cURL**
```bash
curl --request POST \
--url 'https://api.cloudfiles.io/v1/files?library=cloudfiles' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer API_Key' \
--data '"{\n \"name\": \"test.pdf\",\n \"folderId\": \"{{parent-folder-id}}\",\n \"externalId\": \"{{external-id-from-get-upload-session}}\",\n \"size\": 12345\n}"'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var raw = JSON.stringify("{\n \"name\": \"test.pdf\",\n \"folderId\": \"{{parent-folder-id}}\",\n \"externalId\": \"{{external-id-from-get-upload-session}}\",\n \"size\": 12345\n}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/files?library=cloudfiles", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/files?library=cloudfiles")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
request.body = JSON.dump("{\n \"name\": \"test.pdf\",\n \"folderId\": \"{{parent-folder-id}}\",\n \"externalId\": \"{{external-id-from-get-upload-session}}\",\n \"size\": 12345\n}")
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/files?library=cloudfiles"
payload = json.dumps("{\n \"name\": \"test.pdf\",\n \"folderId\": \"{{parent-folder-id}}\",\n \"externalId\": \"{{external-id-from-get-upload-session}}\",\n \"size\": 12345\n}")
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
```
---
# Delete File
https://help.cloudfiles.io/docs/api-delete-file/
# Delete File
Delete a file from any library using its file ID. Use this API when you need to remove files programmatically as part of cleanup, lifecycle management, or content restructuring workflows.
> Kind: REST endpoint · Updated: Mar 6, 2026 · DELETE /v1/files/:id
Delete a file from any library using its file ID. Use this API when you need to remove files programmatically as part of cleanup, lifecycle management, or content restructuring workflows.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | any | required | File Id |
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Example request
**cURL**
```bash
curl --request DELETE \
--url 'https://api.cloudfiles.io/v1/files/:id?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'authorization: Bearer API_Key'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var requestOptions = {
method: 'DELETE',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/files/:id?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/files/:id?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/files/:id?library=string&driveId=string"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
```
---
# Move File
https://help.cloudfiles.io/docs/api-move-file/
# Move File
Move an existing file from one folder to another within the same library. The request requires the file ID and the destination folder ID.
> Kind: REST endpoint · Updated: Mar 6, 2026 · POST /v1/files/:id/move
Move an existing file from one folder to another within the same library. The request requires the file ID and the destination folder ID.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | any | required | File Id |
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Request body
```json
{
"destination": "{{Destination_Folder_Id}}"
}
```
## Example request
**cURL**
```bash
curl --request POST \
--url 'https://api.cloudfiles.io/v1/files/:id/move?library=string&driveId=string' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer API_Key' \
--data '"{\n \"destination\" : \"{{Destination_Folder_Id}}\"\n}"'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var raw = JSON.stringify("{\n \"destination\" : \"{{Destination_Folder_Id}}\"\n}");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/files/:id/move?library=string&driveId=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/files/:id/move?library=string&driveId=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
request.body = JSON.dump("{\n \"destination\" : \"{{Destination_Folder_Id}}\"\n}")
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/files/:id/move?library=string&driveId=string"
payload = json.dumps("{\n \"destination\" : \"{{Destination_Folder_Id}}\"\n}")
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
```
---
# Get Dataroom
https://help.cloudfiles.io/docs/api-get-dataroom/
# Get Dataroom
Fetch the details of a specific dataroom using its dataroom ID.
> Kind: REST endpoint · Updated: Mar 6, 2026 · GET /v1/datarooms/:dataroomId
Fetch the details of a specific dataroom using its dataroom ID.
### Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| dataroomId | any | required | Dataroom Id |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Example request
**cURL**
```bash
curl --request GET \
--url https://api.cloudfiles.io/v1/datarooms/:dataroomId \
--header 'accept: application/json' \
--header 'authorization: Bearer API_Key'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/datarooms/:dataroomId", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/datarooms/:dataroomId")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/datarooms/:dataroomId"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
```
## Response body
```json
{
"id": "dr_123",
"name": "Acme Due Diligence",
"description": "Q3 fundraise data room",
"createdAt": "2026-07-01T09:00:00Z",
"createdBy": "usr_1",
"updatedAt": "2026-07-08T12:00:00Z"
}
```
---
# Get Search Results
https://help.cloudfiles.io/docs/api-get-search-results/
# Get Search Results
Returns search results for a query across any storage. Results can include files and/or folders resources matching the search string.
> Kind: REST endpoint · Updated: Mar 6, 2026 · GET /v1/search
Returns search results for a query across any storage. Results can include files and/or folders resources matching the search string.
### Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| driveId | string | optional | Drive Id. Required when library is sharepoint or msteams. |
| library | string | optional | One of sharepoint, msteams, google, onedrive, box, dropbox, cloudfiles, s3, azure, hubspot, azurefiles, sftp |
| q | string | optional | Search query |
### Header parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Authorization | string | optional | Replace the API_Key placeholder with your actual API key. |
## Example request
**cURL**
```bash
curl --request GET \
--url 'https://api.cloudfiles.io/v1/search?driveId=string&library=string&q=string' \
--header 'accept: application/json' \
--header 'authorization: Bearer API_Key'
```
**JavaScript**
```js
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("authorization", "Bearer API_Key");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.cloudfiles.io/v1/search?driveId=string&library=string&q=string", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
```
**Ruby**
```ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cloudfiles.io/v1/search?driveId=string&library=string&q=string")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request["authorization"] = "Bearer API_Key"
response = https.request(request)
puts response.read_body
```
**Python**
```py
import requests
import json
url = "https://api.cloudfiles.io/v1/search?driveId=string&library=string&q=string"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'authorization': 'Bearer API_Key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
```
## Response body
```json
{
"content": [
{
"id": "fld_456",
"name": "Contracts",
"type": "folder",
"createdAt": "2026-07-01T09:00:00Z",
"updatedAt": "2026-07-08T12:00:00Z",
"createdBy": "usr_1",
"externalUrl": "https://cloudfiles.sharepoint.com/sites/Sales/Shared%20Documents/Contracts"
},
{
"id": "file_789",
"name": "Proposal.pdf",
"type": "file",
"createdAt": "2026-07-02T09:00:00Z",
"updatedAt": "2026-07-08T12:00:00Z",
"createdBy": "usr_1",
"extension": "pdf",
"size": 20481,
"externalUrl": "https://cloudfiles.sharepoint.com/sites/Sales/Shared%20Documents/Proposal.pdf"
}
]
}
```
---
## Salesforce Flow Actions
---
# Flow Actions
https://help.cloudfiles.io/salesforce/flow-actions
# Flow Actions
This collection covers all Salesforce flow actions and component-related articles provided out of the box by the CloudFiles Salesforce integration — Doc Management, Doc Sharing, Doc Generation, Doc AI, Misc, and Screen Flow Elements.
> Kind: Guide · Updated: Jul 9, 2026
This collection consists of all Salesforce flow actions and component-related articles provided out of the box by the CloudFiles Salesforce integration.
## Flow action categories
- Doc Management Flow Actions: Automate file and folder operations across external storage platforms — creating, copying, moving and deleting resources, managing record attachments, retrieving metadata, updating permissions, and syncing files between external storage and Salesforce.
- Doc Sharing Flow Actions: Automate file and content sharing workflows — creating and managing datarooms, generating shareable links, handling file requests, sharing resources with Experience Cloud users, and updating link security settings.
- Doc Generation Flow Actions: Automate document generation directly within Flow Builder — generating single or multiple documents asynchronously or synchronously, and combining multiple files into a single document in real time.
- Doc AI Flow Actions: AI-powered document processing within Flow Builder — creating datasets, extracting structured data to create or update records, processing and querying documents using natural-language prompts, and splitting merged PDFs into individual documents.
- Misc Flow Actions: Assign and remove CloudFiles product licenses, add delays to flow executions, and retrieve CloudFiles event details for platform event-triggered flows.
- Screen Flow Elements: CloudFiles elements for Salesforce screen flows — the internal record widget, the Experience Cloud widget, and the CloudFiles uploader.
## Adding actions in flows
Create a standard Salesforce flow with any type of trigger conditions. Then add an element and choose Actions. If CloudFiles is correctly installed and connected, you can find the actions under the CloudFiles category.

> **Note** — If you use a record triggered flow, make sure you run this action on an asynchronous path as shown below.

## Action limits
Each flow action may include one or more API calls made to the CloudFiles server. Depending on the action type, this contributes either one or more action executions toward the automation action limits defined for each tier.
You can use the following list as a reference to understand how your flow actions will contribute towards the automation action limits.
> **Count of 1** — These actions contribute a count of 1 each time they are executed: Create Folder, Create Attachment, Get Attachments, Delete Attachments, Create Dataroom, Create File Request, Add to Dataroom, Create Link, Get Event Details, Get Connected Folder, Get Files Connect Resource ID, Create Files Connect Files, Update Permissions, Get Folder Contents, Get Resource Property, Set Resource Property, Get Salesforce Files.
> **Variable count** — These actions contribute a variable count to the limit each time they are executed: Copy Salesforce Files, Copy Resources, Move Resources. The count contributed depends on the number of resources passed into the action (for example, if 2 files are passed into the Copy Resources action, this contributes a count of 2 toward the limit).
> **Not counted** — These actions are not counted towards the limit since they are not used in everyday flows: Create Folder Async and other async actions used for migration purposes.
---
# Doc Management Flow Actions
https://help.cloudfiles.io/salesforce/doc-management-flow-actions
# Doc Management Flow Actions
This collection consists of all Document Management Salesforce flow actions.
> Kind: Flow action · Updated: Jul 4, 2026
This collection consists of all Document Management Salesforce flow actions.
- Copy Resources - This action can be used to copy a file or folder from one location to another within the same connected external storage.
- Copy Salesforce Files - This action lets you copy native Salesforce files to a desired location in external storage.
- Create Attachment - This action attaches a file or folder from an external cloud storage to a Salesforce record. Files & Folders attached to a record show up in the CloudFiles widget on the record page in Salesforce.
- Create File Connect Files - This action can be used to create a Files Connect object for a file uploaded/copied through CloudFiles.
- Create Folder - This flow action allows you to create a folder in a connected external storage system by specifying the folder name and its location. This means you can automatically create folders in Google Drive, SharePoint, OneDrive etc.
- Create Folder (Async) - This flow action enables you to create folders asynchronously in various external storages, such as Google Drive, SharePoint, OneDrive, and more.
- Create Microsoft Team - This flow action allows you to automate the creation of a Microsoft Team directly from Salesforce, useful to streamline collaboration by setting up Teams tailored to specific business scenarios.
- Create Salesforce File - This flow action enables you to copy a file from external storage into Salesforce as a Salesforce File using file's metadata details as input to identify and retrieve the external file.
- Create Salesforce Files (Batch) - This flow action allows you to copy multiple files from external storage into Salesforce as Salesforce Files in a single action processesing multiple files at once.
- Create SharePoint Site - This flow action allows users to automate the creation of new SharePoint sites directly from Salesforce.
- Create SharePoint Drive - This flow action enables users to automatically create new SharePoint drives from Salesforce for projects, teams, or departments.
- Delete Attachment - This flow action allows you to disconnect an already linked resource (file or folder) from a Salesforce record.
- Delete Resource - This flow action allows you to delete a resource (file or folder) in a connected external storage, handling deletion of a single resource or multiple resources in one execution.
- Get Attachments - This flow action allows you to retrieve all the Resource (files or folders) connected to a Salesforce record through CloudFiles.
- Get Connected Folder - This action can be used to get a single attachment of type "folder" for a Salesforce record.
- Get Files Connect Resource Id - This action can be used to get "Files Connect Resource Id" for a file/folder stored in external storages.
- Get Folder Contents - This action outputs all the files and folders within a queried external storage folder as a collection of resources.
- Get Resource Details - This action allows you to retrieve comprehensive metadata details of an external storage resource by inputting known metadata information, even if only a few parameters are available.
- Get Resource Property - This action can be used to retrieve specific property values of a specific resource.
- Get Salesforce Files - This flow action enables retrieval of IDs of all Salesforce files attached to a specific Salesforce record particularly useful when you need to perform further operations on these files, such as processing, sharing, or deleting them in bulk.
- Get Shared Resources - Thisflow action retrieves all files and folders shared with a Salesforce community. It helps manage or process shared resources in bulk within Salesforce Flows.
- Move Resource - This action can be used to move a file or folder from one location to another within the same external storage drive.
- Search by Resource Metadata - This action is a specialised feature designed for use with SharePoint and MS Teams, focusing on custom properties that allows users to efficiently search and manage resources(files & folders) by tags (metadata columns).
- Set Resource Property - This action automates the process of updating or assigning metadata property values for resources across multiple storage systems.
- Set Resource Property (Batch) - This flow action extends the functionality of the standard Set Resource Property flow action, enabling you to process multiple resource property updates in a single action instead of configuring multiple individual actions.
- Update Permissions - This action can be used to set permissions of a file/folder in external storage like SharePoint, Google Drive etc.
---
# Copy Resources (Flow Action)
https://help.cloudfiles.io/salesforce/copy-resources-flow-action
# Copy Resources
Learn how to use the Copy Resources flow action to easily copy files or folders to a specific location. This comprehensive document covers everything from adding the action to configuring parameters like source, destination, and duplication behavior.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Copy Resources flow action allows you to copy resources (files or folders) from one location to another within the same connected external storage. This action is useful for automations requiring resource duplication or re-organization, such as creating backup folders, replicating templates, or moving resources to a different location for specific workflows.
The image below demonstrates how the CloudFiles: Copy Resources flow action looks. Detailed explanations of input parameters and usage are provided in the following sections.

## What this action does
The Copy Resources action performs the following tasks:
Duplicates Resources: It copies files or folders from the source location to the specified destination folder.
Publishes Events: Instead of returning outputs immediately, the action publishes a Resource Cloned event for each resource copied, enabling downstream automations.
Scenario: Automate the creation of account folders with predefined subfolder structures.
Use the Create Folder action to create an account folder.
Retrieve the contents of the template folder using the Get Folder Contents action.
Loop through the retrieved folder contents and create a text collection of resource IDs.
Pass this collection to the Copy Resources action to replicate the subfolder structure in the account folder.
The image below provides an overview of such an automation:

## Input Parmaters
The following input parameters are required to configure the Copy Resources action:
### Destination Drive Id
Description: The Drive ID of the destination where the resources will be copied.
Details: Required for storages with multiple drives (e.g., Google Drive, SharePoint).
### Destination Folder ID
Description: The ID of the folder in the destination location where the resources will be placed.
### Drive ID
Description: The Drive ID of the resources being copied.
Details: Indicates the current location of the resources to be copied.
> **How to get these Parameters or Metadata Details ?** — Some of these Parameters like Drive ID can be obtained from within Salesforce CloudFiles App by navigating to the parent folder in the Content Library Tab and clicking the "View Metadata" button as shown in image below-Follow the steps below to retrieve these IDs -Click on App Launcher on top left. Search for the CloudFiles app.In the CloudFiles app, select the Content Library tab.Go to your cloud storage. You may need to login if you haven't already.Go to the target folder where you would like to place the created folders.A dialog box opens up which shows all the IDs. Copy the ID from here.These steps are shown in the GIF below -
### File/Folder Ids
Description: A text collection containing the Resource IDs of the files or folders to be copied.
Details: Use a text collection to store multiple resource IDs. For a single resource, convert it to a collection using an assignment element.
> **Configure File/Folder Ids parameter-** — The parameter "File/Folder Ids" is a list parameter, which would only accept value of type list. If you're copying a single file/folder, you can convert it to a list using an assignment element.To do this -Insert an "Assignment" element in the flow before the "Copy Resource" action.In the Variable field, click "New Resource".Set up a new resource as shown below -Please select the Data Type as "Text" and check the box "Allow multiple values(collection)".4. Click 'Done', and then configure the assignment element as shown below -Please note the operator to be used is "Add" and the value is the Id of single file/folder.
### Library
Description: The external storage system where the copy operation will take place (e.g., SharePoint, Google Drive, Dropbox).
Options: Possible values are sharepoint, google (for Google Drive), onedrive, dropbox, box, azure, cloudfiles, s3.
### Record Id
Description: The Record Id parameter is used to identify and manage the origin of the created Resource Cloned Event.
Purpose:
Event Identification: Helps distinguish the source of the event in scenarios where multiple flows use the same action for different objects or use cases.
Further automations: Enables performing further automations from the triggering event and event deatils.

Key Features:
Flexible Input: You can input any text string, not just a Record Id.
Event Output: Whatever you input here will be available in the corresponding Resource Cloned event details as Record Id.
How it works:
Input the Record Id of the relevant record into this parameter.
When the event is triggered, the Record Id is included in the event details.
In the Platform Event Mode Flow Setup event-triggered flow, retrieve the Record Id from the event details to filter and process further automations, such as linking the Resource to the record.
This parameter ensures traceability and flexibility in handling files across different flows and use cases.
> **Note** — You can use the Record Id not just to input a Record Id but literally any text string. Whatever, you input into the action shall be the output in the corresponding Resource Cloned event.If you need to differentiate the event based on the type of the Object and also in between two separate scenarios:Scenario 1: Input "Scenario1IdentifierTerm_RecordId" as the parameter.Scenario 2: Input "Scenario2IdentifierTerm_RecordId" as the parameter.In the event-triggered flow:Fetch the parameter value from the event details.Use it to identify the Record Id and differentiate between the two scenarios.This approach allows you to:Retrieve the Record Id for further automation.Differentiate between events to handle specific actions based on the scenario.
## Output Parameters
The CloudFiles: Copy Resources apex action does not return anything as an output in the flow it is used but for every successful resource cloned a Resource Cloned is published. For example, if the action was configured to copy 4 resources, an event is published for each 4 successful copies. This event signals completion of resource cloning and can be used to trigger platform event flows to perform post-creation actions.
> **Note** — If the action fails due to some reason, an error-event event will be triggered and this event can be used in decision element to diagnose and handle the error.
---
# Copy Salesforce Files (Flow Action)
https://help.cloudfiles.io/salesforce/copy-salesforce-files
# Copy Salesforce Files
Learn how to use a flow action to effortlessly copy files from Salesforce storage to popular external platforms like SharePoint and Google Drive. This comprehensive document provides step-by-step instructions for adding the action to a flow and configuring its input parameters.
> Kind: Flow action · Updated: Jul 1, 2026
## Introduction
The Copy Salesforce Files flow action can be used in process automations where you have a requirement to copy native Salesforce files to a desired location in external storage.
The image below gives an overview of the input parameters and what this action looks like. Detailed description of these input parameters and it’s outputs are provided in the following sections.

## What this action does
The Copy Salesforce Files flow action copies Salesforce files (identified by their content document IDs) to an external storage location (identified by its metadata). For each file copied, a salesforce-file-copied event is triggered on successful file copy.
This action can be combined with other flow actions or elements to automate processes, such as moving files attached to object records into their connected external storage folders. For instance, the flow snippet below demonstrates a use case where the Copy Salesforce Files action copies files attached to Account records (triggered by the salesforce-file-attached event) into their respective Account Folder (details provided by the Get Connected Folder action). Once each file is copied, a salesforce-file-copied event is published, providing the copied file details and enabling the file to be deleted from Salesforce after a successful copy. Refer to the Tutorial to understand the use case in detail. The image below illustrates how this automation would look.

## Input Parameters
Let us discuss each of the input parameters in detail in the sections below.
### Content Document Ids
Input the Text Collection of Content Document Ids of Salesforce Files which are to be copied.
A Content Document represents a document that has been uploaded to a library in Salesforce CRM Content or Salesforce Files. The Content Document Id could be used to uniquely identify a Salesforce File.

One way of getting Content Documents Ids is by using Get Records flow action with Content Document Link as its object and by passing Record Id of the desired record as LinkedEntityId. Refer to the article to know more about Content Document Ids.
> **Note** — This action cannot be used to copy “Attachments” (Salesforce Files old format)
### Destination Resource Parameters
These parameters are needed to specify the copy location. You can get these parameters by viewing metadata details for a folder in the “Content Library” tab of CloudFiles app in Salesforce or can be fetched through other flow actions or elements like “Get Connected Folder”.
### Library
Input the destination Library. Possible values are sharepoint, google, azure,onedrive, dropbox, box, s3, sftp or cloudfiles.
### Drive Id
This is important for Google Drive & SharePoint libraries only. The Drive ID is a unique identifier for a storage location in both SharePoint and Google Drive. In SharePoint, it represents a document library within a site, while in Google Drive, it identifies a user's drive or shared drive.

### Folder Id
This is the folder Id of the destination folder into which the files are to be copied.
> **Note** — If you wish to copy directly into a Drive instead of a folder, you can skip this parameter.
### Salesforce Record Id (Optional)
Input the object Record Id to which the Salesforce Files are attached.
> **Note** — You can use the Salesforce Record Id to not just input a Record Id but literally any text string. Whatever, you input into the action shall be output in the corresponding Salesforce File Copied event.If you need to differentiate the event based on the type of the Object and also in between two separate scenarios:Scenario 1: Input "Scenario1IdentifierTerm_RecordId" as the parameter.Scenario 2: Input "Scenario2IdentifierTerm_RecordId" as the parameter.In the event-triggered flow, fetch the input parameter value from the event details, output as Parent Id.This approach allows you to Retrieve the Record Id for further automation and differentiate between events to handle specific actions based on the scenario.
## Output Parameters
The apex action does not return anything as an output in the flow it is used but for every file copied, a salesforce-file-copied event is published. This event signals the completion of the file copy and can be used to trigger platform event flows to perform post-copy actions such as deletion of files or updation of metadata.
> **Note** — If the action fails due to some reason, an error-event event will be triggered and this event can be used in decision element to diagnose and handle the error.
> **Note** — If a file is already present at the destination with the same name of the file which is being copied, the handling of this conflict behaviour will be according to the preset configuration in CloudFiles app as shown in image below-
## See it in Action
The GIF below demonstrates the example use case we discussed in prior section i.e. moving files attached to object records into their connected external storage folders. Refer to the Tutorial to implement and understand the whole flow for this use case.

---
# Create Attachment (Flow Action)
https://help.cloudfiles.io/salesforce/create-attachment-flow-action
# Create Attachment
Learn how to add an attachment to a Salesforce record with this comprehensive document. Discover step-by-step instructions on adding the "Create Attachment" action to a flow and configuring essential parameters to link a file or folder from external storage.
> Kind: Flow action · Updated: Jul 1, 2026
## Introduction
The CloudFiles: Create Attachment flow action allows you to link a file or folder from an external cloud storage service (e.g., Google Drive, SharePoint, Dropbox) to a Salesforce record. Once linked, these files or folders appear in the CloudFiles Widget on the Salesforce record's page, providing seamless integration between Salesforce and cloud storage.
> **Note** — For SharePoint could storage, you can link a file, folder, site, or drive to the Salesforce record.
The image below illustrates a sample flow using the Create Attachment action to link a resource (file or folder) to a Salesforce record. Detailed explanations of input parameters and usage are provided in the following sections.

## What this action does
The Create Attachment action simplifies the process of linking external storage resources with Salesforce records, ensuring quick access through the CloudFiles widget.
Imagine you want to set up an automation that creates a folder in external storage for every new Salesforce Account record. To make this folder accessible from the Account record page, you can:
- Use the Create Folder action to create the folder in external storage.
- Use the Create Attachment action to link the newly created folder to the Salesforce Account record.
This ensures the folder is automatically connected and accessible in the CloudFiles widget on the Account record page, eliminating the need to manually connect a folder to the Record.
Below is an example of an attached folder -

## Input Parameters
When adding the CloudFiles: Create Attachment action in Flow Builder, configure the following input parameters:
### Resource Id
- Description: The unique ID of the resource (file or folder) to be attached.
- How to Get It: Use the output of a previous flow action like Create Folder or Get Resource Details to retrieve the resource ID. For example, {!Outputs from Create Folder} > Resource ID.
### Resource Type
- Description: Indicates whether the resource is a file or a folder.
- Valid Values: file or folder
> **Note** — For SharePoint, list of valid values is - file, folder, site, or drive
### Library
- Description: The external storage service where the resource is located.
- Valid Values: sharepoint, google, azure,onedrive, dropbox, box, or cloudfiles (AWS S3).
### Drive ID
- Description: The drive ID for Google Drive or SharePoint where the resource resides.
- Required For: Google Drive, SharePoint.
- How to Get It:
- Use the output of a previous flow action like Create Folder or Get Resource Details to retrieve the Drive ID.
- Or retrieve this from the Content Library Tab in Salesforce using the "View Metadata" button.
### Salesforce Record ID
- Description: The ID of the Salesforce record to which the resource will be attached.
- Example: Use {!$Record.Id} in a record-triggered flow or specify a dynamic value, such as {!Triggering Account} > Account ID.
> **How to Get Metadata Details ?** — Some of these Parameters like DriveID can be obtained from within Salesforce CloudFiles App by navigating to the parent folder in the Content Library Tab and clicking the "View Metadata" button as shown in image below-Follow the steps below to retrieve these IDs -Click on App Launcher on top left. Search for the CloudFiles App.In the CloudFiles App, select the Content Library Tab.Go to your cloud storage. You may need to login if you haven't already.Go to the target folder where you would like to place the created folders in.A dialog box opens up which shows all the IDs. Copy the ID from here.These steps are shown in the GIF below -
## Output Parameters
The Apex action generates a custom type called Attachment as its output. While it does not explicitly list output parameters, you can retrieve the following information for use in subsequent steps:
- Attachment ID
- The CloudFiles unique ID of the created attachment.
- Resource Properties
- Resource ID: External ID of the resource.
- Name: Name of the attached resource.
- Path: The path of the resource in external storage.
- Type: Type of the resource ("file" or "folder").
- Library: External storage service used.
- Drive ID: Relevant for Google Drive or SharePoint.
These values can be used for further operations or stored for reference.
The image below shows the output of the create attachment apex action-

## See it in action
In the Gif below, we have shown how we create the attachment and attach the created folder to the Salesforce account record-

---
# Create File Connect Files (Flow Action)
https://help.cloudfiles.io/salesforce/PusU-create-file-connect-files
# Create File Connect Files
Learn how to seamlessly upload files from Salesforce to popular Cloud Storage platforms like SharePoint or Google Drive using CloudFiles. This comprehensive document covers step-by-step instructions for adding the action to a flow and configuring its parameters.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
Salesforce Files connect can be used to link files from a Cloud Storage to any record in Salesforce. You can easily setup Files Connect following the instructions here. However, Files Connect does not support uploading files directly to a Cloud Storage platform from within Salesforce.
With CloudFiles, you can upload files in Salesforce which directly goes to the Cloud Storage platform like SharePoint, Google Drive etc... without ever consuming your Salesforce storage. Using CloudFiles flow actions, you can also copy a Salesforce file to a Cloud Storage platform automatically.
Using "Create File Connect Files" action, you will be able to create a Files Connect object for a file uploaded/copied through CloudFiles.
## Configuration
- External Data Source Name - This is the name of the external data source, you create as a part of Files Connect setup process. Please note that this is represented by the field DeveloperName on the Salesforce object ExternalDataSource. To get the value of DeveloperName field, you can run this SQL query in your Salesforce developer console.
```sql
Select Id, DeveloperName, MasterLabel from ExternalDataSource
```
- File Connect Resource Id- You can get this from the output of "Get Event Details" action we used in the last step. Please use the field name "FileUploaded.FileConnectResourceId"
- Name - Name of the uploaded file. You can get this from the output of "Get Event Details" action we used in the last step. Please use the field name "FileUploaded.Name"
- Salesforce Object Id - Id of the Salesforce record, to which the files connect object should be attached. You can get this from the output of "Get Event Details" action we used in the last step. Please use the field name "FileUploaded.RecordId".

## Return Value
ContentDocumentLink object for the Files Connect file.
---
# Create Folder (Flow Action)
https://help.cloudfiles.io/salesforce/create-folder-flow-action
# Create Folder
Learn how to automatically create folders in popular cloud storage platforms like Google Drive, SharePoint, OneDrive, Dropbox, Box, and AWS S3 using the Create Folder flow action. This document provides step-by-step instructions for adding the action to a flow and configuring its input and output parameters.
> Kind: Flow action · Updated: May 6, 2026
## Introduction
The CloudFiles: Create Folder flow action allows you to create a folder in a connected external storage system by specifying the folder name and its location. This action is particularly useful for automating processes where folders need to be created dynamically, ensuring a seamless and organized structure for file management.
The image below illustrates the action's input and output parameters. Detailed descriptions of these parameters are outlined in the sections below.

## What this action does
The CloudFiles: Create Folder action enables folder creation through specific triggers and automations in Salesforce. By providing essential details such as the folder name and its destination parameters, this action creates a folder in the specified external storage location and returns metadata about the created folder for further use.
Scenario:
Imagine a use case where every Account record in Salesforce requires a corresponding folder in an external storage system. These folders can organize and store all account related files. Instead of manually creating these folders, you can automate the process.
For example, when an Account record is created, a flow can trigger this action to:
- Create a folder with the Account name in the designated location.
- Use the folder details returned by the action to create additional subfolders for specific purposes like contracts, invoices, or correspondence.
Check the Tutorial for more information.
The image below illustrates how this automation would look -

## Input Parameters
### Folder Name
- Description: The name of the folder to be created.
- How to Use:
- Use Salesforce merge fields to dynamically generate folder names, e.g., {!Account.Name}.
- Consider creating a Formula field on the object or Formula flow resource in case you wish to have merged field names.
- Alternatively, you can input the Folder Name as Text directly.

Destination Parameters help specify where the target folder should be created. There are multiple parameters that may need to be set based on the target cloud storage such as library, drive ID, parent folder ID etc... E.g. SharePoint users require all 3, while dropbox users may require only one.
These parameters can be easily copied from within Salesforce from using the CloudFiles > Content Library Tab.
> **How to Get Destination Parameters or Metadata Details ?** — Some of these Parameters like DriveId can be obtained from within Salesforce CloudFiles App by navigating to the parent folder in the Content Library Tab and clicking the "View Metadata" button as shown in image below-Follow the steps below to retrieve these IDs -Click on App Launcher on top left. Search for the CloudFiles App.In the CloudFiles App, select the Content Library Tab.Go to your cloud storage. You may need to login if you haven't already.Go to the target folder where you would like to place the created folders in.A dialog box opens up which shows all the IDs. Copy the ID from here.These steps are shown in the GIF below --
Below we describe these parameters and then, we show how to copy them easily with a single click.
### Library
- Description: Specifies the configured Cloud Storage where the folder should be created.
- Valid Values: sharepoint, google, s3, azure, onedrive, dropbox, box or cloudfiles.
### Drive ID
- Description: Required for services like Google Drive and SharePoint with multiple drives.
- How to Get It:
- Use the output of a previous flow action like Create Folder or Get Resource Details to retrieve the Drive Id.
- Or retrieve this from the Content Library Tab in Salesforce using the "View Metadata" button.
### Parent Folder ID
- Description: The Id of the folder in which the new folder should be created.
- How to Get It:
- Use the View Metadata option in the Content Library Tab to obtain this Id.
- Or use previous flow action's output like that of Create Folder or Get Resource Details.
Example Use Case: Automating subfolder creation
- Main Folder: An Account folder named "Trion Energies" is created using the Create Folder action.
- Subfolder: You want to automatically create a subfolder named "Invoices" within "Trion Energies".
Steps:
- The Create Folder action for "Trion Energies" outputs the folder's ID as 12345.
- Pass this 12345 as the Parent Folder ID in a subsequent Create Folder action to create "Invoices".
## Output Parameters
The Apex action returns the following details of the created folder. You can choose to save them somewhere if you wish to use it later.

### Resource ID
Description: The unique Id of the newly created folder. This Id can be used as the parent folder Id for creating subfolders.
### Drive ID
Description: The Id of the drive where the folder was created. This value remains constant for subfolders created within the same drive.
### Library
Description: Indicates the cloud storage used for folder creation, e.g.: google, sharepoint etc.
### Resource Name
Description: The name of the created folder.
### Resource Path
Description: The storage path of the folder in the cloud system.
> **Note** — The Resource Path Output value is always null.In order to get the path of the created folder use a subsequent Get Resource Details action.
### Type
Description: Specifies the type of resource created. This will always befolder
> **Warning** — The output of the Create Folder action is influenced by the Folder Conflict Behavior configured for the connected cloud storage. This behavior determines what happens if a folder with the same name already exists at the specified location.You can set the Folder Conflict Behavior in the Salesforce CloudFiles App by following these steps:Navigate to CloudFiles > Document Management > Library Tab.Locate the section for Folder Conflict Behavior.Conflict Behavior Options:No OperationWhat Happens: No new folder is created if a folder with the same name already exists.Output Behavior:The action does not create a new folder.Instead, it returns the metadata of the existing folder.Use Case: Ideal for scenarios where duplication should be avoided and existing folders should be reused.RenameWhat Happens: The new folder is created with a unique name by appending a number (e.g., "Folder Name 1").Output Behavior:The action successfully creates a renamed folder and returns its metadata.Use Case: Useful for creating unique folder structures without overwriting existing ones.FailWhat Happens: The action fails if a folder with the same name exists.Output Behavior:An error is thrown, and no folder is created.Use Case: Best for scenarios requiring strict folder naming rules to avoid duplication.Important NotesAlways ensure the Folder Conflict Behavior aligns with your use case to prevent unintended results or errors.For troubleshooting, refer to the error message details in case of failure due to conflict.
## See it in Action
In the Gif below, we have shown how creating a new lead creates a new folder in SharePoint-

---
# Create Folder (Async)
https://help.cloudfiles.io/salesforce/create-folder-async
# Create Folder (Async)
The CloudFiles: Create Folder (Async) flow action enables you to create folders asynchronously in various external storages, such as Google Drive, SharePoint, OneDrive, and more. This action is similar to the Create Folder action but publishes a Folder Created event instead of returning the result immediately.
> Kind: Flow action · Updated: 2026-07-01
## Introduction
The CloudFiles: Create Folder (Async) flow action enables you to create folders asynchronously in various external storages, such as Google Drive, SharePoint, OneDrive, and more. This action is similar to the Create Folder action but with a key difference: it executes asynchronously. Instead of providing the full details of the created folder immediately, it publishes a Folder Created event, which can trigger other automations in your Salesforce environment.

This action is ideal for scenarios requiring non-blocking execution and event-driven workflows.

## What this action does
The Create Folder (Async) flow action is used in automations where folder creation should not hold the flow's execution. Instead of waiting for folder metadata, the action allows other processes to continue while relying on the event-driven architecture to handle folder details once the folder is created.
Example Use Case
Imagine you have a flow that automatically creates folders for every new Opportunity in Salesforce. With the Create Folder (Async) action, the folder creation happens in the background, and a Folder Created event is published. This event can trigger subsequent flows, such as:
Creating subfolders in the newly created folder.
Notifying users about the folder creation.
Logging folder creation details in a custom object.
## Input Parameters
### Folder Name
Description: The name of the folder to be created.
How to Use:
Use Salesforce merge fields to dynamically generate folder names, e.g., {!Account.Name}.
Consider creating a Formula field on the object or Formula flow resource in case you wish to have merged field names.
Alternatively, you can input the Folder Name as Text directly.

Destination Parameters help specify where the target folder should be created. There are multiple parameters that may need to be set based on the target cloud storage such as library, Drive Id, parent folder Id etc... E.g. SharePoint users require all 3 while Dropbox users may require only one.
These parameters can easily be copied from within Salesforce by using the CloudFiles > Content Library tab.
> **How to get Destination Parameters or Metadata details ?** — Some of these Parameters like Drive ID can be obtained from within Salesforce CloudFiles app by navigating to the parent folder in the Content Library tab and clicking the "View Metadata" button as shown in image below-Follow the steps below to retrieve these IDs -Click on App Launcher from top left. Search for the CloudFiles app.In the CloudFiles app, select the Content Library tab.Go to your cloud storage. You may need to login if you haven't already.Go to the target folder where you would like to place the created folders.A dialog box opens up which shows all the IDs. Copy the ID from here.These steps are shown in the GIF below -
Below we describe these parameters and then, we show how to copy them easily with a single click.
### Library
Description: Specifies the configured Cloud Storage where the folder should be created.
Valid Values: sharepoint, google, azure, s3, onedrive, dropbox, box, or cloudfiles.
### Drive ID
Description: Required for services like Google Drive and SharePoint with multiple drives.
How to Get It:
Or retrieve this from the Content Library tab in Salesforce using the "View Metadata" button.
### Parent Folder ID
Description: The Id of the folder in which the new folder should be created.
How to Get It:
Use the View Metadata option in the Content Library tab to obtain this Id.
Example Use Case: Automating subfolder creation
Main Folder: An Account folder named "Trion Energies" is created using the Create Folder action.
Subfolder: You want to automatically create a subfolder named "Invoices" within "Trion Energies".
Steps:
The Create Folder action for "Trion Energies" outputs the folder's Id as 12345.
Pass this 12345 as the Parent Folder Id in a subsequent Create Folder action to create "Invoices".
## Output Parameters
### Folder Created Event
The Create Folder (Async) action publishes a Folder Created event instead of immediately returning metadata.
> **Warning** — The output of the Create Folder action is influenced by the Folder Conflict Behavior configured for the connected cloud storage. This behavior determines what happens if a folder with the same name already exists at the specified location.You can set the Folder Conflict Behavior in the Salesforce CloudFiles app by following these steps:Navigate to CloudFiles > Document Management > Library tab.Locate the section for Folder Conflict Behavior.Conflict Behavior Options:No OperationWhat Happens: No new folder is created if a folder with the same name already exists.Output Behavior:The action does not create a new folder.Instead, it returns the metadata of the existing folder.Use Case: Ideal for scenarios where duplication should be avoided and existing folders should be reused.RenameWhat Happens: The new folder is created with a unique name by appending a number (e.g., "Folder Name 1").Output Behavior:The action successfully creates a renamed folder and returns its metadata.Use Case: Useful for creating unique folder structures without overwriting existing ones.FailWhat Happens: The action fails if a folder with the same name exists.Output Behavior:An error is thrown, and no folder is created.Use Case: Best for scenarios requiring strict folder naming rules to avoid duplication.Important NotesAlways ensure the Folder Conflict Behavior aligns with your use case to prevent unintended results or errors.For troubleshooting, refer to the error message details in case of failure due to conflict.
---
# Create Microsoft Team (Flow Action)
https://help.cloudfiles.io/salesforce/create-microsoft-team
# Create Microsoft Team
The CloudFiles: Create Microsoft Team flow action allows you to automate the creation of a Microsoft Team directly from Salesforce. This action can be used to streamline collaboration by setting up Teams tailored to specific business scenarios, such as a new Salesforce record or group.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Create Microsoft Team flow action allows you to automate the creation of a Microsoft Team directly from Salesforce. This action can be used to streamline collaboration by setting up Teams tailored to specific business scenarios, such as a new Salesforce record or group. By leveraging this integration, users can ensure seamless communication and efficient management of resources in Microsoft Teams.
The image below provides an overview of the input parameters and how this action appears in a Salesforce flow. Detailed descriptions of the input and output parameters are provided in the following sections.

## What this action does
The CloudFiles: Create Microsoft Team action facilitates the creation of a Microsoft Team based on the provided parameters, such as a description, name, and optional template or an existing Team Id for cloning. The output is the Id of the newly created Team, which can be used for further integrations or configurations.
Example Use Case
Automatically create a Microsoft Team whenever a new Salesforce user group is created. For instance, if a user group is created for an account, the corresponding Microsoft Team can be set up to enhance collaboration among team members.
## Input Parameters
To configure the Create Microsoft Team action, provide the following parameters:
### Name
The name of the Microsoft Team. Example: "Account XYZ Team."
### Description
A brief description of the Microsoft Team being created. Example: "Team for managing all activities related to Account XYZ."
### Team ID (for cloning)
(Optional)
The Id of an existing Microsoft Team to use as a template for creating the new Team. If provided, the new Team will inherit the structure and settings of the specified Team.
### Template ID
(Optional)
The Id of a predefined Microsoft Team template to use. If provided, the new Team will follow the structure defined by the template.
## Output Parameters
The action returns the following output:

Created Team ID (Text)
A string containing the Id of the newly created Microsoft Team. This Id can be used for subsequent operations, such as updating the Team Id into a field etc.
---
# Create Salesforce File (Flow Action)
https://help.cloudfiles.io/salesforce/FNQY-create-salesforce-file
# Create Salesforce File
The CloudFiles: Create Salesforce File flow action enables you to copy a file from external storage into Salesforce as a Salesforce File (Content Document). This action uses the file's metadata details as input to identify and retrieve the external file.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Create Salesforce File flow action enables you to copy a file from external storage into Salesforce as a Salesforce File (Content Document). This action uses the file's metadata details as input to identify and retrieve the external file. Once executed, the action generates a corresponding Salesforce File, making it accessible and manageable within the Salesforce environment.
The image below provides a visual representation of the action, showcasing its input and output parameters. Detailed descriptions of these parameters are provided in the sections that follow.

## What this action does
The CloudFiles: Create Salesforce File flow action enables copying an external storage file (identified/specified by its metadata) into Salesforce by creating a Salesforce File (Content Document) of the external storage file. For each such CloudFiles: Create Salesforce File action execution, a Content Version Created event is triggered on successful creation of the Salesforce File.
This action can be paired with other flow actions or elements to streamline processes such as:
- Bringing external storage files into Salesforce for enhanced accessibility.
- Enabling these files to be used in Salesforce-based automations (e.g., email workflows).
- Allowing integration with external applications designed to work with Salesforce Files.
Example Use Case:
Suppose you've integrated external storage like SharePoint, where customer-related files (e.g., proposals, contracts) are stored in dedicated folders. You want to automate the process of emailing a selected file to all related contacts:
- File Selection: In a screen flow, present a list of file choices (e.g., file names mapped to file Ids) from the customer's folder.
- Input to Action: The selected file's metadata is passed into the 'Create Salesforce File' action, which imports it into Salesforce as a Salesforce File.
- Trigger CloudFilesEvent Flow: The published 'Content Version Created' event can link the file to the corresponding Salesforce account using a Content Document Link.
- Email Automation: In a subsequent flow, fetch the file and email it as an attachment to the related contacts.
This action provides a seamless way to bring external files into Salesforce and leverage Salesforce's robust automation capabilities.
## Input Parameters
Let us discuss each of the input parameters in detail in the sections below.
### Drive Id
This is important for Google Drive & SharePoint libraries only. The Drive Id is a unique identifier for a storage location in both SharePoint and Google Drive. In SharePoint, it represents a document library within a site, while in Google Drive, it identifies a user's drive or shared drive.
> **Note** — You can get this parameter by viewing metadata details for a folder in the “Content Library” tab of CloudFiles app in Salesforce or can be fetched through other flow actions like Get Connected Folder.
### Library
The Library parameter is the external storage type you are using. Possible values are sharepoint, google (for Google Drive), onedrive, dropbox, box, cloudfiles (for AWS S3).
### FileId
This is the Resource Id of the target file you wish to bring into Salesforce by creating a content Document/Salesforce File.
> **Note** — You can get this parameter through other flow actions like Get Resource Details or by filtering Get Folder Contents.
### Record Id
The Record Id parameter is used to identify and manage the origin of a created Salesforce File when a 'Content Version Created' event is triggered.
Purpose:
- Event Identification: Helps distinguish the source of the event in scenarios where multiple flows use the same action for different objects or use cases.
- Content Document Linking: Enables creating a Content Document Link to associate the Salesforce File with a specific record.
Key Features:
- Flexible Input: You can input any text string, not just a Record Id.
- Event Output: Whatever you input here will be available in the corresponding event details as Parent Id.

How It Works:
- Input the Record Id of the relevant record into this parameter.
- When the event is triggered, the Record Id is included in the event details.
- In the Platform Event Mode Flow Setup event-triggered flow, retrieve the Record Id from the event details to filter and process further automations, such as linking the file to the record.
For example, if you want the created Salesforce File to be associated with an Account record, input the Account's Record Id into this parameter. In the event-triggered flow:
- Fetch the Record Id from the event details.
- Use the Content Document Link action to associate the created file with the Account.
This parameter ensures traceability and flexibility in handling files across different flows and use cases.
> **Note** — You can use this parameter not just to input a Record Id but literally any text string. Whatever, you input into the action shall be output in the corresponding Content Version Created.If you need to create Salesforce Files linked to a Contact record but in two separate scenarios:Scenario 1: Input "Scenario1_ContactRecordId" as the parameter.Scenario 2: Input "Scenario2_ContactRecordId" as the parameter.In the event-triggered flow:Fetch the parameter value from the event details.Use it to identify the Contact Record Id and differentiate between the two scenarios.This approach allows you to:Retrieve the Contact Record Id for further automation.Differentiate between events to handle specific actions based on the scenario.
## Output Parameters
The CloudFiles: Create Salesforce File apex action does not return anything as an output in the flow it is used but for every scuccesful flow action execution or the Salesforce File created a Content Version Created is published. This event signals the completion of Salesforce file/ ContentDocument creation and can be used to trigger platform event flows to perform post-creation actions.
> **Note** — If the action fails due to some reason, an error-event event will be triggered and this event can be used in a decision element to diagnose and handle the error.
---
# Create Salesforce Files (Batch)
https://help.cloudfiles.io/salesforce/create-salesforce-files-batch
# Create Salesforce Files (Batch)
The CloudFiles: Create Salesforce Files (Batch) flow action allows you to copy multiple files from external storage into Salesforce as Salesforce Files (Content Documents) in a single action.
> Kind: Flow action · Updated: Jul 1, 2026
## Introduction
The CloudFiles: Create Salesforce Files (Batch) flow action allows you to copy multiple files from external storage into Salesforce as Salesforce Files (Content Documents) in a single action.
This action functions similarly to the Create Salesforce File flow action, which handles a single file, but the batch version processes multiple files at once. By using a collection of metadata details as input, the action identifies and retrieves external files and creates their corresponding Salesforce Files.
Once executed, the action makes all the Salesforce Files accessible and manageable within the Salesforce environment, streamlining bulk file operations and automations.
Below is a visual representation of the action, with detailed descriptions of its input and output parameters provided in the subsequent sections.

## What this action does
The CloudFiles: Create Salesforce Files (Batch) flow action enables copying multiple external storage files (identified by their metadata details) into Salesforce as Salesforce Files (Content Document) in one action. Once all files are successfully created in Salesforce, a Content Version Created Batch is published.
This action can be paired with other flow actions or elements to streamline processes such as:
- Bringing multiple external storage files into Salesforce for enhanced accessibility.
- Enabling bulk file operations within Salesforce-based automations (e.g., batch email workflows).
- Integrating with external applications designed to work with Salesforce Files.
### Example Use Case:
Suppose you've integrated external storage like SharePoint, where multiple customer-related files (e.g., proposals, contracts) are stored in dedicated folders. You want to automate the process of importing these files into Salesforce and emailing them to all related contacts:
- File Selection: In a screen flow, display a list of file choices (e.g., file names mapped to file Ids) from the customer's folder. The user selects multiple files.
- Input to Action: Pass the selected files' metadata as a collection (as a collection of cldfs__Resource) into the Create Salesforce Files (Batch) action.
- Trigger CloudFiles Event Flow: Once all the files are successfully created, the published Content Version Created Batch can be used to link the files to the corresponding Salesforce account using Content Document Links.
- Email Automation: In a subsequent flow, fetch the created Salesforce Files and email them as attachments to the related contacts.
This action simplifies the process of importing multiple files into Salesforce while leveraging its robust automation capabilities. The batch processing ensures efficiency by handling multiple files in one go, and the event-driven architecture supports further automation seamlessly.
## Input Parameters
Let us discuss each of the input parameters in detail in the sections below.
### Files
The Files parameter accepts a collection of File Resources (i.e., a collection of cldfs__Resource) that contain metadata details for all the files to be copied into Salesforce as Salesforce Files.
> **Steps to configure 'Files' Parameter** — Use Case Example:
You want to import all files from an Account folder in connected SharePoint into Salesforce.Here’s how to configure the Files parameter for this scenario:Step 1: Retrieve all Files in the FolderUse the Get Folder Contents action to fetch all files within the folder.The action returns a collection of cldfs__Resource items, each containing the required fields:Drive Id: Identifies the external storage drive.Id: The unique file Id in the external storage system.Library: Specifies the storage type (e.g., SharePoint).Now, you have a collection of file resources representing all files in the folder.Step 2: Pass the Files Collection to the actionAssign this collection of cldfs__Resource to the Files parameter of the Create Salesforce Files (Batch) action.This allows the action to process each file in the collection, copying them into Salesforce.Example Snippet in a Flow:Use the Get Folder Contents action and store the output as a collection variable (e.g., FilesCollection).Pass FilesCollection into the Files parameter of the Create Salesforce Files (Batch) action.
### Salesforce Record Id
The Salesforce Record Id parameter is used to identify and manage the origin of a created Salesforce Files when a Content Version Created Batch is published.
Purpose:
- Event Identification: Helps distinguish the source of the event in scenarios where multiple flows use the same action for different objects or use cases.
- Content Document Linking: Enables creating a Content Document Links to associate the Salesforce Files with a specific record.
Key Features:
- Flexible Input: You can input any text string, not just a Record Id.
- Event Output: Whatever you input here will be available in the corresponding event details as Parent Id.

How it works:
- Input the Record Id of the relevant record into this parameter.
- When the event is triggered, the Record Id is included in the event details.
- In the Platform Event Mode Flow Setup event-triggered flow, retrieve the Record Id from the event details to filter and process further automations, such as linking the file to the record.
For example, if you want the created Salesforce Files to be associated with an Account record, input the Account's Record Id into this parameter. In the event-triggered flow:
- Fetch the Record Id from the event details.
- Use the Content Document Link action to associate the created file with the Account.
This parameter ensures traceability and flexibility in handling files across different flows and use cases.
> **Note** — You can use this parameter not just to input a Record Id but literally any text string. Whatever, you input into the action shall be output in the corresponding Content Version Created.If you need to create Salesforce Files linked to a Contact record but in two separate scenarios:Scenario 1: Input "Scenario1_ContactRecordId" as the parameter.Scenario 2: Input "Scenario2_ContactRecordId" as the parameter.In the event-triggered flow:Fetch the parameter value from the event details.Use it to identify the Contact Record Id and differentiate between the two scenarios.This approach allows you to:Retrieve the Contact Record Id for further automation.Differentiate between events to handle specific actions based on the scenario.
## Output Parameters
The CloudFiles: Create Salesforce Files (Batch) apex action does not return anything as an output in the flow it is used but for every scuccesful flow action execution or once all the Salesforce Files created a Content Version Created Batch event is published. This event signals the completion of creationSalesforce Files/ ContentDocuments creation and can be used to trigger platform event flows to perform post-creation actions.
> **Note** — If the action fails due to some reason, an error-event event will be triggered and this event can be used in a decision element to diagnose and handle the error.
---
# Create SharePoint Site (Flow Action)
https://help.cloudfiles.io/salesforce/create-sharepoint-site
# Create SharePoint Site
The CloudFiles: Create SharePoint Site flow action allows users to automate the creation of new SharePoint sites directly from Salesforce. This is particularly useful for organizations that need to quickly spin up collaboration spaces for projects, teams, or departments without manual intervention.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Create SharePoint Site flow action allows users to automate the creation of new SharePoint sites directly from Salesforce. This is particularly useful for organizations that need to quickly spin up collaboration spaces for projects, teams, or departments without manual intervention.
> **SharePoint Rest API Authorization is a Pre-Requisite to use this flow action** — SharePoint Rest API Authorization is required for certain flow actions like Site creation.Navigate to CloudFiles > Document Management > Libraries > SharePoint to configure the same.
The image below provides an overview of the input parameters and how this action appears in a Salesforce flow. Detailed descriptions of the input and output parameters are provided in the following sections.

## What this action does
The Create SharePoint Site action simplifies the process of provisioning SharePoint sites through automation.
Scenario:
For instance, when a new account is created in Salesforce, a corresponding SharePoint site can be automatically generated using this action. The site can be tailored to the specific needs of the account, such as hosting documents, managing tasks, or collaborating with the client’s team.
This automation eliminates the need for manual setup and ensures consistency across your SharePoint environment.
> **Important:** — Important: Microsoft 365 tenants can contain up to 2 million SharePoint sites across the organization. CloudFiles automated site creation flows will count toward this limit. If your tenant is near this limit, site creation may fail.
## Input Parameters
The following input parameters are required to configure the Create SharePoint Site action:
### Admins
Description: A list of email addresses that will be granted admin-level access on the created site at the time of site creation.
Use case: Provision SharePoint access at scale from a Salesforce flow — create a site group per account, bulk-add contacts as members, and apply custom SharePoint roles without being limited to the three default roles.
> **Notes:** — Notes: Each email must correspond to a valid user in your Microsoft 365 organization.Multiple emails can be provided, and all listed users will be provisioned as Site Collection Admins upon site creation.
### Description
Description: A brief summary explaining the site's purpose or content.
Where it shall be displayed:
Navigate to the SharePoint site.
Go to Settings (gear icon) > Site Information.
The Description field is visible here.
### Design ID
Description: A unique identifier for the site's design, referring to a site design or customization for layout, branding, or functionality.
How to Get It:
Available in the SharePoint Admin Center:
Open Microsoft 365 Admin Center > SharePoint Admin Center.
Select the site from the Active Sites list.
Custom site designs are often applied using PowerShell or site scripts.
### Language Code
Description: Specifies the language of the site using an ISO language code (e.g., 1033 for English, 1036 for French). If not, Input Default Language shall be Organisation's Default Language.
Where to find current Language:
Go to Settings > Site Settings > Language Settings in SharePoint.
> **Note** — Check Languages supported by SharePoint for more information.
### Site Name
Description: Input the display name of the site, reflecting its purpose (e.g., Marketing Team).
> **Site Name ** — Site Name is a mandatory Input Parameter
### Site URL
Description: Configure and input the web address for accessing the site, typically in the format:
https:// **Site URL ** — Site URL is a mandatory input parameter.
### Template ID
Description: Identifies the template used to create the site, determining its structure and features (e.g., STS#0 for a Team Site).
How to Get It:
Use PowerShell with the command: Get-SPOSite -Identity
Alternatively, check the SharePoint Admin Center for certain configurations.
> **Note** — Here are some common SharePoint site's template Ids:STS#0: Classic Team SiteAPPCATALOG#0: App Catalog SiteBDR#0: Document CenterBICenterSite#0: Business Intelligence CenterSITEPAGEPUBLISHING#0: Publish dynamic content to keep people informedGROUP#0: For reporting onlyPOINTPUBLISHINGPERSONAL#0: For reporting onlySPSPERS#10: For reporting onlyPWA#0: Project Web App SitePWS#0: Microsoft Project SiteSGS#0: Group Work SiteSPS#0: SharePoint Portal Server Site site template
## Output Parameters

### Primary Drive ID
The unique identifier for the SharePoint site's primary document library.
### Site ID
A unique identifier for the created SharePoint site.
### Site Name
The display name of the created site.
### Site URL
The web address for accessing the newly created site.
---
# Create SharePoint Drive (Flow Action)
https://help.cloudfiles.io/salesforce/create-sharepoint-drive
# Create SharePoint Drive
The CloudFiles: Create SharePoint Drive flow action allows users to automate the creation of new SharePoint drives directly from Salesforce. This is particularly useful for organisations that need to quickly spin up collaboration spaces for projects, teams, or departments without manual intervention.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Create SharePoint Drive flow action allows users to automate the creation of new SharePoint drives directly from Salesforce. This is particularly useful for organisations that need to quickly spin up collaboration spaces for projects, teams, or departments without manual intervention.
The image below provides an overview of the input parameters and how this action appears in a Salesforce flow. Detailed descriptions of the input and output parameters are provided in the following sections.

## What this action does
The Create SharePoint Drive action simplifies the process of provisioning SharePoint drives through automation.
Scenario:
For instance, when a new account is created in Salesforce, a corresponding SharePoint drive can be automatically generated using this action. The drive can be tailored to the specific needs of the account, such as hosting documents, managing tasks, or collaborating with the client’s team.
This automation eliminates the need for manual setup and ensures consistency across your SharePoint environment.
> **Note:** — Note: SharePoint has a limitation that a maximum of 2000 drives (or document libraries) can be created within a particular site. This flow action will throw an error if the number exceeds beyond that.
## Input Parameters
The following input parameters are required to configure the Create SharePoint Drive action:
### Drive Name
Description: Input the display name of the drive, reflecting its purpose (e.g., Marketing Team).
> **Drive Name ** — Site ID is a mandatory input parameter.
### Site ID
Description: Configure and input the site address for setting up the drive.
> **Site ID ** — Site ID is a mandatory input parameter.
### Content Types
Description: Define content types for the drive. When multiple content types are specified, the order in which content types are provided determines their priority — the first entry takes the highest precedence.
> **Note** — User-defined content types will take preference over the default content types set for the drive.
### Disable Inherited Permissions
Description: Set to 'true' to prevent the new drive from inheriting permissions from its parent SharePoint site. When enabled, the drive will have no inherited permissions — you can instead define access by grouping users and assigning permissions directly. Defaults to 'false' (permissions are inherited from the site).
### Site Columns
Description: Define site columns for the drive.
> **Note** — How to use Site Columns ?
Step 1: Create a apex defined variable of apex class cldfs__DriveColumnStep 2: In an assignment variable assign values for the variable properties (apiName, defaultValue, label). apiName and defaultValue are mandatory.Step 3: Create an apex defined collection variable and add the individual variable to it.Step 4: Pass the collection variable into the Site Columns field
> **Site columns** — Site columns are reusable column definitions (fields) that can be associated with a drive to standardise the metadata captured across documents and items.
> **Note** — If both contentTypes and siteColumns are added to the action the columns will be ignored.
## Output Parameters

### Drive ID
A unique identifier for the created SharePoint drive.
### External URL
The external URL for the newly created SharePoint drive, which can be used to directly access the drive from outside Salesforce.
---
# Delete Attachment (Flow Action)
https://help.cloudfiles.io/salesforce/lD4N-delete-attachment
# Delete Attachment
Learn how to easily disconnect files or folders from Salesforce records using the "Delete Attachment" action in Salesforce flows. This comprehensive document guides you through the process of adding the action to a flow and configuring which attachment to remove.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Delete Attachment flow action is the reverse of the Create Attachment action. It allows you to disconnect an already linked resource (file or folder) from a Salesforce record. Once disconnected, the file or folder will no longer appear in the CloudFiles Widget on the Salesforce record's page.
The image below illustrates a sample flow using Delete Attachment action to remove a linked resource from a Salesforce record. Detailed explanations of input parameters and usage are provided in the following sections.

## What this action does
The Delete Attachment action automates the process of unlinking or disconnecting external storage resources from Salesforce records, ensuring that only relevant files or folders remain associated with a record.
Scenario:
Imagine an automation where files or folders linked to an opportunity need to be removed after the opportunity is closed or lost. Using the Delete Attachment action, you can disconnect these resources, ensuring they no longer appear in the CloudFiles widget on the Opportunity record page.
## Input Parameters
When adding the CloudFiles: Delete Attachment action in Flow Builder, configure the following input parameters:
### Library
Description: The external storage service where the resource is located.
Valid Values: sharepoint, google, azure,onedrive, dropbox, box, or cloudfiles (AWS S3).
### Resource ID
Description: The unique ID of the resource (file or folder) to be disconnected.
How to Get It:
Use the output of a previous flow action like Get Connected Folder or Get Resource Details to retrieve the resource ID. For example, {!Outputs from Get Connected Account Folder} > Resource ID.
Or use record fields which have Resource Id stored in them.
### Resource Type
Description: Indicates whether the resource is a file or a folder.
Valid Values: file or folder
### Salesforce Record ID
Description: The ID of the Salesforce record from which the resource will be disconnected.
Example: Use {!$Record.Id} in a record-triggered flow or specify a dynamic value such as {!Triggering Account} > Account ID.
## Output Parameters
The Delete Attachment action does not return any explicit output parameters. However, once executed successfully, the specified resource will be disconnected from the record.
You can verify this by:
Checking the CloudFiles widget on the Salesforce record page.
Ensuring the resource no longer appears in the widget.
---
# Delete Resource (Flow Action)
https://help.cloudfiles.io/salesforce/delete-resource
# Delete Resource
The CloudFiles: Delete Resource flow action allows you to delete a resource (file or folder) in a connected external storage, such as SharePoint, Google Drive, Dropbox, Box, or AWS S3. For SharePoint it can also delete a whole drive (document library) or an entire site. This action can handle the deletion of a single resource or multiple resources in one execution.
> Kind: Flow action · Updated: Aug 25, 2026
## Introduction
The CloudFiles: Delete Resource flow action allows you to delete a resource (file or folder) in a connected external storage, such as SharePoint, Google Drive, Dropbox, Box, or AWS S3. For SharePoint, it can also delete a whole drive (document library) or an entire site. This action can handle the deletion of a single resource or multiple resources in one execution, providing flexibility for various use cases.
The image below demonstrates how the Delete Resource action looks. Detailed explanations of input parameters and usage are provided in the following sections.

## What this action does?
The Delete Resource action simplifies the management of external storage by enabling users to automate the deletion of unnecessary or outdated files and folders directly from Salesforce.
Imagine a workflow where Account Folders are automatically deleted from external storage if the associated Salesforce Account record is archived. Using the Delete Resource action, you can:
- Trigger a flow on Account Record Deletion to delete the associated Account Folder using the Folder ID stored in one of the Account record fields.
- Use a custom object that stores metadata details for folders linked to deleted records. A Scheduled Trigger Flow can then process these records and delete the resources accordingly.
This action ensures that your external storage remains organized and clutter-free without requiring manual intervention.
## Input Parameters
To use the CloudFiles: Delete Resource action in Flow Builder, configure the following input parameters:
### Library
- Description: The external storage service where the Resource/s is located.
- Valid Values: sharepoint, google, onedrive, dropbox, box, or cloudfiles (AWS S3).
### Drive ID
- Description: The drive ID for Google Drive or SharePoint where the Resource/s to be deleted resides.
- Required For: Google Drive, SharePoint.
- How to Get It:
- Use the output of previous flow actions like Get Connected Folder to retrieve the Drive ID.
- Or retrieve this from the Content Library Tab in Salesforce using the "View Metadata" button.
- Deleting a drive or a site: when Resource Type is drive, enter the ID of the drive you are deleting — the same value you put in Resource ID. When Resource Type is site, leave Drive ID blank. See Deleting SharePoint drives and sites.
### Resource ID
- Description: The unique ID of the resource (file or folder) to be deleted.
- How to Get It:
- Use the output of previous flow actions like Get Connected Folder or Get Resource Details to retrieve the resource ID. For example, {!Outputs from Get Connected Account Folder} > Resource ID.
- Alternatively, use record fields where Resource IDs are stored.
- For a drive or a site: enter the drive ID or the site ID. Use the output of Create SharePoint Drive or Create SharePoint Site, or a record field where the ID is stored.
### Resource IDs
- Description: The unique ID of the resource (file or folder) to be deleted.
- How to Get It:
- Configure a Text Collection by utilising outputs from flow actions like Get Folder Contents or Get Resource Details to retrieve the resource IDs. For example, create a Text Collection by retrieving the Resource IDs of folder contents {!Outputs from Get Folder Contents} > Resource ID.
- Or use record fields which have Resource Id stored in them.
### Resource Type
(Not needed for Multiple Resource Deletion)
- Description: Indicates what kind of resource is being deleted.
- Valid Values: file, folder, drive or site. drive and site apply to SharePoint only.
## Deleting SharePoint drives and sites
On SharePoint, the Delete Resource action deletes drives (document libraries) and sites as well as files and folders. It is the same action — set Library to sharepoint, and change Resource Type and the IDs you pass.
| Resource Type | Drive ID | Resource ID |
|---|---|---|
| file or folder | The ID of the drive the file or folder lives in | The ID of the file or folder |
| drive | The ID of the drive being deleted | The same drive ID |
| site | Leave blank | The ID of the site being deleted |
> **Deleting a drive or a site removes everything inside it** — Deleting a drive deletes every file and folder in that document library. Deleting a site deletes the site and all of the drives it contains, including any folders CloudFiles has connected to Salesforce records — those attachments will point at resources that no longer exist. This cannot be undone from Salesforce. Test the flow against a spare site before you activate it.
Where to get the IDs: the Create SharePoint Site action returns Site ID and Primary Drive ID, and Create SharePoint Drive returns Drive ID. Store them on the record at creation time so the flow that deletes them later has the IDs to hand. Drive IDs are also on the Content Library Tab in Salesforce, under the "View Metadata" button.
## Output Parameters
The Delete Resource action does not return explicit output parameters. However, once executed, the specified resources will be permanently deleted from the external storage. You can verify the deletion by checking the external storage to confirm the resource is no longer present. For a drive or a site, confirm in the SharePoint admin center that the document library or site no longer appears.
---
# Get Attachments (Flow Action)
https://help.cloudfiles.io/salesforce/get-attachments-flow-action
# Get Attachments
Learn how to efficiently retrieve all attachments associated with a record in Salesforce using the "Get Attachments" flow action. This comprehensive guide walks you through the process of adding the action to a flow and fetching the resources connected to a record.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Get Attachments flow action allows you to retrieve all the Resource (files or folders) connected to a Salesforce record through CloudFiles. These linked resources, referred to as "Attachments" can be connected using the Create Attachment action or are connected manually to a Salesforce record via CloudFiles widget.
This action can be used to fetch a collection of these attachments in a Salesforce Flow. This is particularly useful when managing multiple resources connected to a single record.
> **Note: ** — Note: If a record has only one connected folder, and you want to retrieve its details, it is more efficient to use the Get Connected Folder action instead.
## What this action does
The Get Attachments action takes Salesforce Record ID as an input and outputs a collection of all attachments linked to that record. Each attachment includes metadata details of the connected resources, enabling advanced flow configurations and automations.
Example Use Case
An Account record has multiple attachments linked via CloudFiles. You can use the Get Attachments action to retrieve all these attachments. This collection can then be used for further processing, such as:
Deleting all attachments related to a Lead, identified by a specific naming convention like "Lead" in their terms.
Archiving or moving these resources to another location based on workflow triggers.
## Input Parameters
### Parent ID
The Salesforce Record ID for which attachments need to be retrieved.
## Output Parameters
The apex action outputs apex-defined Attachment Collection.
Each Attachment in the collection,
Record ID
The Salesforce Record Id.
Resource Properties
Resource ID: External ID of the resource.
Name: Name of the attached resource.
Path: The path of the resource in external storage.
Type: Type of the resource ("file" or "folder").
Library: External storage service used.
Drive ID: Relevant for Google Drive or SharePoint.
---
# Get Connected Folder (Flow Action)
https://help.cloudfiles.io/salesforce/get-connected-folder-flow-action
# Get Connected Folder
Learn how to use the "Get Connected Folder" flow action in Salesforce to easily retrieve a specific folder attachment for a record. Find out how to add this action to your flow and understand the necessary input and output parameters.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The "Get Connected Folder" flow action can retrieve folder-type attachments for a Salesforce record, for example the Account Parent folder details. If multiple folders are attached, it retrieves the first folder's details. To handle scenarios with multiple folders, we use a different approach. For more details, please refer Create Automated Folder Hierarchies for Managing External Files from Salesforce Objects
The image below illustrates what this action looks like, including its various input and output parameters. Detailed descriptions of these parameters are provided in the following section.

The Get Connected Folder action requires the following parameters -
- Parent ID - This is the Id of the Salesforce record for which you want to retrieve the attachment.
This action gives various parameters of the newly obtained resource’s destination parameters -
- Resource ID - Folder ID of the newly retrieved resource
- Resource Name - Name of the newly retrieved resource
- Other parameters - Parameters specifying the location of created resource
In this article we will first dive into the details of the input & output parameters and then discuss how this action can be used in different scenarios.
## What this action does
This action retrieves the details of a folder attached to a Salesforce record. If multiple folders are attached, only the first attached folder will be considered.
## Input Parameters
This flow action takes only 1 parameter, which is the "Parent Id".
### Parent ID
The Parent ID is the ID of the Salesforce record for which you want to retrieve the attachment. This can be obtained from the flow's "Record" variable in record-triggered flows or from the flow's “Triggering_cldfs_CloudFiles_Event_e” record in platform event-triggered flows.
In the Parent ID field, select 'SalesforceFiles' > 'ParentId'.
For example, in the Parent ID field, select 'Outputs from CloudFiles: Get Event Details (Get Uploaded Files Details)' > 'Salesforce Files Details' > 'ParentId'. Refer to the image shown below-

## Output Parameters
The Apex action returns the following details of the connected folder. You can choose to save them somewhere if you wish to use it later.
### Resource ID
This is the ID of the newly created folder. This is used as parent folder ID for subsequent sub folders. This ID is crucial for specifying the exact location within the storage service hierarchy where the folder should be placed.
### Drive ID
This is the Drive ID of the drive where the folder got created. This Id remains constant for sub folders. It specifies the exact location within the storage service where the folder should be placed.
### Library
This is the Cloud Storage in which the folder got created. One can use any external storage for example google, sharepoint etc.
### Resource Name
This is the name of the newly created folder. Used to identify the folder within storage service.
### Resource Path
This is the Cloud storage path of the newly created folder. It specifies the particular endpoint and resource you want to interact with, such as records, objects, or custom resources.
### Type
This is the Type of the resource. It will always be 'folder'. Used for classifying the resource type in create attachment.
---
# Get Files Connect Resource Id (Flow Action)
https://help.cloudfiles.io/salesforce/get-files-connect-resource-id
# Get Files Connect Resource Id
Learn how to easily obtain the "Files Connect Resource Id" for files or folders stored in external storage with this comprehensive document. Discover the necessary configuration settings, such as Drive Id, Folder Id, and Library, needed to use the action.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
This action can be used to get "Files Connect Resource Id" for a file/folder stored in external storages. The "Files Connect Resource Id" can be used further in the action Create File Connect Files.
## Configuration
- Drive Id - Drive Id in external storage where file should be copied. Only applicable for SharePoint & Google Drive.
- Folder Id - Id of the folder in external storage where the file should be copied to.
- Library - one of sharepoint, google, onedrive, box, dropbox, cloudfiles
Please leave the other 2 fields toggled off - Resource Name & Type
> **Note** — You can get the values of DriveId, FolderId, Library from the Content Library tab.
## Return Value
Files Connect Resource Id, which can be used on the action Create File Connect Files.
---
# Get Folder Contents (Flow Action)
https://help.cloudfiles.io/salesforce/get-folder-contents
# Get Folder Contents
The Get Folder Contents flow action outputs all the files and folders within a queried external storage folder as a collection of resources. The output collection can then be used in flow elements further down the flow.
> Kind: Flow action · Updated: Jul 1, 2026
## Introduction
The Get Folder Contents flow action outputs all the files and folders within a queried external storage folder as a collection of resources. The output collection can then be used in flow elements further.
The image below gives an overview of the input parameters. Detailed description of these parameters are provided in the following section.

## What this action does
The Get Folder Contents flow action can be combined with various other flow actions or elements to automate processes. For example, you can perform a simple null check on the output collection to determine if the queried folder is empty, or apply more complex logic, such as looping through the collection to segregate files based on naming conventions.
The flow snippet below demonstrates a use case where the Get Folder Contents action retrieves the contents of a template folder with a predefined sub-folder structure. The output collection is then looped over to replicate this structure into another folder, creating each sub-folder one by one with the same name as the current folder in the loop.

## Input Parameters
This action requires the metadata of the target folder to retrieve its contents.
The image below shows the mandatory fields populated for reference-

Each parameter is explained in detail below.
### Library
The Library parameter is the external storage type you are using. Possible values are sharepoint, google, azure,onedrive, dropbox, box, or cloudfiles (AWS S3).
> **Note** — This is a mandatory input parameter.
### Drive Id
This is important for Google Drive & SharePoint libraries only. The Drive ID is a unique identifier for a storage location in both SharePoint and Google Drive. In SharePoint, it represents a document library within a site, while in Google Drive, it identifies a user's drive or shared drive.
> **Note** — This is a mandatory input parameter.
### Resource Id
This is the folder Id of the target folder whose contents are to be retrieved.
> **Note** — This is a mandatory input parameter.
You can get these three parameters by viewing metadata details for a folder in the “Content Library” tab of CloudFiles app in Salesforce or can be fetched through other flow actions like Get Connected Folder.
### Resource Path
> **Note** — This parameter is not in use currently and can be toggled off.
### Resource Name
> **Note** — This parameter is not in use currently and can be toggled off.
### Type
> **Note** — This parameter is not in use currently and and can be toggled off.
## Output Parameters
The action returns all the contents of the input folder as a collection of resources.
## See it in Action
In the GIF below, it is shown how the flow action retrieves the contents from a folder.

---
# Get Resource Details (Flow Action)
https://help.cloudfiles.io/salesforce/get-resource-details
# Get Resource Details
The Get Resource Details flow action allows you to retrieve comprehensive metadata details of an external storage resource by inputting known metadata information, even if only a few parameters are available.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The Get Resource Details flow action allows you to retrieve comprehensive metadata details of an external storage resource by inputting known metadata information, even if only a few parameters are available. The diagram below offers an overview of the input parameters and includes a visual representation of the flow action. Detailed explanations of each input parameter and the corresponding outputs will be provided in the following sections.

## What this action does
The Get Resource Details flow action accepts certain combinations of input paramaters i.e. metadata details of a resource and returns the complete metadata information as output. For instance, consider the following use case: when a new Account record is created, an Account folder is generated, along with a subfolder named "Opportunities" to store folders for all related Opportunity records.
To create an Opportunity folder within the "Opportunities" subfolder (located under the corresponding Account folder), you need the Folder Id of the "Opportunities" subfolder. While you can use the Get Connected Folder action to find the Account folder by setting the Parent Id to the Opportunity's Account Id, you can't directly retrieve the Folder Id of the "Opportunities" subfolder.
In this case, you know that there is a subfolder named "Opportunities" within the Account folder. Therefore, the subfolder's path can be formulated as the Account folder's path followed by "/Opportunities". This is where the Get Resource Details flow action is useful. By inputting the known metadata details such as Library, Drive Id, Resource Path, and Resource Type, you can retrieve the Resource Id (the subfolder’s Id). This Resource Id can then be used to create an Opportunity folder within the Opportunities subfolder.

Similarly, if you know the Library, Drive Id, Resource Path and Resource Type but do not have the Resource Id, you can retrieve the same using this action.
> **Note** — Since Google Drive does not have a Resource Path, retrieving Resource Id using Library, Drive Id, Resource Path and Resource Type is NOT possible.However you can use this for SharePoint and DropBox libraries.
## Input Parameters
Let us discuss each of the input parameters in detail in the individual sections given below.
### Drive Id
This is important for Google Drive & SharePoint libraries only. The Drive Id is a unique identifier for a storage location in both SharePoint and Google Drive. In SharePoint, it represents a document library within a site, while in Google Drive, it identifies a user's drive or shared drive.
> **Note** — This is a mandatory input parameter.
> **Note** — You can get this parameter by viewing metadata details for a folder in the “Content Library” tab of CloudFiles app in Salesforce or can be fetched through other flow actions like Get Connected Folder.
### Library
The Library parameter is the external storage type you are using. Possible values are sharepoint, google (for Google Drive), onedrive, azure, dropbox, box, cloudfiles (for AWS S3).
> **Note** — This is a mandatory input parameter.
### Resource Id
This is the folder Id of the target folder whose resource we want to be fetch.
> **Note** — It is mandatory to fill either Resource Id or Resource Path.
### Resource Path
This is the path to the target folder whose resource we want to be fetch.
> **Note** — It is mandatory to fill either Resource Id or Resource Path.
> **Note** — In order to retrieve File Resource details using Resource Path, the input Resource Path parameter must include file name along with extension.
### Resource Type
Specify fileor folder based on the type of Resource you are querying.
> **Note** — It is NOT mandatory and can be excluded.
## Output Parameters
The action returns complete metadata information of the queried Resource.

### Drive Id
The Drive Id of the queried Resource.
### Library
The Library of the queried Resource.
### Resource Id
The Resource Id of the queried File or Folder Resource.
### Resource Name
The Name of the queried Resource.
> **Note** — In case, queried Resource Type = file, the Resource Name is output along with extension.
### Resource Path
The complete Path for the queried Resource in the external storage .
> **Google Drive** — Google Drive does not have a Resource Path.You can use this for SharePoint and DropBox.
### Type
The Resource Type of the queried Resource i.e. file or folder
## See it in Action
The GIF below illustrates the use case discussed in the previous section: creating an Opportunity folder for each Opportunity record within the Opportunities subfolder of the corresponding Account’s folder.

---
# Get Resource Property
https://help.cloudfiles.io/salesforce/get-resource-property
# Get Resource Property
The CloudFiles: Get Resource Property flow action allows you to retrieve specific property values of a specific Resource. This includes SharePoint column values and standard properties from other supported libraries.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Get Resource Property flow action allows you to retrieve specific property values of a specific Resource. This includes:
- A SharePoint Resource's Column Value.
- Standard properties from other supported libraries (Eg: A Google Drive Folder's URL).
This action is ideal for scenarios where precise metadata details are required for automations or decision-making processes within a flow.
By fetching and using these property values, you can create dynamic and efficient workflows tailored to your business needs.

## What this action does
The CloudFiles: Get Resource Property flow action flow action allows you to:
- Specify the target Resource using its metadata details.
- Specify the Property whose value is to be fetched using the Property's API Name.
- Get the Property Value as a Text Output, which can be further used in the flow.
Example Use Case 1
Scenario:
In Salesforce, you have an automation that creates a Google Drive folder for every Opportunity record created. Additionally, you want the Google Drive URL of the newly created folder to be automatically populated into a custom field on the Opportunity record.
To achieve this, you can use the CloudFiles: Get Resource Property flow action to fetch the externalUrl property of the created folder and update the Opportunity record's relevant field.
Below is the flow snippet of the example Use Case:

Example Use Case 2
Scenario:
Salesforce users upload Opportunity-related files to SharePoint folders using CloudFiles LWCs. They tag these files using SharePoint columns like:
- Document Type (choices: Agreement, Proposal, Marketing Collateral, Other)
- Document Status (choices: In Review, Draft, Final)

When a file's column values are updated from the CloudFiles LWC, a Resource Updated Event is published. Suppose you want to automate the process of moving a Proposal file to a different folder whenever its Document Status is set to Final.
Steps to Automate:
- Trigger Automation:
Configure a flow to start whenever a Resource Updated Event is published.
- Filter Events:
Use decision elements to filter events based on the folder’s originating record type (e.g., Opportunity).
- Retrieve Column Values:
- Use the Get Resource Property action to fetch the Document Type column value of the updated resource.
- If DocumentType = Proposal, fetch the DocumentStatus column value.
- Perform Conditional Actions:
If the DocumentStatus = Final, execute further actions, such as moving the file to a different location.
Below is the flow snippet of the Example Use Case:

## Input Parameters
### Resource
The Resource parameter is used to specify the Resource (File or Folder) whose Property Value is to be fetched.
> **How to Configure the Resource Parameter** — If you do not have the Resource parameter directly available, you can configure it by:Creating a cldfs_Resource variable in your flow.Assigning the Resource's metadata details (e.g., DriveId, Id, Library) to the variable.These metadata details can be obtained from:CloudFiles Event Details, such as:Resource Updated File Uploaded Resource ClonedAny OtherCloudFiles Flow Actions, such as: Get Folder Contents Get Resource Details Any Other
### Property Name
Input the File/Folder's (Resource) Property API Name in the external storage whose value must be updated/set.
> **Where to find the Property's API Name** — Find the API Names of Properties directly from the External Storage Library.Alternatively, within Salesforce, go to:CloudFiles App > Document Management > Widget ConfigurationIn the Widget Columns section, add required Columns to check their API Names by Navigating to the location or Document Library, locate the column, and find its API Name (displayed in brackets next to the Column Name).
> **List of few Standard SharePoint Property Names** — name - gives the name of the resourcedescription - gives the description of the resourceid - gives the ID of the resourcedriveId - gives the drive ID of the resourcelibrary - gives the library that the resource is inexternalUrl- gives the cloud drive URL of the resourcepath - gives the path of the resource in the cloud drivetype - gives the type of resource (file/folder)size - gives the size of the resourcecreatedAt - gives the date of creation of the resource (not present in dropbox)updatedAt - gives the date when the resource was last updatedextension - gives the extension of the resource
## Output Parameters
The CloudFiles: Get Resource Property flow action provides the output value of the specified property as a Text Variable.
> **How to identify the Output Variable ?** — The output Text Variable can be identified by the action's label name. For example:If the action is labeled as "Get DocumentType Column Value", the output Text Variable will be named: Text from Get DocumentType Column Value
> **Does the Output vary based on Column/Property type ?** — No, the output of the CloudFiles: Get Resource Property flow action is always a Text value, regardless of the type of column or property queried.If a Date Property is queried, the output will be a text string like 12/23/2024.If a Yes/No Column is queried, the output will be text like TRUE or FALSE.This consistent output format ensures compatibility with various flow elements and simplifies automation configurations.
---
# Get Salesforce Files (Flow Action)
https://help.cloudfiles.io/salesforce/get-salesforce-files
# Get Salesforce Files
The CloudFiles: Get Salesforce Files flow action enables retrieval of Ids of all Salesforce files attached to a specific Salesforce record. This is particularly useful when you need to perform further operations on these files, such as processing, sharing, or deleting them in bulk.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Get Salesforce Files flow action enables retrieval of Ids of all Salesforce files attached to a specific Salesforce record. This is particularly useful when you need to perform further operations on these files, such as processing, sharing, or deleting them in bulk. By incorporating this action into your Salesforce flow, you can automate tasks involving Salesforce Files, enhancing efficiency and reducing manual effort.
The image below provides an overview of the input parameters and how this action appears in a Salesforce flow. Detailed descriptions of the input and output parameters are provided in the following sections.

## What this action does
The CloudFiles: Get Salesforce Files action takes the Id of a Salesforce record as input and retrieves a Text Collection containing the ContentDocumentIDs of all Salesforce Files attached to that record. These Ids can be used for various purposes, such as triggering further automation or integrating with other systems.
Example Use Case: Automating Salesforce file copying into external storage and deleting from Salesforce. For example, for Opportunity records, when an Opportunity is closed, retrieve all attached Salesforce files, copy them into the connected external storage and delete the Salesforce files once copied.
## Input Parameters
To configure the Get Salesforce Files action, provide the following parameter:
### Record Id
The Record Id of the Salesforce Object whose linked Content Documents (Salesforce files) need to be retrieved.
## Output Parameters
The action returns the following output:

### Text Collection of ContentDocumentIDs

A collection of ContentDocumentIDs for all Salesforce files linked to the specified record. These Ids can be passed to other flow actions for further processing, such as copying into external storage or deleting the Salesforce files etc.
> **Use Caution** — The action cannot Output Ids of Salesforce Attachments i.e. the Old Salesforce Classic's File format.
---
# Get Shared Resources
https://help.cloudfiles.io/salesforce/get-shared-resources
# Get Shared Resources
The CloudFiles: Get Shared Resources flow action allows you to retrieve all the resources (files or folders) that have been shared with a Salesforce community through CloudFiles. These shared resources can be accessed by community users and are made available through CloudFiles sharing capabilities.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Get Shared Resources flow action allows you to retrieve all the resources (files or folders) that have been shared with a Salesforce community through CloudFiles. These shared resources can be accessed by community users and are made available through CloudFiles sharing capabilities.
This action can be used to fetch a collection of these shared resources in a Salesforce Flow. This is particularly useful when managing multiple resources that have been shared with community members or need to be processed in bulk.
> **Note: ** — Note: This action specifically retrieves resources shared at the community level, which is different from attachments linked to individual records.
## What this action does
The Get Shared Resources with Community Resources action takes a Salesforce Record ID as an input and outputs a collection of all resources that have been shared with the community associated with that record. Each resource includes metadata details, enabling advanced flow configurations and automations for community-shared content.
Example Use Case
A community has multiple files and folders shared with its members through CloudFiles. You can use the Get Shared Resources action to retrieve all these shared resources. This collection can then be used for further processing, such as:
Identifying and removing outdated resources shared with the community based on naming conventions or metadata.
Generating reports on all resources currently available to community members.
Archiving or reorganizing shared resources based on workflow triggers or scheduled maintenance.
Implementing governance policies by auditing what content is accessible to external users.
## Input Parameters
### Parent ID
The Salesforce Record ID for which shared community resources need to be retrieved.
## Output Parameters
The apex action outputs apex-defined Attachment Collection.
Each Attachment in the collection,
Record ID
The Salesforce Record Id.
Resource Properties
Resource ID: External ID of the resource.
Name: Name of the attached resource.
Path: The path of the resource in external storage.
Type: Type of the resource ("file" or "folder").
Library: External storage service used.
Drive ID: Relevant for Google Drive or SharePoint.
---
# Move Resource
https://help.cloudfiles.io/salesforce/move-resource
# Move Resource
Learn how to efficiently move files and folders using the "Move Resource" action. This comprehensive document provides step-by-step instructions on configuring parameters such as external storage type, source, and destination.
> Kind: Flow action · Updated: Jul 1, 2026
## Introduction
The CloudFiles: Move Resource action enables you to move a resource (file or folder) from one location to another within the same external storage drive. This action is particularly useful in automations where resources need to be re-organized based on workflow changes.
The image below gives an overview of the input parameters and what this action looks like. Detailed description of these input parameters and outputs are provided in the following sections.

## What this action does?
The Move Resource action transfers a specified file or folder from its current location to a new destination within the same drive. This operation is performed in the external storage connected to Salesforce.
Use Case Example:
When a Lead is converted to an Account, the associated lead folder can be moved into the newly created account folder. This ensures that all documentation related to the lead is automatically transferred and organized under the corresponding account record.

## Input Parameters
To specify the resource file or folder you want to share or remove, it is necessary to provide the following parameters that define the target resource and its sharing destination. Below is a detailed explanation of each input:
### Destination
The parent folder ID of the target location where the file or folder will be moved. This identifies the destination folder within the external storage.
### Drive Id
The ID of the drive containing the resource. The action supports moving resources only within the same drive; cross-drive moves are not allowed.
### Library
Specifies the external storage library, such as sharepoint, google, dropbox, box, onedrive, azure or cloudfiles (AWS S3).
### Resource Id
Input the Resource Id i.e. unique identifier of the file or folder to moved. This ID is used to locate and process the resource within the specified library and drive.
### Resource Type
Specfies whether the target is a file or folder.
> **How to get Destination Parameters or Metadata Details ?** — Some of these Parameters like Drive ID can be obtained from within Salesforce CloudFiles app by navigating to the parent folder in the Content Library Tab and clicking the "View Metadata" button as shown in image below-Follow the steps below to retrieve these IDs -Click on App Launcher on top left. Search for the CloudFiles app.In the CloudFiles app, select the Content Library tab.Go to your cloud storage. You may need to login if you haven't already.Go to the target folder where you would like to place the created folders.A dialog box opens up which shows all the IDs. Copy the ID from here.These steps are shown in the GIF below -
## Output Parameters
The CloudFiles: Move Resource action does not return any output parameters. Upon successful execution, the specified file or folder will be moved to the target location in the external storage.
---
# Search by Resource Metadata (Flow Action)
https://help.cloudfiles.io/salesforce/WzEc-search-by-resource-metadata
# Search by Resource Metadata
The "Search by Resource Metadata" flow action is a specialised feature designed for use with SharePoint and MS Teams, focusing on custom properties. This functionality allows users to efficiently search and manage resources (files & folders) by tags (metadata columns).
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The "Search by Resource Metadata" flow action is a specialised feature designed for use with SharePoint and MS Teams, focusing on custom properties. This functionality allows users to efficiently search and manage resources (files & folders) by tags (metadata columns). By specifying key-value pairs, users can conduct targeted searches (exact match) within custom columns, ensuring that they can easily locate and retrieve the relevant resources based on the defined metadata criteria.
> **Note** — Please note, this action retrieves files/folders with the exact matching key-value pairs.

## What this action does
For this action, users need to create a list in which they add key-value pairs that will look for values from the custom columns. The action will then return the resource associated with those custom properties. By leveraging this capability, users can efficiently filter and retrieve resources based on metadata defined in their SharePoint and MS Teams environment.
## Input Parameters
In your flow builder, search for the element named “CloudFiles: Search by Resource Metadata”. You can also find this action in the CloudFiles category when you click the "Action" element in the "Add Element" box. Select the action to insert into the flow.
Here is a list of all input parameters with a summary. For details, check out the individual sections below -
- Condition (AND/OR) - Choose AND or OR depending on the key values of the custom columns in SharePoint or MS Teams as required.
- Drive ID - This is for SharePoint and MS Teams users only. These cloud storages offer multiple 'drives' where documents can be uploaded.
- Library - Library is the desired Cloud based drive where you wish to create the folder.
- Properties - This is the key value of the custom columns through which we retrieve desired files/folders.
### Condition(AND/OR)
Depending on the key values of the custom columns in SharePoint, specify AND or OR to define the logical condition that suits your requirements. This ensures that the criteria for filtering or processing data are accurately applied based on your specified key values.
### Library
Library is the desired Cloud based drive where you wish to create the folder. This is a simple text field and you can enter one of these options - sharepoint, MS Teams.
It's best to copy this parameter from the dialog box as shown in the image below.
### Drive ID
This is important for MS Teams & SharePoint users only. These cloud storages offer multiple 'drives' where documents can be uploaded. Drive ID can be copied form the metadata dialog as shown below-

These parameters can be obtained within Salesforce with a single click by navigating to the parent folder in the Content Library tab and clicking the "View Metadata" button as shown in image below. The Content Library tab can be accessed from the CloudFiles app launcher or also be inserted into any of your standard or custom apps.
Follow the steps below to retrieve these IDs -
- Click on App Launcher on top left. Search for the CloudFiles App.
- In the CloudFiles App, select the Content Library Tab.
- Go to your cloud storage. You may need to login if you haven't already.
- Go to the target folder where you would like to place the created folders.
- A dialog box opens up which shows all the IDs. Copy the ID from here.
Once you have the drive ID, create a new resource with the following specifications: set the type to "constant," the data type to "text". For the value, go to the content library. From the view metadata section, add the Drive Id to the resource. Finally, incorporate this newly created resource into the Drive Id field of the flow action. This ensures that the Drive Id is accurately linked and utilized within your automated workflow.
### Properties
Here, you need to specify the property name in the external storage whose value must be updated or set. This property name determines which aspect of the file or folder you intend to search. This ensures that the automation correctly identifies the resources in the external storage system.
Now create a list of properties in which you need to define the newly created resource for example, "Property1" (as shown in the example) which is a variable resource with “Data type > Apex-defined” and “Apex class > cldfs_CloudFilesVariable”, similarly for "Property2".
Next, use the key in the value section of “Property1 > key” or “Property2 > key” with “Equals” operator, which is the name of the custom column. You can obtain this key by either navigating to Cloudfiles > Document Management > Widget Section > Choose any Custom Column or by directly looking up the name in your SharePoint library. This key will be used to accurately link the properties to the respective columns, ensuring proper data integration within your workflow.
Head over to SharePoint and in the custom columns, use the custom tags to specifically locate the file/folder which is to be retireved. For example, lets say I want to find all the files/folders associated with the custom tags “111111” from “CustomColumn1” and also “222222” from “CustomColumn2” so enter these custom tags in the “Property1 > valueString” and “Property2 > valueString” respectively.
Refer to the video below to have a visual understanding of the above parameters -
[Watch video](https://youtu.be/Okats_U0GiE)
## Output Parameters
The Apex action returns a list of resources. If you require individual resource parameters, you should incorporate a loop into your flow. This loop will allow you to retrieve and process the details of each resource separately, based on the needs of your flow action. By doing so, you can efficiently access and utilise specific attributes of each resource for further operations or decision-making within your automated workflow.

### Resource
A resource represents a file or a folder in external storage. It has the following properties-
- Id - External Id of the Resource
- Type - One of file or folder
- Name - Name of the resource, with extension in case of files
- Library - one of sharepoint, google, onedrive, box, dropbox, cloudfiles
- DriveId - Drive Id in external storage. Only applicable for SharePoint & Google Drive. You can get this value from Content Library.
- Path - This is the Cloud storage path of the newly created folder. It specifies the particular endpoint and resource you want to interact with, such as records, objects, or custom resources.

---
# Set Resource Property (Flow Action)
https://help.cloudfiles.io/salesforce/set-resource-property
# Set Resource Property
Metadata properties in file storage systems, such as SharePoint, Google Drive, and others, represent key information about files or folders. These properties define the type of information you can store about a resource and are critical for organizing, filtering, and managing data effectively.
> Kind: Flow action · Updated: Jul 1, 2026
## Introduction
Metadata properties in file storage systems, such as SharePoint, Google Drive, and others, represent key information about files or folders. These properties define the type of information you can store about a resource (file or folder) and are critical for organizing, filtering, and managing data effectively.
In systems like SharePoint, metadata properties function similarly to database fields or spreadsheet headers. For example:
- Columns in SharePoint categorize and tag files with information like file type or status.
- Properties in Google Drive include attributes like a folder's name, description, or permissions.
By leveraging metadata properties, you can ensure structured management and efficient retrieval of resources across platforms.
Columns in SharePoint are the fields or metadata associated with items in a list or document library. They define the type of information you can store about an item or file.

Common column types for file tagging include: Single Line of Text, Choice, Date and Time, Checkbox and many more. Columns enable better categorization and automation, ensuring efficient file management and discovery.
The CloudFiles: Set Resource Property flow action automates the process of updating or assigning metadata property values for resources across multiple storage systems, such as:
- SharePoint: Update column values (e.g., Document Type, Status).
- Google Drive: Modify properties like folder name or description.
- Other Libraries: Set properties as supported by the specific platform.
This action enables seamless integration with Salesforce Flow Builder, allowing sophisticated automations for metadata management in diverse systems.

## What this action does
The CloudFiles: Set Resource Property flow action allows you to:
- Specify the target Resource using its metadata details.
- Specify the columns to update using their Property/Column API Names.
- Dynamically assign values to these Properties/Columns via text input or flow resources.
This action supports batch updates, enabling you to update or assign multiple column values for a single resource in a single action execution.
Example Use Case
Scenario:
Your Salesforce users upload files into SharePoint folders through CloudFiles LWCs on Account and Contact record pages. You want to capture specific metadata from these upload events and automatically tag the files in SharePoint.
For instance:
- If a file is uploaded from an Account record, set its Document Type column to "Account File" and the Record Id column to the associated Account's Record ID.
- If uploaded from a Contact record, set the same columns accordingly.
Automation Steps:
- Trigger the Automation: Configure a flow to trigger on the File Uploaded event.
- Filter Events: Use decision elements to filter the events based on the originating record's object type (e.g., Account or Contact).
- Set Resource Properties: Use the Set Resource Property action to update the file’s column values:
- Assign "Account File" to the Document Type column and the Account's Record ID to the Record Id column for Account-originated uploads.
- Similarly, tag files with appropriate values for Contact-originated uploads.
By automating column tagging, you ensure consistent metadata management, enhancing discoverability and supporting streamlined workflows.
Below is the flow snippet of the example use case:

## Input Parameters
### Resource
The Resource parameter is used to specify the SharePoint Resource (File or Folder) whose column values are to be updated.
> **How to configure the Resource Parameter?** — If you do not have the Resource parameter directly available, you can configure it by:Creating a cldfs_Resource variable in your flow.Assigning the Resource's metadata details (e.g., Drive Id, Id, Library) to the variable.These metadata details can be obtained from:CloudFiles Event Details, such as:File Uploaded Resource Cloned Any OtherCloudFiles Flow Actions, such as: Get Folder Contents Get Resource Details Any OtherIn the scenario described in the "What this action does" section, the uploaded file's metadata details are fetched using event details. The flow snippet below illustrates the steps to configure the Resource parameter:
### Properties
The Properties parameter in the Set Resource Property action is where you define column value assignments for a Resource (File or Folder) in SharePoint. Each column to be updated requires two inputs:
- Property Name: Specifies the column (property) to update.
- Value: Specifies the new value for that column.

### Property Name
Input the File/Folder (Resource) Property API name in the external storage whose value must be updated/set.
> **Where to find the Property/Column's API Name ?** — From External Storage directly find the API Names of Columns in a specific Document Library.Alternatively, within Salesforce, go to:CloudFiles App > Document Management > Widget ConfigurationIn the Widget Columns section, add required Columns to check their API Names by navigating to the Storage Loaction, and find its API Name (displayed in brackets next to the Column Name).
> **When Updating a Resource's 'Name' Column/Property-** — To update the 'Name' column of a SharePoint Resource (File or Folder), you need to follow a special configuration:Separate action for 'Name'You must create a separate Set Resource Property action for updating the 'Name' column.Only the 'Name' column can be updated within this action.No other columns (properties) can be updated in the same action when modifying the 'Name' column.Updating 'Name' and other columnsIf you need to update both the 'Name' column and other columns simultaneously, you must use two separate actions:One action should be dedicated solely to updating the 'Name' column.A second action should update all other columns.Note: In rare cases, the Set Resource Property action may fail when property values contain special characters (such as backslashes \) or JSON-like syntax (e.g. //, comments). This is because the action builds a JSON payload and those characters can unintentionally break the JSON format.Workaround: Use the Set Resource Property (Batch) action instead when modifying such values. It handles more complex property updates and helps avoid JSON formatting issues when special characters are involved.
> **Types of SharePoint columns that can be updated using the flow action** — Currently, the CloudFiles: Set Resource Property flow action supports updates for only the following two types of SharePoint columns:Single Line of TextYes/NoFor other column types, such as Date, Choice, and others, Manual Updates through the CloudFiles Widget/LWC are supported. However, these types are not yet supported for updates via the flow action.Support for additional column types in the flow action will be added in future releases.
### Value
Input the value to assign to the specified column.
The value can be:
- Plain Text: Manually entered text.
- Dynamic Resource: A value from a Salesforce Flow Resource (e.g., variables, formulas).
- If Column Type is Yes/No then:
- for Yes, Value = TRUE
- for No, Value = FALSE
## Output Parameters
This action does NOT generate any output. To confirm the execution:
- Check the updated values directly in SharePoint.
- Verify column values via the CloudFiles LWC.
---
# Set Resource Property (Batch)
https://help.cloudfiles.io/salesforce/set-resource-property-batch
# Set Resource Property (Batch)
The CloudFiles: Set Resource Property (Batch) action extends the functionality of the standard Set Resource Property flow action, enabling you to process multiple resource property updates in a single action instead of configuring several individual actions in your flow.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The CloudFiles: Set Resource Property (Batch) action extends the functionality of the standard Set Resource Property flow action, enabling you to process multiple resource property updates in a single action. Instead of configuring multiple individual actions in your Salesforce flow, this batch action consolidates them, improving efficiency and simplifying flow management.

## What this action does
The Set Resource Property (Batch) action processes a collection of Set Resource Property update requests. Each request contains:
- A Resource (the file or folder to be updated).
- A collection of Updates (key-value pairs of property names and their corresponding values).
The action applies all updates in the collection, streamlining workflows for handling multiple metadata updates.
Example:
If three files need updates:
- File 1: Updates as "Document Type" to "Invoice" and "Status" to "Approved."
- File 2: Updates as "Document Type" to "Report."
- File 3: Updates as "Name" to "Project_Plan.docx" and "Category" to "Project Files."
Instead of using 3 seperate Set Resource Property flow actions, configure 3 seperate cldfs__SetResourcePropertyFlowInput entries, add them to the Inputs collection, and execute a single Set Resource Property (Batch) action.
## Input Parameters
### Inputs
A collection of Apex-defined variables of type cldfs__SetResourcePropertyFlowInput.

Each cldfs__SetResourcePropertyFlowInput includes:
- Resource: The target Resource (file or folder).
- Updates: A collection of cldfs__CloudFilesVariable variables, each representing a property name and its corresponding value for the Resource.
> **How to configure the "Inputs" Parameter?** — Create the Inputs Collection-
Define a Collection variable of type cldfs__SetResourcePropertyFlowInput in Salesforce Flow to hold multiple Set Resource Property entries.Create Individual cldfs__SetResourcePropertyFlowInput Entries
For each resource to be updated:Assign the Resource (metadata details such as DriveId, Id, and Library).Define the Updates:Each update is a cldfs__CloudFilesVariable object with:Key: The Property Name (e.g., "Document Type" or "Status").ValueString: The corresponding value for the property.Add updates to each resource-Create a Collection variable of cldfs__CloudFilesVariable to store all the property-value mappings for the resource.Assign this collection to the Updates field of the cldfs__SetResourcePropertyFlowInput.Add all Inputs to the Batch Collection-
Add all such cldfs__SetResourcePropertyFlowInput entries to a collection variable and Input this as Inputs parameter.
## Output Parameters
This action does not produce specific outputs. To confirm the execution:
- Check the updated metadata values in the external storage system (e.g., SharePoint).
- Verify changes via the CloudFiles LWC or widget.
---
# Update Permissions (Flow Action)
https://help.cloudfiles.io/salesforce/y5mx-update-permissions
# Update Permissions
Learn how to effectively set permissions for files and folders in external storage platforms like SharePoint and Google Drive with this comprehensive guide. Discover the step-by-step process of adding the Update Permissions action to a flow and configuring owner, read, and write access.
> Kind: Flow action · Updated: Jul 2, 2026
## Introduction
The Update Permissions flow action can be used to set owner/read/write permissions of a resource — whether a Site, Drive, Folder, or File — in external storage for specific Salesforce User Ids or Group Ids.
Additionally, the Salesforce Only field, when set to True, enables you to enforce permissions strictly at the Salesforce level without modifying the actual permissions in external storage platforms such as SharePoint or Google Drive. This is particularly useful for restricting actions (like upload, rename, or delete) within Salesforce, while leaving external access unchanged.
The image below gives an overview of the input parameters and what this action looks like. Detailed description of these input parameters and it's outputs are provided in the following sections.

## What this action does
The Update Permissions flow action is used to set permissions of a file/folder at either external level or salesforce level. For an instance, this flow action can be combined with Share With Community User flow action which shares a specific file/folder with a community user and the read level access is given by default. The Update Permissions flow action can now be used to update the permissions to give write access to the shared file/folder. In the image given below the flow action is used to grant write access to particular file/folder whenever a new user gets created.

## Input Parameters
Let us discuss each of the input parameters in detail in the sections below.
### Access Level (owner/read/write)
This parameter used to specify the access level to grant/revoke. This has to be one of read or write. This parameter is used to specify the access level to grant or revoke. For standard usage, this must be one of read or write. For site and driveresource types, any custom SharePoint role name (e.g. Contribute, Design) is also accepted in addition to the built-in owner (full control), read, and write roles.
> **Note** — Access Levels are inherited but can be overridden. E.g. If a user has READ access level for a parent folder they have READ access level on all child folders by default. If they are then granted a different access level explicitly then the explicitly granted permission will take precedence
> **Note** — Precedence order of access levels in order of high to low is NONE, READ, WRITE. This means that if a user is grant WRITE access level to a folder but their profile is granted NONE , the user will not have access to the folder.
> **Note** — Standard roles (owner, read, write) automatically add users to the built-in SharePoint site groups (Owners, Members, and Visitors respectively). Custom roles (e.g. Contribute,Design) use direct role assignments on the site rather than site group membership.Incase of SharePoint Groups they always get direct role assigments.
### Action (grant/revoke)
This parameters specify the type of action. This has to be one of grant or revoke. The following are permutations of access level and action that are handled.
action: revoke, accessLevel: read - Impacted users will lose complete access to the file/folder - i.e. Access Level NONE
action: revoke, accessLevel: write or action: grant, accessLevel: read- Impacted users will lose access to update actions like upload, replace, delete, rename, move, new folder - i.e. Access Level READ
action: grant, accessLevel: write - Impacted users will have full access (As much as their permission level in SharePoint/Google Drive allows), i.e. Access Level WRITE
### Resource Parameters
These parameters are needed to specfiy the Resource (site/drive/folder/file) whose permissions are going to be updated. You can get these parameters by viewing metadata details for a folder in the “Content Library” tab of CloudFiles app in Salesforce or can be fetched through other flow actions or elements like “Get Connected Folder”, "Create SharePoint Site" etc.
### Drive Id
This is important for Google Drive & SharePoint libraries only. The Drive ID is a unique identifier for a storage location in both SharePoint and Google Drive. In SharePoint, it represents a document library within a site, while in Google Drive, it identifies a user's drive or shared drive.

### Library
Input the destination Library. Possible values are sharepoint, google, azure,onedrive, dropbox, box, s3, sftp or cloudfiles.
### Resource Id
This is the unique identifier of the resource (file, folder, site, or drive) whose permissions are being updated.
Accepts only one Id.
If you need to update multiple resources at once, use Resource Ids instead.
Examples:
Files → FileId as ResourceId
Folders → FolderId as ResourceId
SharePoint Sites → SiteId as ResourceId
SharePoint Document Libraries (Drives) → DriveId as ResourceId
### Resource Ids
This field accepts collection variable of multiple Resource Ids (sites, drives, files, or folders) whose permissions are being updated.
> **Note** — The Resource Id field should be populated when there is one resource Id for which you are updating permissions while Resource Ids field should be populated when there is a collection of resource Ids whom permissions are being updated, hence, it is mandatory to fill either of the field but not both based on the use case.
### Resource Type
This defines the type of resource for which permissions are being updated.
Possible values:
file → For files
folder → For folders
site → For SharePoint sites
drive → For SharePoint document libraries (drives)
### Emails or Site Group Names
List of email Ids of users for whom permissions are being updated.
### Salesforce Only
This field enables to set permissions for files/folders at salesforce level but not at the external storage level. When set True, actions (create folder, upload file, rename, move, etc.) can be disabled for specific groups, users or profiles without changing the permissions in SharePoint/Google Drive. This field is not mandatory and should be included or not included based on the use case.
> **Note** — This feature needs to be enabled by the CloudFiles team for your org. Please contact support@cloudfiles.io
### Salesforce User or Group Ids
This is a collection variable which accepts collection of Salesforce User Ids/ Group Ids for whom permissions are being updated.
---
# Doc Sharing Flow Actions
https://help.cloudfiles.io/salesforce/doc-sharing-flow-actions
# Doc Sharing Flow Actions
This collection consists of all Document Sharing flow actions.
> Kind: Flow action · Updated: Jul 4, 2026
This collection consists of all Document Sharing flow actions.
- Add to Dataroom - This action lets you add content to a dataroom.
- Create Dataroom - This action lets you create a Datatoom - which is a way to share multiple files & folders with customers and to receive files from them.
- Create File Request - This action helps you create a file request block. It's a way to receive files from customers.
- Create Link - This action creates a shareable link of a file, folder or dataroom that can be copied to a Salesforce property for later use.
- Remove from Community - This flow action allows you to unshare a resource (file or folder) from a Salesforce record particularly useful when a resource that was previously shared with a Salesforce record and its associated portal users via Experience Cloud needs to be restricted or removed.
- Share With Community User - While the Create Attachment flow action connects external files or folders to Salesforce records, enabling users to access them via the CloudFiles Lightning Web Component (LWC) on record pages. This functionality also works in Experience Cloud, allowing organizations to share resources with portal users while controlling access through sharing settings.
- Update Link Settings - This flow action can be used to update security policies on your created CloudFiles links. The settings include disabling the link, restricting access to the link to specific users, protecting the link with a password etc.
---
# Add to Dataroom
https://help.cloudfiles.io/salesforce/add-to-dataroom-flow-action
# Add to Dataroom
Learn how to easily add content to a dataroom using a flow action with this comprehensive guide. Follow step-by-step instructions to seamlessly integrate the "Add to Dataroom" action into your flow and configure its parameters.
> Kind: Flow action · Updated: Jul 4, 2026
## Introduction
A Dataroom is way to share multiple files & folders with customers and to receive files from them. In this article, we will see how to add content to a dataroom using a flow action.
## 1 - Add "Add to Dataroom" action to your flow
In your flow builder, search for the element named "Add to Dataroom". You can also find this action in the CloudFiles category when you click "action" element in "Add Element" box. Select the action to insert into the flow.
## 2 - Configure parameters
Please configure the following parameters after inserting the flow action-
- Dataroom Id - Id of the dataroom. The Dataroom Id can come from an earlier action in the flow like "Create Datatoom", or can be read from the record.
- File Requests - Collection variable holding items of type "File Request". A File Request in the flow can come from a "Create File Request" action. To create a collection out of it, you can use an assignment element to add to a list.
- Resources - Collection variable holding items of type Resource (File or Folder). A Resource in the flow can come from a "Create Folder" action. To create a collection out of it, you can use an assignment element to add it to a list.

---
# Create Dataroom
https://help.cloudfiles.io/salesforce/create-dataroom-flow-action
# Create Dataroom
Learn how to create a dataroom using a flow action with this comprehensive document. Follow the step-by-step guide to add the "Create Dataroom" action to your flow and configure parameters like description and dataroom name.
> Kind: Flow action · Updated: Jul 4, 2026
## Introduction
A Dataroom is a way to share multiple files & folders with customers and to receive files from them. In this article, we will see how to create a dataroom using a flow action.
## 1 - Add Create Dataroom action to your flow
In your flow builder, search for the element named "Create Dataroom". You can also find this action in the CloudFiles category when you click "action" element in "Add Element" box. Select the action to insert it into the flow.
## 2 - Configure parameters
Please configure the following parameters after inserting the flow action-
- Description- A description of the dataroom that will be visible to customers
- Name - Name of the dataroom

## 3 - Returned Value
The Apex action returns a custom type called Dataroom. You can use fields from this type, like id, name etc. You can use these fields in subsequent flow actions or save them as custom fields on the record to use outside this flow.
---
# Create File Request
https://help.cloudfiles.io/salesforce/create-file-request-flow-action
# Create File Request
Learn how to create a file request block using the "Create File Request" flow action with this step-by-step guide. Configure parameters like description, destination folder ID, drive ID, library, and file request block name.
> Kind: Flow action · Updated: Jul 4, 2026
## Introduction
A File Request is a way to receive files from customers. Files received using a File Request can be moved to a preconfigured folder automatically. In this article, we will see how to create a file request block using a flow action.
## 1 - Add Create File Request Action to your Flow
In your flow builder, search for the element named "Create File Request". You can also find this action in the CloudFiles category when you click "action" element in "Add Element" box. Select the action to insert into the flow.
## 2 - Configure parameters
Please configure the following parameters after inserting the flow action-
- Description - A description of the file request that will be visible to customers.
- Destination Folder Id - (Optional). If you want to automatically move the received files to a folder, please provide the Folder Id here. The Folder Id can come from an earlier action in the flow like "Create Folder", or can be read from the record.
- Drive Id - Drive Id for SharePoint or Google Drive. This parameter is not needed for other storages. To get the value of Drive Id, please refer to the Create Folder flow action.
- Library- one of sharepoint, google, onedrive, box, dropbox, cloudfiles
- Name - Name of the file request.

## 3 - Returned Value
The Apex action returns a custom type called File Request. You can use fields from this type, like id, name etc. You can use these fields in subsequent flow actions or save them as custom fields on the record to use outside this flow.
---
# Create Link (Flow Action)
https://help.cloudfiles.io/salesforce/create-link-flow-action
# Create Link
Learn how to use the Create Link flow action in Salesforce to easily create shareable links for files, folders, or datarooms. This comprehensive document provides step-by-step instructions on adding the action to a flow and configuring its parameters.
> Kind: Flow action · Updated: Jul 4, 2026
## Introduction
The Create Link flow action creates a shareable link of a file, folder or dataroom that can be copied to a Salesforce property for later use. This means you can automatically create sharing links of files & folders when certain conditions like record creation happens in Salesforce.
In this article we show how to add this action to your flow and configure the parameters.
## 1 - Add Share action to your flow
Create a standard Salesforce flow. You can choose to have any type of trigger conditions here. Then, add an element and choose actions. If you have CloudFiles correctly installed and connected, you can find the Share action in the CloudFiles category on the left.

NOTE: If you use a record triggered flow, make sure you run this action on an asynchronous path as shown below.

## 2 - Configure parameters
Please configure the following parameters after inserting the flow action-
- Library - one of sharepoint, google, onedrive, box, dropbox, cloudfiles
- DriveId - Drive Id for SharePoint or Google Drive. This parameter is not needed for other storages. To get the value of Drive Id, please refer to the Create Folder flow action.
- Resource Id - Id of the file, folder or dataroom. You can get it from one of the earlier actions in the flow like "Create Folder".
- Resource Type - folder, file or dataroom.
- Salesforce Record Id - Id of the Salesforce record. In a record triggered flow, this would be {!$Record.Id}.

## 3 - Returned Value
The Apex action returns a custom type called Link. You can use fields from this type, like id, url etc. You can use these fields in subsequent flow actions or save them as custom fields on the record to use outside this flow.
---
# Remove from Community (Flow Action)
https://help.cloudfiles.io/salesforce/remove-from-community
# Remove from Community
The CloudFiles: Remove from Community flow action allows you to unshare a resource (file or folder) from a Salesforce record. This action is particularly useful when a resource that was previously shared with a Salesforce record's portal users via Experience Cloud needs to be restricted or removed.
> Kind: Flow action · Updated: Jul 4, 2026
## Introduction
The CloudFiles: Remove from Community flow action allows you to unshare a resource (file or folder) from a Salesforce record. This action is particularly useful when a resource that was previously shared with a Salesforce record and its associated portal users via Experience Cloud needs to be restricted or removed.
Unlike the Share With Community User action, which shares resources, this action reverses the process, ensuring that unshared resources are no longer visible to portal users in the Experience Cloud widget or related Salesforce record widgets.

## What this action does
The CloudFiles: Remove from Community action disconnects a resource from a Salesforce record to which it was previously attached. This action removes the file or folder from being displayed in the Experience Cloud widget, effectively revoking access for portal users associated with the record.
For example, an organization might use this action to unshare outdated documents, such as an old proposal or irrelevant datasheets, from client-facing portals, while retaining control over resources for internal teams. This ensures that portal users only have access to the most relevant and current files.
## Input Parameters
### Library
Specifies the external storage library, such as sharepoint, google, dropbox, box, onedrive, azure or cloudfiles (AWS S3).
### Resource ID
Input the Resource Id i.e. unique identifier of the file or folder to be unshared. This ID is required to locate and disconnect the resource from the associated Salesforce record.
### Resource Type
Indicates whether the target is a file or folder.
### Salesforce Record ID
The ID of the Salesforce record from which the resource will be unshared. This parameter ensures the action is applied to the correct record and its associated portal users.
## Output Parameters
The CloudFiles: Remove from Community action does not produce direct outputs. However, upon successful execution, the specified resource will no longer be displayed in the Experience Cloud widget or accessible via the Salesforce record for portal users.
---
# Share With Community User (Flow Action)
https://help.cloudfiles.io/salesforce/share-with-community-user
# Share With Community User
The Create Attachment flow action provides a seamless way to connect files or folders from external storage to Salesforce records, enabling users to access attached resources directly through the CloudFiles Lightning Web Component (LWC), which can be placed on record detail pages and shared with Experience Cloud portal users.
> Kind: Flow action · Updated: Jul 4, 2026
## Introduction
While the Create Attachment flow action provides a seamless way to connect files or folders from external storage to Salesforce records. This integration enables users to access attached resources directly through the CloudFiles Lightning Web Component (LWC), which can be placed on the record detail pages. The same functionality extends to Experience Cloud, allowing organizations to share resources with portal users while maintaining control through sharing settings.
When configured in CloudFiles > Document Management > Experience Cloud, the sharing settings ensure that attachments visible on internal record pages are also displayed in the Experience Cloud widget for portal users.

Additionally, the Share With Community User action enables a specific resource sharing explicity with either Salesforce records for Experience Cloud pages or directly with users or groups through the Content Library Widget.
The image below gives an overview of the input parameters and what this action looks like. Detailed description of these input parameters and outputs are provided in the following sections.

## What this action does
The Create Attachment action links external resources to Salesforce records or users, automating access to files and folders across different use cases. For example, an organization can create an External sub-folder for an account record, share it with associated portal users, and keep other folders for internal purposes only. Similarly, internal and external monthly reports can be organized into separate folders, ensuring that only external reports are shared with clients.
By providing resource parameters and specifying the target (such as a Salesforce record ID, user ID, or group ID), the action facilitates precise sharing. It automatically updates CloudFiles widgets on internal records and Experience Cloud pages, ensuring both internal teams and external users have the access they need.
> **Note** — The flow action can be helpful in the following example use cases among many others.Share an external folder containing chemical datasheets with clients while keeping other folders for internal purpose only.Create separate folders for storing internal and external monthly reports and share only external reports with clients.

## Input Parameters
To specify the resource file or folder you want to share or remove, it is necessary to provide the following parameters that define the target resource and its sharing destination. Below is a detailed explanation of each input:
### Drive Id
Indicates the ID of the drive in which the target file or folder resides. This is essential for external storage systems like Google Drive or SharePoint, where files are stored across multiple drives.
### Library
Specifies the external storage library, such as sharepoint, google, dropbox, box, onedrive, azure or cloudfiles (AWS S3). This determines the platform on which the resource resides.
### Resource Id
Input the Resource Id i.e. unique identifier of the file or folder being shared. This ID is used to locate and process the resource within the specified library and drive.
### Resource Type
Specfies whether the target is a file or folder.
### Salesforce Record Id/User Id/Group Id
Specifies the target recipient of the shared resource. This field can be populated with the user Id of the user we want to share the target file or folder. It can also be populated with a salesforce record Id to share it with multiple users related to that record.
This can be:
- A Salesforce Record ID to associate the file or folder with a record (such as an Account or Opportunity) and share it with all the users having record access.
- A User ID to share the resource directly with an individual user.
- A Group ID to share with a predefined group of users in Salesforce.
## Output Parameters
The target file/folder are shared with designated user(s) as a result of execution of the flow action. The action returns following items as output.

### Id
This is the salesforce record Id/user Id/group Id to which a file or folder is shared.
### Resource
This is the resource related to the target file/folder.
---
# Update Link Settings (Flow Action)
https://help.cloudfiles.io/salesforce/update-link-settings
# Update Link Settings
The “Update Link Settings” flow action can be used to update security policies on your created CloudFiles links, including disabling the link, restricting access, and password protection.
> Kind: Flow action · Updated: Jul 4, 2026
## Introduction
“Update Link Settings” action can be used to update security policies on your created CloudFiles links. The settings include disabling the link, restricting access to the link to specific users, protecting the link with a password etc.
For example, if you wish to restrict the access to the shared collateral available through the link, you can do so by specifying the list of authorized user email Ids.
## 1 - Add “Update Link Settings” Action to your flow
In your flow builder, search for the element named “Update Link Settings”. You can also find this action in the CloudFiles category when you click the "Action" element in the "Add Element" box. Select the action to insert it into the flow.
## 2 - Configuration
- Link Id - Input the CloudFiles Link Id whose settings are to be updated.
- Allowed Emails - Input a list of Email Ids you wish to grant access to the link.
- Allowed Domains - Input a list of Domains you wish to grant access to the link.
- Disable - Toggle On and set value to 'True' to disable the CloudFiles Link.
- Allow Downloading - Toggle On and set value to 'True' to allow downloading.
- Password - Enter the password you wish to use to protect the CloudFiles link.
- Enable Email Verification - Toggle On and set value to 'True' to enforce email verification.
## 3 - Returned Value
None
---
# Doc Generation Flow Actions
https://help.cloudfiles.io/salesforce/doc-generation-flow-actions
# Doc Generation Flow Actions
This collection consists of all Document Generation flow actions.
> Kind: Flow action · Updated: Jul 4, 2026
This collection consists of all Document Generation flow actions.
- Get Doc-Gen Templates - This flow action retrieves all CloudFiles Document Generation templates associated with a specific Salesforce Object type, allowing flows to dynamically look up and select the right template before generating documents rather than hardcoding a template ID.
- Generate Document - This action can be used in Salesforce Flow Builder to automate document generation process.
- Generate Document (Sync) - This flow action operates synchronously, providing immediate outputs after execution. This differs from the asynchronous Generate Document action, which publishes a Document Generated CloudFiles Event without immediate results.
- Generate Document (Batch) - This flow action allows you to automate the generation of multiple documents in a single action within Salesforce Flow Builder.
- Merge Documents (Sync) - This action lets you combine multiple files into a single document directly within Salesforce Flow Builder. This synchronous action delivers real-time outputs that you can use immediately in subsequent automation steps.
---
# Get Doc-Gen Templates
https://help.cloudfiles.io/salesforce/get-doc-gen-templates
# Get Doc-Gen Templates
The CloudFiles: Get Doc-Gen Templates action is a Salesforce Flow Apex action that retrieves CloudFiles Document Generation templates, filtered by Salesforce Object type, by tag, or by both. It is typically used as a preparatory step before generating documents.
> Kind: Flow action · Updated: Sep 1, 2026
## Introduction
The CloudFiles: Get Doc-Gen Templates action is a Salesforce Flow Apex action that retrieves CloudFiles Document Generation templates, filtered by Salesforce Object type, by tag, or by both. It is typically used as a preparatory step before generating documents, allowing your Flow to look up and select the right template at runtime rather than hardcoding a template ID.

## What This Action Does
All your Doc-Gen templates can be viewed and managed under the CloudFiles App → Document Generation → DocGen Templates section. Each template in this list is associated with a source Salesforce object (e.g., Account, Lead, Purchase_Order__c) and has a unique Template ID, version number, tags, and other metadata. The CloudFiles: Get Doc-Gen Templates action allows you to programmatically fetch this same list, filtered by object type or by tag, directly within a Salesforce Flow.

When executed, CloudFiles: Get Doc-Gen Templates queries the CloudFiles platform and returns a collection of Doc-Gen templates matching the filters supplied: all templates configured for a given Salesforce Object type (e.g., Account), all templates carrying the given tags, or both. Where only an object type is supplied, this is the same list of templates you would see when browsing the CloudFiles App → Document Generation → DocGen Templates section and filtering by a particular source object.

This action is especially useful when you need to filter or choose templates at runtime, enabling flexible and intelligent document generation workflows within Salesforce Flow Builder.
## Input Parameters
All inputs are optional. Supply at least one filter to keep the returned collection to a usable size.
- Object Type: The API name of the Salesforce Object for which you want to retrieve Doc-Gen templates. This should match the Object type as configured against your CloudFiles Doc-Gen templates (e.g., Account, Contact, or a custom object such as Purchase_Order__c). Leave this blank to retrieve templates across all object types.
Example: Entering Account returns all CloudFiles Doc-Gen templates whose Master source object is set to Account.
- Tags: One or more tags to filter by. Only templates carrying a matching tag are returned. Leave this blank to apply no tag filter.
Example: Entering Renewal returns only templates tagged Renewal.
- Tags: Match All: Controls how multiple tags are evaluated. Set to true to return only the templates carrying every tag in the list. Set to false to return templates carrying any tag from the list. This input has no effect when a single tag is supplied.
Example: With tags EMEA and Contract, setting Tags: Match All to true returns only templates carrying both tags. Setting it to false returns templates carrying either.
> **Note** — Filtering by tag alone can return templates from several objectsA tag is not tied to a source object, so leaving Object Type blank can return templates published against different objects in a single collection.A document can only be generated from a record of the object the template was published against. If a tag-only filter can return templates from more than one object, confirm the template belongs to the record's object before passing its id into a CloudFiles: Generate Document action. The simplest way to avoid this is to keep Object Type set whenever you already know the object your Flow is running on.
## Output Parameters
The action returns a single output, Templates cldfs__DocGenTemplateList, which is a collection of records of the custom Apex type Template.
Each item in the returned collection represents one template and exposes the following fields:

| Field | Type | Description |
|---|---|---|
| id | Text | The unique identifier of the template in CloudFiles. |
| name | Text | The display name of the template (e.g., Proposal Presentation). |
| kind | Text | The template file type (e.g., docx, pptx, xlsx, pdf). |
| description | Text | A short description of the template, if configured. |
| tags | Text | The tags applied to the template. |
| createdAt | DateTime | The timestamp when the template was created. |
| createdBy | Text | The user who created the template. |
| versionNumber | Number | The current version number of the template. |
The collection can then be used according to the use case, for example filtering a template by name before passing it to a Generate Document action downstream.

> **Note** — Using the Output in Your FlowSince the output is a collection, you will typically follow the pattern below after the action is added to your flow.Step 1: Tag the TemplatesOn the DocGen Templates page, apply a shared tag to the templates this flow should be able to reach. Tagging is optional, but supplying a tag on the action returns a smaller collection and reduces how much narrowing the flow has to do.Step 2: Add the ActionIn Flow Builder, add the CloudFiles: Get Doc-Gen Templates Apex action to your flow. Set the Object Type input to the API name of the relevant Salesforce object (e.g., Account), and set Tags to the tag you applied. If you supply more than one tag, set Tags: Match All to control whether templates must carry all of them. The output resource Templates will be automatically available for use in subsequent elements.Step 3: Add a Loop ElementAdd a Loop element immediately after the action. Set its Collection Variable to the Templates output of the action (shown as Outputs from Get Account Object Doc-Gen Templates > Templates). This will iterate over every template returned, one at a time.Step 4: Add a Decision Element Inside the LoopInside the loop, add a Decision element to identify the specific template you want to use. Use the current loop item's fields as the resource, for example set the Resource to Current Item from Loop > name, the Operator to Equals, and the Value to the template name you want to match (e.g., Pre-Sale Proposal or Annual Report).You can define multiple outcomes in a single Decision element to handle different templates in the same flow.If the tag filter already narrows the collection to a single template, you can skip the Loop and Decision elements and pass the template straight to the next step.Step 5: Generate the DocumentOn the matching Decision outcome path, add your CloudFiles: Generate Document or CloudFiles: Generate Document (Sync) action. Pass the relevant fields of the matched template (such as id) into the Generate Document action as the template input.
---
# Generate Document (Flow Action)
https://help.cloudfiles.io/salesforce/generate-document
# Generate Document
The CloudFiles: Generate Document flow actions allow you to automate document generation directly within Salesforce Flow Builder. Instead of manually selecting a template and generating documents via the CloudFiles Doc-Gen LWC on a record's Details page, this action streamlines the process by automating document creation based on specific triggers and criteria defined in your flow.
> Kind: Flow action · Updated: Jul 4, 2026
## Introduction
The CloudFiles: Generate Document flow actions allow you to automate document generation directly within Salesforce Flow Builder. Instead of manually selecting a template and generating documents via the CloudFiles Doc-Gen LWC on a record's Details page, this action streamlines the process by automating document creation based on specific triggers and criteria defined in your flow.
Below is how the action looks like. Detailed descriptions of the input and output parameters are provided in the following section.

## What this action does
The CloudFiles: Generate Document flow action automates document creation using predefined templates and criteria set within Salesforce Flow Builder.
- Document Generation:
- Creates documents in PDF / DOCX / PPTX / XLSX format based on specified parameters.
- Supports dynamic template assignment (e.g., based on record type or decision logic).
- Storage Options:
- Save the generated file in Salesforce by:
- Linking it to a specific record as a content document.
- Placing it in a designated file library.
- Store the file in external storage when using the package with the CloudFiles | Document Management & Sharing Platform
- Dynamic Variables:
- Insert placeholders into templates for dynamic content.
- Assign values to these variables within the flow (e.g., user name, dates).
- Preview Operations:
- Allowing/disallowing operations like print and download in the preview window.
- PDF Security Features:
- Configure advanced security options for PDFs, such as:
- Allowing/disallowing printing or form field editing.
- Locking the document for edits.
- Setting an owner password or a view password.
Example Use Case:
Automatically generate a contract in PDF or DOCX format from a dynamically assigned template (e.g., based on record type). The contract:
- Includes dynamic variables like the user's name.
- Is locked for edits and protected with an owner password.
- Is saved in a specified location, such as a Salesforce File on the Opportunity record or in the dedicated Opportunity's external storage folder.
This action simplifies document generation while providing flexibility and control over content and security.
## Input Parameters
Here is a list of all input parameters with a summary. For details, check out the individual sections below:
- CloudFiles Variables: Pass custom runtime variables and edit the fields.
- Destination: Information specifying where the generated template/document will be stored.
- Document Type (docx/pdf/pptx/xlsx): The type of document to be created, either PDF, DOCX, PPTX, or XLSX.
- Parameters: Parameters for editing the document, such as password protection, locking, or printing permissions.
- Record ID: The Record Id of the object for which the document is to be generated, such as “Triggering Account > Account Id”.
- Template: The newly created resource, such as “TemplateId” in the example shown in Document Generation using CloudFiles.
### Cloudfiles Variables
The CloudFiles Variables parameter allows you to input values for custom runtime variables used in templates. This feature supports dynamic document generation by enabling flexible data assignment at runtime.
Steps to Configure CloudFiles Variables Input Parameter
- Create Resources for Runtime Variables:
- Create a new Apex-Defined Variable of the Apex class cldfs_CloudFilesVariable for each runtime variable you want to use.
- Each variable includes two fields:
- Key: The API name of the runtime variable (retrieved from the "Resources" section in the Template Builder).
- ValueString: The value to be assigned to the variable.
- Assign Key-Value Pairs:
- Use an Assignment Element in your flow to populate the runtime variables:
- Set the Key to the API name of the runtime variable from the MS Word, Excel, or PowerPoint template.
- Assign the desired ValueString.

- Build a Collection Variable:
- Create a Collection Variable of the same Apex class (cldfs_CloudFilesVariable).
- Add all the configured individual runtime variables to the Collection Variable.

- Input the Collection in the Action:
- Input the Collection Variable into the CloudFiles: Generate Document action's CloudFiles Variables paramter.

This configuration enables dynamic assignment of variables, ensuring document outputs are flexible and tailored to meet specific requirements. Runtime variables can personalize templates, automate complex workflows, and support highly customized document generation scenarios.
### Destination
The Destination parameter determines where the generated document will be stored after CloudFiles completes the document generation process.
Steps to Configure Destination:
- Create an Apex-Defined Variable of Apex Class cldfs__Resource

- Assign the necessary metadata (e.g., Library, DriveId, Id) based on the chosen storage option.
- To Save in Salesforce
- Default Behavior (Salesforce Files):
- If no destination parameter is specified, the file is stored in the Salesforce File Library.
- Link to a Specific Record:
- Assign the following fields:
- Library: Set to salesforce.
- Id: Set to the Record Id of the Salesforce record to which the file will be linked.

- To Store in External Storage
- When using CloudFiles with the CloudFiles | Document Management & Sharing Platform:
- Assign the following fields to define the external storage location:
- Library: Specify the library name.
- Drive Id: Specify the Id of the connected drive.
- Id: Specify the Id of the folder or location within the drive.

- Pass the configured variable as the Destination Parameter in the CloudFiles: Generate Document action.

This setup provides flexibility to store files in Salesforce or external storage, aligning with your business needs.
### Document Type (docx / pptx / xlsx / pdf)
The Document Type parameter specifies the format of the file to be generated based on the chosen template.
- docx: Generates a file using the MS Word Template in.docx format.
- pptx: Generates a file using the MS PowerPoint Template in.pptx format.
- xlsx: Generates a file using the MS Excel Template in.xlsx format.
- pdf: Generates a file in.pdf format, using any MS Word, PowerPoint, or Excel Template.
Select the appropriate type based on your requirements and the template used.
### Record Id
The Record Id parameter specifies the Salesforce record to be used as the data source for generating the document. The document is created based on the data from this record and the predefined template. Provide the Record Id of the object for which the template was designed (e.g., Opportunity, Contact, or Custom Object).
### Parameters
The Parameters input allows you to configure advanced security features for the generated PDF documents.
Steps to Configure:
- Create an Apex-Defined resource of Apex class cldfs_DocGenParamsin the flow.

- In an Assignment element:
- Assign the Variable's fields.
- Set the desired parameters to $GlobalConstant.True or $GlobalConstant.False.
- If no value is set, parameters default to false.

- AllowFillingPdfFormFields: Enables users to fill out form fields in the PDF if the template includes them. (Options: TRUE or FALSE)
- AllowPdfPrinting: Permits printing of the generated PDF. (Options: TRUE or FALSE)
- LockPdf: Locks the PDF to prevent any edits.(Options: TRUE or FALSE)
- AllowDownloadInPreview: Makes the download button visible in preview window. (Options: TRUE or FALSE)
- AllowPrintInPreview: Makes the print button visible in preview window. (Options: TRUE or FALSE)
- PdfOwnerPassword: Specifies an owner password to restrict editing access to those with the password. Enter the password as a string value.
- PdfViewPassword: Specifies a view password to restrict viewing access to those with the password. Enter the password as a string value.
- Retention: This parameter controls how long the file remains at the destination. The value is taken in minutes.
Use these parameters to customize the security settings of the generated PDF based on your requirements.
### Template
Input the 24-Digit CloudFiles "Template Id" of a published Template which can be found in the CloudFiles app under the Document Generation tab. This Id is essential for identifying and using the correct template for document generation, ensuring that the documents are formatted and populated as intended based on the specified template.

## Output Parameters
The CloudFiles: Generate Document action operates asynchronously, meaning it does not provide immediate outputs after execution.
Asynchronous Document Generation: After the action runs, a Document Generated CloudFiles event is published. There is no direct confirmation or result data immediately available.
How to verify Document Generation?
Check the specified destination (e.g., Salesforce File Library, record attachment, or external storage) to confirm the document was generated successfully.
> **Benefits of Asynchronous Design** — Trigger Subsequent Flows: Use the Document Generated event to initiate other flows or automate additional actions.Flexible Automation Architecture: This approach supports handling complex business use cases and enables advanced automation scenarios in Salesforce.By leveraging this design, you can build scalable and dynamic document generation workflows that align with your Organization's needs.
Below is an example of flow created using this flow action -

> **Error Handling** — Error Handling
If an action execution fails to generate the document, an Error Event is published for that specific action. These events can be used to identify and handle issues with individual document generation requests.
---
# Generate Document (Sync) (Flow Action)
https://help.cloudfiles.io/salesforce/generate-document-sync
# Generate Document (Sync)
The CloudFiles: Generate Document (Sync) action operates synchronously, providing immediate outputs after execution. This differs from the asynchronous Generate Document action, which publishes a Document Generated CloudFiles event without immediate results.
> Kind: Flow action · Updated: Jul 4, 2026
## Introduction
The CloudFiles: Generate Document (Sync) action operates synchronously, providing immediate outputs after execution. This differs from the asynchronous Generate Document action, which publishes a Document Generated CloudFiles event without immediate results.
This synchronous action allows you to seamlessly integrate document generation into synchronous flows requiring real-time execution, offering greater flexibility in automation.
Like the asynchronous action, this feature also enables automated document creation within Salesforce Flow Builder. Instead of manually selecting templates and generating documents via the CloudFiles Doc-Gen LWC on a Record Detail page, it streamlines the process based on specific triggers and criteria set in your flow.
Below is how the action looks like. Detailed descriptions of the input and output parameters are provided in the following section.

## What this action does
The CloudFiles: Generate Document (Sync) flow action automates document creation using predefined templates and criteria set within Salesforce Flow Builder.
- Document Generation:
- Creates documents in PDF / DOCX / PPTX / XLSX format based on specified parameters.
- Supports dynamic template assignment (e.g., based on record type or decision logic).
- Storage Options:
- Save the generated file in Salesforce by:
- Linking it to a specific record as a content document.
- Placing it in a designated file library.
- Store the file in external storage when using the package with the CloudFiles | Document Management & Sharing Platform
- Dynamic Variables:
- Insert placeholders into templates for dynamic content.
- Assign values to these variables within the flow (e.g., user name, dates).
- Preview Operations:
- Allowing/disallowing operations like print and download in the preview window.
- PDF Security Features:
- Configure advanced security options for PDFs, such as:
- Allowing/disallowing printing or form field editing.
- Locking the document for edits.
- Setting an owner password or a view password.
Example Use Case:
Automatically generate a contract in PDF or DOCX format from a dynamically assigned template (e.g., based on record type). The contract:
- Includes dynamic variables like the user's name.
- Is locked for edits and protected with an owner password.
- Is saved in a specified location, such as a Salesforce File on the Opportunity record or in the dedicated Opportunity's external storage folder.
This action simplifies document generation while providing flexibility and control over content and security.
## Input Parameters
Here is a list of all input parameters with a summary. For details, check out the individual sections below:
- CloudFiles Variables: Pass custom runtime variables and edit the fields.
- Destination: Information specifying where the generated template/document will be stored.
- Document Type (docx/pdf/pptx/xlsx): The type of document to be created, either PDF, DOCX, PPTX, or XLSX.
- Parameters: Parameters for editing the document, such as password protection, locking, or printing permissions.
- Record Id: The Record Id of the object for which the document is to be generated, such as “Triggering Account > Account Id”.
- Template: The newly created resource, such as “TemplateId” in the example shown in Document Generation using CloudFiles.
### Cloudfiles Variables
The CloudFiles Variables parameter allows you to input values for custom runtime variables used in templates. This feature supports dynamic document generation by enabling flexible data assignment at runtime.
Steps to configure CloudFiles Variables Input Parameter
- Create Resources for Runtime Variables:
- Create a new Apex-Defined Variable of the Apex class cldfs_CloudFilesVariable for each runtime variable you want to use.
- Each variable includes two fields:
- Key: The API name of the runtime variable (retrieved from the "Resources" section in the Template Builder).
- ValueString: The value to be assigned to the variable.
- Assign Key-Value Pairs:
- Use an Assignment element in your flow to populate the runtime variables:
- Set the Key to the API name of the runtime variable from the MS Word, Excel, or PowerPoint template.
- Assign the desired ValueString.

- Build a Collection Variable:
- Create a Collection Variable of the same Apex class (cldfs_CloudFilesVariable).
- Add all the configured individual runtime variables to the Collection Variable.

- Input the Collection in the Action:
- Input the Collection Variable into the CloudFiles: Generate Document (Sync) action's CloudFiles Variables paramter.
This configuration enables dynamic assignment of variables, ensuring document outputs are flexible and tailored to meet specific requirements. Runtime variables can personalize templates, automate complex workflows, and support highly customized document generation scenarios.
### Destination
The Destination parameter determines where the generated document will be stored after CloudFiles completes the document generation process.
Steps to Configure Destination:
- Create an Apex-Defined Variable of Apex Class cldfs__Resource

- Assign the necessary metadata (e.g., Library, Drive Id, Id) based on the chosen storage option.
- To Save in Salesforce
- Default Behavior (Salesforce Files):
- If no destination parameter is specified, the file is stored in the Salesforce File Library.
- Link to a Specific Record:
- Assign the following fields:
- Library: Set to salesforce.
- Id: Set to the Record Id of the Salesforce record to which the file will be linked.

- To Store in External Storage
- When using CloudFiles with the CloudFiles | Document Management & Sharing Platform:
- Assign the following fields to define the external storage location:
- Library: Specify the library name.
- Drive Id: Specify the Id of the connected drive.
- Id: Specify the Id of the folder or location within the drive.

- Pass the configured variable as the Destination Parameter in the CloudFiles: Generate Document (Sync) action.

This setup provides flexibility to store files in Salesforce or external storage, aligning with your business needs.
### Document Type (docx / pptx / xlsx / pdf)
The Document Type parameter specifies the format of the file to be generated based on the chosen template.
- docx: Generates a file using the MS Word Template in.docx format.
- pptx: Generates a file using the MS PowerPoint Template in.pptx format.
- xlsx: Generates a file using the MS Excel Template in.xlsx format.
- pdf: Generates a file in.pdf format, using any MS Word, PowerPoint, or Excel Template.
Select the appropriate type based on your requirements and the template used.
### Record Id
The Record Id parameter specifies the Salesforce record to be used as the data source for generating the document. The document is created based on the data from this record and the predefined template. Provide the Record Id of the object for which the template was designed (e.g., Opportunity, Contact, or Custom Object).
### Parameters
The Parameters input allows you to configure advanced security features for the generated PDF documents.
Steps to Configure:
- Create an Apex-Defined resource of Apex class cldfs_DocGenParamsin the flow.

- In an Assignment element:
- Assign the Variable's fields.
- Set the desired parameters to $GlobalConstant.True or $GlobalConstant.False.
- If no value is set, parameters default to false.

- AllowFillingPdfFormFields: Enables users to fill out form fields in the PDF if the template includes them. (Options: TRUE or FALSE)
- AllowPdfPrinting: Permits printing of the generated PDF. (Options: TRUE or FALSE)
- LockPdf: Locks the PDF to prevent any edits.(Options: TRUE or FALSE)
- AllowDownloadInPreview: Makes the download button visible in preview window. (Options: TRUE or FALSE)
- AllowPrintInPreview: Makes the print button visible in preview window. (Options: TRUE or FALSE)
- PdfOwnerPassword: Specifies an owner password to restrict editing access to those with the password. Enter the password as a string value.
- PdfViewPassword: Specifies a view password to restrict viewing access to those with the password. Enter the password as a string value.
- Retention: This parameter controls how long the file remains at the destination. The value is taken in minutes.
Use these parameters to customize the security settings of the generated PDF based on your requirements.
> **To Configure Dynamic Passwords** — The parameters PdfOwnerPassword and PdfViewPassword can also be configured to take dynamic passwords on the generated document. You can set up dynamic text using a formula inside the flow, and this can then serve as the password for these two parameters.
### Template
Input the 24-Digit CloudFiles "Template Id" of a published Template which can be found in the CloudFiles app under the Document Generation tab. This Id is essential for identifying and using the correct template for document generation, ensuring that the documents are formatted and populated as intended based on the specified template.

## Output Parameters
The CloudFiles: Generate Document (Sync) action provides immediate outputs, accessible in the flow's All Resources.

Below are the 4 output parameters and their details:
### Document
- This Output paramter specifies the metadata details of the generated file.
- This parameter is populated only if the Destination input parameter is configured. If not, it will be null.
Field Details:
- When saved in Salesforce and linked to a record:
- Id: The generated file's Content Document Id.
- Library: salesforce.
- Other fields will be null.
- When saved in external storage:
- Contains metadata details of the file stored in the external storage.
### Content Version Id
- If no Destination parameter is specified, the file is stored in the Salesforce File Library.
- This parameter holds the Content Version Id of the generated file in Salesforce.
### Document Name
The name of the generated document.
### Download Url
A dynamic URL to download the generated file. This is a direct link to download the generated document file. When accessed, it immediately starts the download of the file hosted by CloudFiles.
Usage: Use this URL in flow-driven email alerts, screen flows, or external integrations to give users instant access to the file, or store it in a custom field on a Salesforce record for later use or automation.
### Preview Url
This is a public, view-only link that opens the generated document in the CloudFiles web viewer, without requiring the file to be downloaded.
Usage: Embed this URL in screen flows, email templates, or Experience Cloud pages to allow users to preview documents directly in the browser.
> **Using Preview URL in LWC:** — When using the Generate Document (Sync) action in a screen flow, the Preview URL can be passed to a custom Lightning Web Component (LWC). The LWC can embed the URL within an