There are currently no built-in actions for uploading documents to Filevine projects in the Filevine-Zapier connector. To overcome this, you can use the “API Request (Beta)” action to fetch and upload documents in Filevine from Zapier.
This article covers the following:
- 🔧 How to Upload a Document to a Filevine Project
- 📋 How to List Documents in a Filevine Project
- ⬇️ How to Fetch a Document from a Filevine Project
Other notes and sections in this article:
- 📤 Troubleshooting and Advanced Approaches to Document Uploading in Filevine
- 🔮 Future Work: Adding Support for Document Endpoints
⚠️ Warning: As of 1/30/2026, the Filevine API team has lowered the rate of the "Batch Document Download" endpoint (and other similar endpoints) to zero. If you use this endpoint now, the API will return a 429 "Rate Limit Exceeded" error. As we understand it, this was done for security reasons.
If this change adversely impacts your business' operations, you can to reach out to Filevine via: api-help@filevine.com to let them know. If you do, please cc: support@vineskills.com so that we can support on our end as well.
✨ Why Use a Custom API Request?
- 📋 Access Documents endpoints in Filevine (search, fetch, upload, etc...), which are currently not supported in the Zapier connector.
- 🧩 Customize your query to match your system’s logic.
- 🔸 You also do not need to handle authentication by sending requests to Filevine's identify endpoint. The custom "API Request (Beta)" action does all of this for you. You only need to specify the URL, HTTP method, query parameters, and body data for a request.
💡 Need help setting up the Custom API Request?
See this article: Creating Custom API Requests in Filevine Zapier
🔧 How to Upload a Document to a Filevine Project
In order to upload a document to Filevine, you will need to use several custom API Request actions. This article will walk you through how to upload a document and attach it to a project in Filevine.
There are three steps required to upload a document to Filevine:
- Call Filevine’s Create Document URL for Upload endpoint.
- Upload a document to the URL returned in by last step.
- Attach the uploaded document with the Add Document to Project endpoint.
These steps are demonstrated and explained in the article below. Please see the References section at the bottom of this article for links to the Filevine API documentation for all endpoints mentioned here.
Note that in the first step of this example we are using a "New Event" trigger from the Filevine-Zapier app that is configured for the "Taskflow: Executed" event, which provides the "Project ID" and "Org ID" data needed in subsequent steps. Your first step will differ depending on your use case. Here's a screenshot of the entire Zap flow:
✅ Step 1: Add a Custom API Request Action
- Add a new step to your Zap and search for Filevine.
- For Action Event, choose API Request (Beta).
- Under Account, click Select, and choose the Filevine connection you previously authorized using a PAT.
- If you haven’t connected Filevine with a PAT yet, see our guide: Connect Zapier to Filevine (Using PATs)
- Click Continue to move to the Configure tab.
⚙️ Step 2: Setup the Custom API Request to "Create Document URL for Upload" in Filevine
With the Configure tab open for the new API Request (Beta) step you created in the Step 1, fill out the request settings as follows:
- Stop on Error: Yes (recommended)
- HTTP Method: POST
-
Endpoint URL:
https://api.filevineapp.com/fv-app/v2/Documents - Query String Parameters: ❌ Leave this blank.
- Additional Headers: ❌ Leave this blank.
-
Body:
Provide a valid JSON object that contains the
Filename(shown as "example.txt" in this example) and the<Org ID>:
{ "Filename": "example.txt", "OrgID": <Org ID> }
💡 Note:
Please see the Filevine "Create Document URL for Upload" API Documentation for a full list of body fields. None of the other fields were required, and some will be specified later with a call to the Add Document to Project endpoint.
Although not required, you may also want to specifiy the fileSize(in bytes) in theBodybecause otherwise the file will show as: "0 Bytes" in Filevine.
You can also change the owner of the file (defaults to "Zapier Service Account" if not specified) by adding theUploaderId.Nativefield to the body as follows (replacing<Uploader User ID>with the desired Filevine user ID):
"UploaderId": { "Native": "<Uploader User ID>" }
⚠️ Dynamic variables:
You can use dynamic variables, shown with angle brackets (< >) in this example, to pull values like<Org ID>from earlier steps in your Zap.
Here's a screenshot of the "Create Document URL for Upload" request as a custom API Request step:
Note that if you test out this step, you will see an AWS-based URL returned in the "Data out" tab under: Data > Response Data Url. This is where you will upload your file in the next step.
⬆️ Step 3: Upload the Document to Filevine Using a "Webhooks by Zapier" Step
For this step, you will need to upload your document to the URL returned in the output of the last step. In this example I will build a custom Webhooks request using a built-in Zapier action to upload a raw text file. However, your approach may differ depending on what document you are uploading to Filevine.
- Add a new step to your Zap and choose the Webhooks app by Zapier.
- For Action event, choose: "Custom Request".
- In the Configure tab, fill out the request settings as follows:
- Method: PUT
- URL: Click the + icon on the right, type "URL" in the search box, and choose the Response Data Url field from the previous step to dynamically insert the upload URL returned by the "Create Document URL for Upload" API request.
- Data Pass-Through: ❌ Leave this blank, or select False.
-
Data: Enter the raw file data in this field. For this example, I will use some simple text for uploading a text file:
TXT test file content
💡 Note:
To handle and send different types of files, please see the built-in Files by Zapier app. Here's a Zapier help center article that explains how to send files in a Zap: https://help.zapier.com/hc/en-us/articles/8496288813453-Send-files-in-ZapsIf you run into further issues with uploading documents to Filevine, eg. uploading PDF files from a preceding Google Drive step, please see the following section on: Troubleshooting and Advanced Approaches to Document Uploading in Filevine.
- Unflatten: This option has no affect in this example, and so it has been left as the default: "Yes".
- Basic Auth: ❌ Leave this blank.
-
Additional Headers: (Your
Content-Typevalue should specify the MIME type for the file you are uploading. In this example we are sending a plain text file).- Content-Type: text/plain
- Return Raw Response: No (recommended)
Here's a screenshot of the Webhooks step to upload a text file to the URL returned by the last step (2. Response Data Url):
⬆️ Step 4: Create and Setup a Custom API Request to "Add Document To Project" in Filevine
The final step for uploading a document to Filevine via the API is to assign the uploaded file to a project using the Add Document to Project endpoint so that it is visible from within Filevine.
- Stop on Error: Yes (recommended)
- HTTP Method: POST
-
Endpoint URL:
https://api.filevineapp.com/fv-app/v2/Projects/<Project ID>/Documents/<Document ID>
(Be sure to replace<Project ID>and<Document ID>in the URL path with dynamic values from earlier steps in your Zap for the Project ID and Document ID respectively -- to insert<Document ID>returned by the second step where you created a document URL for upload: click the + icon on the top right of the Body data, type "DocumentId" in the search box, and choose the:Response Data Document Id Nativefrom Step 2. -
Query String Parameters:
Key Value folderId <Folder ID>(Be sure to replace
<Folder ID>with the ID of the folder within the project's root folder where you want to add the document. If you are adding the document to the root folder of the project, then leave the Query String Parameters blank and do not specify afolderIdor any other parameters). - Additional Headers: ❌ Leave this blank.
- Body: ❌ Leave this blank.
Here's a screenshot of the "Add Document To Project" custom API Request:
🧪 Step 5: Testing the Automation
Each action in your Zap should be tested to ensure that you configured each step correctly and that all of your dynamic variables are correct. After testing your Zap, you will see a new file uploaded to the "Docs" area within your Filevine project. Here is a screenshot showing the document uploaded by the "Zapier Service Account" user:
💡 Note:
The file size is 0 bytes in this example because we did not pass the "Size" field in Step 2 when creating a document URL for upload. In your use case, it may be possible to obtain the file size (in bytes) from a cloud platform where it is being uploaded from, or you can also hardcode the size of the file if it is known in advance.
For more information on how to test "API Request (Beta)" steps, please see: 🧪 Step 3: Test the API Request in the article for Creating Custom API Requests in Filevine-Zapier.
📋 How to List Documents in a Filevine Project
In order to list all of the documents attached to a project in Filevine, you can use a custom API Request action with the Get Document List endpoint. You will need the <Project ID> to list project documents. Create a new Filevine "API Request (Beta)" action with the following settings:
- Stop on Error: Yes (recommended)
- HTTP Method: GET
-
Endpoint URL:
https://api.filevineapp.com/fv-app/v2/Documents -
Query String Parameters:
Key Value projectId <Project ID> 💡 Note:
Please see the Filevine "Get Document List" API documentation for a full list of query parameters.
⚠️ Dynamic variables:
Be sure to replace<Project ID>in the query parameter value with dynamic "Project ID" from an earlier step in your Zap. - Additional Headers: ❌ Leave this blank.
- Body: ❌ Leave this blank.
Here's a screenshot of the "Get Document List" custom API Request:
If you test this step and review the results in the “Data out” tab — you will see a list of all documents attached to the project. The Response Body field will contain the raw JSON response, and the data field will hold the deserialized/unflattened response as an object so that you can access each of the fields in the response data.
You can find the number of documents returned by looking at the data > Response Data Count field, and each of the documents will be detailed in the data > items array. You may also want to add a Filter step to take action when only one or more documents are found (eg. by checking the data > Response Data Count field). Note that Zapier automatically turns arrays into a single line of text separated by commas. For example, the data > items > document ID > Native field will actually be a single value with each Document ID separated by a commas, eg: "127, 128, 129, 130".
If you need to search the list by iterating over the documents using a "Looping by Zapier" step, a "Code by Zapier" step, and/or can further refine your search instead to limit the search results by providing additional query parameters to the Get Document List endpoint, such the searchTerm parameter. You can also use a "Formatter by Zapier" action to work with the comma separated list by using either the "Pick from list", or "Text to Line-item" transforms.
Please see the References section at the bottom of this article for links to the Zapier documentation with more information about working with arrays/lists.
⬇️ How to Fetch a Document from a Filevine Project
In order to fetch all of the metadata for a specific document in Filevine, you can use the "Get Document" endpoint. You will need the Document ID and a Filevine "API Request (Beta)" step with the following settings:
- Stop on Error: Yes (recommended)
- HTTP Method: GET
-
Endpoint URL:
https://api.filevineapp.com/fv-app/v2/Documents/<Document ID>
(Be sure to replace <Document ID> in the URL path with the "Document ID" from an earlier step in your Zap). - Query String Parameters: ❌ Leave this blank.
- Additional Headers: ❌ Leave this blank.
- Body: ❌ Leave this blank.
Here's a screenshot of the "Get Document" custom API Request:
This endpoint will return all of the information about a document. If you want to actually download the document, try using the Batch Document Download endpoint by providing either a single document ID or multiple document IDs via the documentIds field in the body.
⚠️ Warning: As of 1/30/2026, the Filevine API team has lowered the rate of the "Batch Document Download" endpoint (and other similar endpoints) to zero. If you use this endpoint now, the API will return a 429 "Rate Limit Exceeded" error. As we understand it, this was done for security reasons.
If this change adversely impacts your business' operations, you can to reach out to Filevine via: api-help@filevine.com to let them know. If you do, please cc: support@vineskills.com so that we can support on our end as well.
📤 Troubleshooting and Advanced Approaches to Document Uploading in Filevine
When uploading documents to Filevine from Zapier as covered in the previous section: ⬆️ Step 3: Upload the Document to Filevine Using a "Webhooks by Zapier" Step, you may run into issues with uploading binary data documents, such as PDF files. For example, when trying to upload a document to Filevine from Google Drive, you may run into issues after performing the upload step where you are unable to open or view the uploaded File in Filevine. This is typically due to the fact that Zapier File Objects actually contain URLs with links to the file's content and not the actual raw file data itself.
If you have already tried the built-in "Files by Zapier" step (see: https://help.zapier.com/hc/en-us/articles/8496288813453-Send-files-in-Zaps), and you are still running into issues, we recommend troubleshooting the upload process by first sending the data to a webhook/HTTP request debugging platform such as: https://webhook.site by changing the URL of the PUT request for the "Webhook By Zapier" step so that the exact request data can be carefully examined. If you are able to download and view/open the file sent to the https://webhook.site endpoint during debugging, than you can be sure that the binary file data is being sent correctly.
In order to manually send the Zapier File Object data to Filevine, you can use a "Code by Zapier" step to validate/process/encode/transform the file data (if needed) and upload it to the document URL created in: ⚙️ Step 2: Setup the Custom API Request to "Create Document URL for Upload" in Filevine. Here is an example of a Javascript Code step that allows for uploading PDF files from an existing URL to Filevine:
// Input: file object from Google Drive and your target URL
const fileUrl = inputData.fileUrl; // The hydrated file URL from Google Drive
const uploadUrl = inputData.uploadUrl; // Your destination URL
// Fetch the file content from Google Drive
const fileResponse = await fetch(fileUrl);
const fileBuffer = await fileResponse.buffer();
// Upload the file using PUT with Content-Length header
const uploadResponse = await fetch(uploadUrl, {
method: 'PUT',
headers: {
'Content-Type': 'application/pdf', // Adjust based on your file type
'Content-Length': fileBuffer.length.toString(),
},
body: fileBuffer
});
// Return the response
return {
status: uploadResponse.status,
statusText: uploadResponse.statusText,
success: uploadResponse.ok
};Once you've uploaded the document to Filevine with the code step and received a 200 response, you can proceed to attaching the document to your project in Filevine before verifying the upload works by opening/viewing the file.
🔮 Future Work: Adding Support for Document Endpoints
Currently, uploading, fetching, and downloading documents in Filevine requires a series of custom API Request steps, as demonstrated in this article. However, full support for documents will be added to the Filevine-Zapier connector in a future release.
Once this functionality is available, you will be able to upload, download, and manage documents in Filevine directly through built-in Zapier actions, without needing to rely on custom API requests or Webhooks workarounds.
This help center article will be updated when native document support becomes available in the connector.
References:
-
Filevine API v2 Documents Endpoint Documentation
- Create Document URL for Upload: https://developer.filevine.io/docs/v2-us/c5009ec0c1d04-create-document-url-for-upload
- Add Document to Project: https://developer.filevine.io/docs/v2-us/32989758d1eb7-add-document-to-project
- Get Document List: https://developer.filevine.io/docs/v2-us/2976c3ae4c264-get-document-list
- Get Document: https://developer.filevine.io/docs/v2-us/5bb2fe0d47fbe-get-document
- Batch Document Download: https://developer.filevine.io/docs/v2-us/22efb603766f6-batch-document-download
-
Zapier Documentation:
- Send files in Zaps: https://help.zapier.com/hc/en-us/articles/8496288813453-Send-files-in-Zaps#h_01JK6E26DBXXGQSGTDEEY938XR
- Webhooks by Zapier integration: https://help.zapier.com/hc/en-us/articles/8496083355661-How-to-get-started-with-Webhooks-by-Zapier
- Files by Zapier integration: https://zapier.com/apps/files-by-zapier/integrations
- Use Formatter to split text in Zaps: https://help.zapier.com/hc/en-us/articles/25380258676109-Use-Formatter-to-split-text-in-Zaps
Comments
0 comments
Please sign in to leave a comment.