# Filestack

> Upload files to Filestack for a permanent public link, convert documents and images, resize and compress images, screenshot web pages, and replace or delete hosted files.

App · File Storage · 9 actions. Web page: https://docs.lodol.com/docs/integrations/filestack

## Actions

### Compress an image

Make a JPG or PNG image smaller, so it loads faster, without visibly changing it. Returns the smaller image and a public link.

**Inputs**

- File (`file`, text, required): The JPG or PNG to compress: upload one, pick one from an earlier step, paste a public link, or give a Filestack file ID. Other formats come back unchanged.
- Save as (`save_as`, text): Optional. The compressed image's name. Leave blank to add '-compressed' to the original name.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `document_ref` (text): The file, saved in Lodol, for a later step to attach or upload.
- `documents` (list): The file saved in Lodol.
- `file_id` (text): The file's Filestack ID, for the other Filestack steps.
- `filename` (text): The file's name.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): The file's public Filestack link, ready to share or embed. It does not expire.

**Example output**

```json
{
  "content_type": "image/jpeg",
  "document_ref": "doc_5e6f7a8b",
  "documents": [
    {
      "content_type": "image/jpeg",
      "document_ref": "doc_5e6f7a8b",
      "filename": "team-photo-compressed.jpg",
      "size_bytes": 201377,
      "url": "/actions/core/serve-document/doc_5e6f7a8b"
    }
  ],
  "file_id": "Mv4nBx6QPs1dHf3gJkLw",
  "filename": "team-photo-compressed.jpg",
  "size_bytes": 201377,
  "status": "success",
  "url": "https://cdn.filestackcontent.com/Mv4nBx6QPs1dHf3gJkLw"
}
```

### Convert a file

Convert a document or image to another format, such as Word to PDF or PDF to JPG. Returns the converted file and a public link.

**Inputs**

- File (`file`, text, required): The file to convert: upload one, pick one from an earlier step, paste a public link, or give a Filestack file ID.
- Convert to (`output_format`, text, required): The format to convert it into. One of: `pdf`, `docx` (Word (DOCX)), `doc` (Word 97-2003 (DOC)), `odt` (OpenDocument text (ODT)), `txt` (Plain text (TXT)), `html` (Web page (HTML)), `xlsx` (Excel (XLSX)), `xls` (Excel 97-2003 (XLS)), `ods` (OpenDocument spreadsheet (ODS)), `pptx` (PowerPoint (PPTX)), and 7 more. Default: `pdf`.
- Page (`page`, number): When turning a document into an image, which page to use. Leave blank for the first. From 1 to 99999.
- Save as (`save_as`, text): Optional. The converted file's name. Leave blank to keep the original name with the new extension.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `document_ref` (text): The file, saved in Lodol, for a later step to attach or upload.
- `documents` (list): The file saved in Lodol.
- `file_id` (text): The file's Filestack ID, for the other Filestack steps.
- `filename` (text): The file's name.
- `output_format` (text): The format it was converted to, e.g. pdf.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): The file's public Filestack link, ready to share or embed. It does not expire.

**Example output**

```json
{
  "content_type": "application/pdf",
  "document_ref": "doc_8a7b6c5d",
  "documents": [
    {
      "content_type": "application/pdf",
      "document_ref": "doc_8a7b6c5d",
      "filename": "proposal.pdf",
      "size_bytes": 148992,
      "url": "/actions/core/serve-document/doc_8a7b6c5d"
    }
  ],
  "file_id": "Hk3pQz9WTe6bLmN2vXcA",
  "filename": "proposal.pdf",
  "output_format": "pdf",
  "size_bytes": 148992,
  "status": "success",
  "url": "https://cdn.filestackcontent.com/Hk3pQz9WTe6bLmN2vXcA"
}
```

### Delete a file

Permanently delete a Filestack file. Its link stops working.

**Inputs**

- File (`file`, text, required): The Filestack file: its file ID, which 'Upload a file' returns, or its Filestack link.

**Outputs**

- `deleted` (true/false): True once it is gone.
- `file_id` (text): The file deleted.
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "deleted": true,
  "file_id": "s7tdGfE5RRKFUxwsZoYv",
  "status": "success"
}
```

### Download a file

Save a Filestack file in Lodol, so a later step can attach it to an email or upload it somewhere else.

**Inputs**

- File (`file`, text, required): The Filestack file: its file ID, which 'Upload a file' returns, or its Filestack link.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `document_ref` (text): The file, saved in Lodol, for a later step to attach or upload.
- `documents` (list): The file saved in Lodol.
- `file_id` (text): The file's Filestack ID, for the other Filestack steps.
- `filename` (text): The file's name.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): The file's public Filestack link, ready to share or embed. It does not expire.

**Example output**

```json
{
  "content_type": "application/pdf",
  "document_ref": "doc_4c1d2e3f",
  "documents": [
    {
      "content_type": "application/pdf",
      "document_ref": "doc_4c1d2e3f",
      "filename": "invoice-1042.pdf",
      "size_bytes": 84211,
      "url": "/actions/core/serve-document/doc_4c1d2e3f"
    }
  ],
  "file_id": "s7tdGfE5RRKFUxwsZoYv",
  "filename": "invoice-1042.pdf",
  "size_bytes": 84211,
  "status": "success",
  "url": "https://cdn.filestackcontent.com/s7tdGfE5RRKFUxwsZoYv"
}
```

### Get a file

Look up a Filestack file: its name, type, size, link and when it was uploaded.

**Inputs**

- File (`file`, text, required): The Filestack file: its file ID, which 'Upload a file' returns, or its Filestack link.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `file_id` (text): The file's Filestack ID, for the other Filestack steps.
- `filename` (text): The file's name.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `uploaded_at` (text): When the file was uploaded, in UTC.
- `url` (text): The file's public Filestack link, ready to share or embed. It does not expire.

**Example output**

```json
{
  "content_type": "application/pdf",
  "file_id": "s7tdGfE5RRKFUxwsZoYv",
  "filename": "invoice-1042.pdf",
  "size_bytes": 84211,
  "status": "success",
  "uploaded_at": "2026-10-03T14:22:05Z",
  "url": "https://cdn.filestackcontent.com/s7tdGfE5RRKFUxwsZoYv"
}
```

### Replace a file

Swap a Filestack file's contents for a new file. Its link and file ID stay the same, so anywhere it is shared shows the new version.

**Inputs**

- File (`file`, text, required): The Filestack file: its file ID, which 'Upload a file' returns, or its Filestack link.
- Replace with (`new_file`, text, required): The new contents: upload a file, pick one from an earlier step, or paste a public link to one.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `file_id` (text): The file's Filestack ID, for the other Filestack steps.
- `filename` (text): The file's name.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): The file's public Filestack link, ready to share or embed. It does not expire.

**Example output**

```json
{
  "content_type": "application/pdf",
  "file_id": "s7tdGfE5RRKFUxwsZoYv",
  "filename": "invoice-1042.pdf",
  "size_bytes": 90533,
  "status": "success",
  "url": "https://cdn.filestackcontent.com/s7tdGfE5RRKFUxwsZoYv"
}
```

### Resize an image

Make an image a different size, such as a thumbnail or a banner. Returns the resized image and a public link.

**Inputs**

- File (`file`, text, required): The image to resize: upload one, pick one from an earlier step, paste a public link, or give a Filestack file ID.
- Width (`width`, number): The new width in pixels. Leave blank to follow the height. From 1 to 10000.
- Height (`height`, number): The new height in pixels. Leave blank to follow the width. From 1 to 10000.
- Fit (`fit`, text): How the image fits a width and height together. Filling and stretching need both. One of: `clip` (Fit inside the size, keeping its shape), `crop` (Fill the size, cropping the edges), `scale` (Stretch to exactly this size), `max` (Only shrink, never enlarge). Default: `clip`.
- Save as (`save_as`, text): Optional. The resized image's name. Leave blank to add the new size to the original name.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `document_ref` (text): The file, saved in Lodol, for a later step to attach or upload.
- `documents` (list): The file saved in Lodol.
- `file_id` (text): The file's Filestack ID, for the other Filestack steps.
- `filename` (text): The file's name.
- `height` (number): The height asked for.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): The file's public Filestack link, ready to share or embed. It does not expire.
- `width` (number): The width asked for.

**Example output**

```json
{
  "content_type": "image/jpeg",
  "document_ref": "doc_1b2c3d4e",
  "documents": [
    {
      "content_type": "image/jpeg",
      "document_ref": "doc_1b2c3d4e",
      "filename": "team-photo-400x400.jpg",
      "size_bytes": 38204,
      "url": "/actions/core/serve-document/doc_1b2c3d4e"
    }
  ],
  "file_id": "Rz8yTq2LWa5cNv7bKpXe",
  "filename": "team-photo-400x400.jpg",
  "height": 400,
  "size_bytes": 38204,
  "status": "success",
  "url": "https://cdn.filestackcontent.com/Rz8yTq2LWa5cNv7bKpXe",
  "width": 400
}
```

### Take a screenshot of a web page

Capture a public web page as an image, as it looks on a computer or a phone. Returns the image and a public link.

**Inputs**

- Web page (`page_url`, text, required): The page's link. It has to open without signing in.
- Device (`device`, text): Show the page as it looks on a computer or a phone. One of: `desktop`, `mobile` (Phone). Default: `desktop`.
- Capture (`capture`, text): The whole page, or just the part that is visible. One of: `all` (The whole page, top to bottom), `window` (Only what fits on the screen). Default: `all`.
- Wait before capturing (`wait_seconds`, number): Seconds to let the page finish loading, up to 20. Leave blank for 1; raise it for pages that load slowly. From 0 to 20.
- Save as (`save_as`, text): Optional. The image's name. Leave blank to name it after the site.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `document_ref` (text): The file, saved in Lodol, for a later step to attach or upload.
- `documents` (list): The file saved in Lodol.
- `file_id` (text): The file's Filestack ID, for the other Filestack steps.
- `filename` (text): The file's name.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): The file's public Filestack link, ready to share or embed. It does not expire.

**Example output**

```json
{
  "content_type": "image/png",
  "document_ref": "doc_9c8d7e6f",
  "documents": [
    {
      "content_type": "image/png",
      "document_ref": "doc_9c8d7e6f",
      "filename": "example-com-screenshot.png",
      "size_bytes": 96480,
      "url": "/actions/core/serve-document/doc_9c8d7e6f"
    }
  ],
  "file_id": "Pw2sKd8FXn4hRt6yUmZo",
  "filename": "example-com-screenshot.png",
  "size_bytes": 96480,
  "status": "success",
  "url": "https://cdn.filestackcontent.com/Pw2sKd8FXn4hRt6yUmZo"
}
```

### Upload a file

Put a file on Filestack and get a public link to share or embed, plus its file ID for the other Filestack steps.

**Inputs**

- File (`file`, text, required): The file to upload: upload one, pick one from an earlier step, or paste a public link and Filestack will fetch it.
- Save as (`save_as`, text): Optional. The name to give the file on Filestack. Leave blank to keep its own name.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `file_id` (text): The file's Filestack ID, for the other Filestack steps.
- `filename` (text): The file's name.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): The file's public Filestack link, ready to share or embed. It does not expire.

**Example output**

```json
{
  "content_type": "application/pdf",
  "file_id": "s7tdGfE5RRKFUxwsZoYv",
  "filename": "invoice-1042.pdf",
  "size_bytes": 84211,
  "status": "success",
  "url": "https://cdn.filestackcontent.com/s7tdGfE5RRKFUxwsZoYv"
}
```
