Get File
keap.get_file
ActionCRM & salesconnection required
Calls the Keap API with the connection's credentials.
Retrieve one Keap file's descriptor, and its bytes as a base64 blob when the contents are asked for.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- OAuth 2.0
- Providers
- Keap
- Secret shape
- {"client_id": "…", "client_secret": "…", "refresh_token": "…"}
- Config it needs
- base_url, default_user_id
- Resolved by
- config.connection_id, else node.connection_id
Configuration
2 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
file_id The Keap file id to read. | string | Yes | — | — | 4321 |
include_data Also fetch the file's bytes; leave off to read only the descriptor. | boolean | No | false | — | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"file_id": "4321",
"include_data": false
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
file_id The file that was read. | number | — |
file_descriptor Keap's descriptor for the file. | object | — |
file_name The file's name in Keap. | string | — |
download_url Keap's download URL for the file. | string | — |
file_content The file base64-encoded — present only when include_data was set. | string | — |
content_encoding 'base64' when file_content is present. | string | base64 |
filename The file's name, under Mantle's file-blob key. | string | — |
size The file's size in bytes, as Keap reported it. | number | — |
{
"content_encoding": "base64",
"download_url": "",
"file_content": "",
"file_descriptor": {},
"file_id": 0,
"file_name": "",
"filename": "",
"size": 0
}Notes
- With include_data set the output carries Mantle's file-blob keys (file_content/content_encoding/filename/size), so it can be wired straight into an upload node such as gcs.put_object.
- Keap warns that files over about 8 MB can fail to download through the v1 API, because of base64 overhead.
See Get File run in a workflow.
In a technical demo we add the Keap connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.