Ask File
Ask File collects a document from the customer — a photo of their ID, a utility bill, a signed contract. It sends a prompt, waits for the upload, and stores the result two ways: as a signed URL in a flow variable for downstream processing, or as a permanent attachment on a borrower entity. Or both.
Accepted file types are image, document, video, and audio. If the customer sends anything else — text, stickers, reactions — the node replies with the invalid message and keeps waiting until a valid file arrives. There is no retry limit.
Configuration
| Option | Description |
|---|---|
| Prompt message | What you ask the customer to send. Supports {{variable}} placeholders. |
| Invalid message | Sent when the response has no attachment or is an unsupported file type. The node stays active and the customer can try again. |
| Store to variable | Toggle on to save the file's signed URL to a flow variable. The URL expires after 60 minutes. |
| Save to entity | Attach the file directly to the borrower's identity or address record. Select the entity type and the specific field (e.g., national_id). For address records, a variable holding the address UUID must be set before this node runs. The borrower must be authenticated. |
| Clear attachments | When saving to entity, replace all existing attachments rather than appending. This is destructive — there is no undo. |
| Metadata | Custom key-value pairs stored alongside the attachment on the entity record. Keys must match [a-zA-Z0-9_-]. |

Storing to a variable and saving to an entity are independent operations — if one fails, the other may still succeed.
When to Use It
KYC document collection. Request a government ID photo and attach it directly to the borrower's identity record by setting the entity to identity and the key to national_id.
Proof of address. Collect a utility bill or bank statement and attach it to a specific address record — you will need the address UUID in a variable beforehand.
Supporting documents. Store the file URL for downstream processing: pass it to an Extract Information or HTTP Request node that calls a document analysis service.
Output Handles
| Handle | When it fires |
|---|---|
| Success | File received, processed, and saved |
| Error | Storage failure, entity lookup failure, or unexpected exception |
Invalid input does not trigger the error handle — the node sends the invalid message and the customer retries.
Things to Know
The URL expires in 60 minutes. If a downstream node consumes the URL more than an hour after the upload, the link will be dead. Process the file promptly.
Only the first attachment is used. If the customer sends multiple files, only the first is processed. The rest are silently ignored.
Clear attachments is permanent. When enabled, all existing attachments on the entity are deleted before the new file is written. Use it intentionally — there is no recovery.
In WhatsApp interactive flows, a native file picker appears. Instead of the usual prompt-and-send pattern, the customer sees a PhotoPicker component with camera and gallery access, limited to 10 MB per file.