Automatically extract structured data from documents uploaded to Google Drive using Make.com and the ParserData API, then save clean JSON results back to Drive.
This automation creates a fully hands-off document processing pipeline:
- Watches a Google Drive folder
- Detects newly uploaded files
- Downloads the document
- Sends it to the ParserData extraction API
- Cleans the API response
- Saves the extracted data as a JSON file back to Google Drive
Once activated, everything runs automatically.
- Official workflow page: https://parserdata.com/integrations/make/google-drive-extraction
- Make.com integration hub: https://parserdata.com/integrations/make
- API reference: https://parserdata.com/parserdata-api
- Pricing: https://parserdata.com/pricing
You will need:
- A Make.com account
- A Google Drive account with access to folders you want to monitor
- A ParserData API key (sign up at parserdata.com)
- Download the scenario blueprint: scenarios/google-drive-parserdata.json
- In Make.com, click "Create a new scenario"
- Click the "Import" button (top-right corner)
- Select the downloaded JSON file
- The scenario will be imported with all modules pre-configured
The scenario uses two Google Drive connections:
- Google Drive (Trigger): Watches for new files
- Google Drive (Action): Uploads extracted JSON back
For each Google Drive module:
- Click on the module
- Click "Add" next to the connection
- Authenticate with your Google account
- Grant necessary permissions (read/write access to Google Drive)
- Click on the "HTTP" module (the one making the API call)
- In the "Headers" section, add:
X-API-Key: Your ParserData API key
- The URL is pre-configured to:
https://api.parserdata.com/v1/extract
Store your API key in Make.com environment variables:
- Go to your Make.com account settings > Environment variables
- Create a variable named
PARSERDATA_API_KEY - In the HTTP module, use
{{vars.PARSERDATA_API_KEY}}instead of hardcoding the key
See .env.example for a template of required environment variables.
Replace the placeholder folder IDs in the scenario:
-
Input Folder: Where new documents will be uploaded
- Find the Google Drive module labeled "Watch files"
- Update the folder ID to your target folder
-
Output Folder: Where extracted JSON will be saved
- Find the Google Drive module labeled "Upload file"
- Update the folder ID to your destination folder
- Click "Run once" to test the scenario
- Upload a test document (PDF, JPG, PNG) to your input folder
- Check that the scenario executes successfully
- Verify that a JSON file appears in your output folder
Once testing is successful:
- Click "Schedule" on the scenario page
- Set polling frequency (recommended: every 15 minutes)
- Click "Save"
The scenario consists of 5 main modules:
- Google Drive (Trigger) - Watches for new files in a specific folder
- Google Drive (Download) - Downloads the file content as binary data
- HTTP Request - Sends file to ParserData API with extraction prompt
- Data Transformation - Cleans and formats the API response
- Google Drive (Upload) - Saves extracted JSON back to Drive
- Method: POST
- URL:
https://api.parserdata.com/v1/extract - Headers:
X-API-Key: Your API key (use environment variable)Content-Type:multipart/form-data
- Body (form-data):
prompt: "Extract invoice number, invoice date, supplier name, total amount, and line items (description, quantity, unit price, net amount)."options:{"return_schema":false,"return_selected_fields":false}file: Binary file from Google Drive module
The scenario includes:
- HTTP status code checking - Retries on 429 (rate limit) and 5xx errors
- Exponential backoff - Wait times increase with each retry
- Maximum 3 retries - After which the scenario logs an error
- Error notifications - Can be extended to send email/Slack alerts
To extract different fields:
- Edit the HTTP module's
promptparameter - Adjust the data transformation module to handle different response structures
- Update the output JSON filename pattern if needed
Example prompts:
- Receipts: "Extract merchant name, transaction date, total amount, tax amount, payment method, and items purchased."
- Bank statements: "Extract account number, statement period, opening balance, closing balance, transactions (date, description, amount, type)."
- Purchase orders: "Extract PO number, supplier, order date, delivery address, line items (product code, description, quantity, unit price, total)."
- Authentication Errors: Re-authenticate Google Drive connections
- API Key Issues: Verify API key is active and has sufficient credits
- Folder Permissions: Ensure Google Drive folders are accessible
- File Size Limits: ParserData API has file size limits (check documentation)
- Timeout Errors: Increase timeout in HTTP module (default: 300 seconds)
- Use "Run once" mode to test step-by-step
- Check each module's output by clicking the "i" icon
- Review Make.com execution logs
- Test API directly with cURL:
curl -X POST -H "X-API-Key: YOUR_KEY" -F "file=@document.pdf" -F "prompt=Extract fields" https://api.parserdata.com/v1/extract
- Use Environment Variables: Never hardcode API keys
- Least Privilege: Google Drive connections should have minimal necessary permissions
- Audit Logs: Regularly review Make.com execution logs
- Rotate API Keys: Periodically rotate your ParserData API keys
- Data Retention: Configure Google Drive to automatically clean up old files if needed
- Polling Frequency: Balance between real-time processing and API usage costs
- Batch Processing: For high volumes, consider batching files
- Concurrency: Make.com allows multiple concurrent executions (check your plan limits)
- API Rate Limits: ParserData API has rate limits (check documentation)
This scenario is designed for real-world automation and data extraction:
- Invoice Processing: Automatically extract invoice numbers, due dates, line items, prices, and totals
- Accounting Automation: Reduce manual data entry by converting financial documents into structured JSON
- ERP Ingestion Pipelines: Feed clean, structured data directly into ERP systems
- CRM Data Enrichment: Extract customer, order, or transaction data from documents
- Back-Office Operations: Streamline repetitive document handling tasks
- Financial Reporting: Prepare structured data for dashboards and analytics
- Startups and Small Teams: Replace manual workflows with AI-driven automation
For production environments, consider these additional best practices:
- API Monitoring: Set up monitoring for the scenario execution frequency and error rates
- Alerting: Configure Make.com error notifications or integrate with monitoring services
- Logging: Enable detailed logging to track document processing volume and success rates
- Rate Limiting: Be aware of ParserData API rate limits and adjust polling frequency accordingly
- Backup: Regularly backup your scenario configuration and environment variables
- Testing: Create a testing environment with separate Google Drive folders and API keys
- Documentation: Maintain internal documentation for your team on workflow changes
This example uses the latest ParserData API version. Always check the official API documentation for updates:
Note: API endpoints and response formats may change in future versions. Subscribe to ParserData announcements to stay informed.
- API Key Rotation: Rotate your ParserData API keys periodically (every 90-180 days)
- Access Auditing: Review who has access to your Make.com scenarios and Google Drive folders
- Network Security: Ensure your network allows outbound HTTPS connections to
api.parserdata.com - Data Classification: Classify the sensitivity of documents being processed and apply appropriate controls
- Compliance: Ensure the workflow complies with relevant regulations (GDPR, HIPAA, etc.) based on your use case
For high-volume document processing:
- Batch Processing: Modify the scenario to process files in batches to reduce API calls
- Concurrent Executions: Adjust Make.com plan limits for concurrent scenario executions
- File Size Limits: Be aware of ParserData API file size limits for different document types
- Queue Management: Implement a queuing mechanism if processing many files simultaneously
- Performance Monitoring: Track processing time per document to identify bottlenecks
MIT
This repository is a reference example. If you need help tailoring it to your workflow, or want advice on more advanced ParserData API integration (custom schemas, scale, or production use), reach out to: support@parserdata.com
Found a bug or have an improvement? Submit a pull request or open an issue.