How to Get an Attachment from the User in Chat Workflows
The Get File Input block is a User Input step that requests and captures the file shared by the user during a chat workflow.
When to Use this Block
Use Get File Input when you need an attachment from the user before performing the next action.
Example scenarios include:
- Uploading photos of damage for an insurance claim
- Sharing a receipt or invoice for reimbursement
- Providing identity or policy documents
- Submitting proofs during verification workflows
Configuration Steps
-
Navigate to chat workflows
Go to Admin → Chat → Automation → Chat Automation → Workflows.
-
Add the Get File Input block
In the Workflow Designer, open the context menu and navigate to: User Inputs → Get File Input.
The block is added to the workflow.
-
Configure the Get File Input block
In the Get File Input block configuration panel, fill in the following details:- Message (Required) – Enter the prompt that will be shown to the user.
Example: “Please upload a photo of the damaged vehicle.”
- Optional – Enable Optional if customers are allowed to proceed without uploading a file.
- Allowed File Types – Specify permitted extensions (comma-separated). If left empty, all file types supported by the channel are allowed, except a small set that is blocked by default for security reasons.
Example: .png, .jpeg, .jpg
- Temporary Field Name (Required) – Enter the name of the Temporary Field where the file detail should be stored.
- Message (Required) – Enter the prompt that will be shown to the user.
File details from Get File Input are saved only to a Temporary Field defined in the block; writing directly to a Chat API Field Name is not available.
The Optional setting is applicable only for Live Chat source.
Insurance Claim Processing Using File Attachments in a Workflow
In the example below, the Get File Input block is used to collect a photo of the damaged vehicle as part of the insurance claim process. After capturing the file, the workflow prompts the user to provide the policy number and then triggers an external service to validate the policy details. If the validation succeeds, the system confirms the claim request with a claim ID. If validation fails, the request is routed to the support team for assistance.
- This block captures one file per execution. To collect multiple files, place additional Get File Input blocks at the required steps.
- If the customer uploads multiple files during this step, the system will store only the most recently uploaded file’s details in the Temporary Field configured for this Get File Input block.
- The Get File Input block is not supported in Instagram Comments and Twilio SMS sources.
- For Instagram Direct Messenger, it is best practice to include .jpeg under Allowed File Types, as images sent through Instagram Direct Messenger are delivered in the .jpeg format
FAQs
-
What happens if a customer uploads a file type that is not permitted?
The upload is rejected when Allowed File Types is configured and the file does not match those extensions. The customer must upload a permitted type or proceed only if the block is set to Optional. -
Is the file upload mandatory by default?
By default, the block requires a file. To let customers continue without uploading, enable the Optional setting in the block (applicable for Live Chat source). -
Can this block capture multiple files in one step?
No. Get File Input captures one file per execution. To gather more than one file, add additional Get File Input blocks as needed. -
Where is the uploaded file stored for use in the workflow?
The file’s details are saved in the Temporary Field name you configure in the block. Direct mapping to a Chat API Field Name is not available. -
Do upload limits (such as file size) differ by channel?
Yes. The upload experience, limits and restrictions depend on the source selected for the workflow. -
How are file size limits handled?
File size limits for this block follow the default limits enforced by each source. -
How can I use the uploaded file in an external service?
The uploaded file’s details are stored in the Temporary Field configured in this block. These details can be used in subsequent Trigger Webhook steps within the workflow. You can include the Temporary Field value along with the Conversation Identifier in the payload sent to your external service.
The external service can then use this information to call the BoldDesk Developer API to download and process the attachment, if needed.