Home Recipes

Recipes

Follow practical patterns for common file-collection workflows.
Stuart
By Stuart •
6 articles

Create CRM records from file uploads

Create or update a CRM record from submission answers and file links. Use Zapier, Make, or your own webhook receiver to look up the record and perform the CRM action. PigeonFiles automation options for connecting submission data to a CRM workflow. Decide what record should be created or updated Before building the automation, decide what should happen in the CRM when a submission arrives: - Create a new contact or company from the uploader's name and email. - Create an activity or note on an existing contact record, "Uploaded W-9 on June 21." - Update a field on an existing record, mark "Documents received" as true, or log the file link. - Create a deal or opportunity if the upload represents a new engagement. The right choice depends on your CRM structure and when in your process uploads happen. Add fields that map cleanly to the CRM Design your upload page fields so they translate directly to CRM fields. Ambiguous text fields create messy CRM data. PigeonFiles field CRM field Notes Email Contact email Use this as the lookup key for duplicates Client / Company Company name Use a select field for consistency Contact name Contact name Document type Activity or note type Submission timestamp Activity date Included automatically File link Attachment or link field If your CRM has a record ID field, add an optional CRM ID question if uploaders know their reference. Validate that reference in your automation before updating a record; a supplied ID does not prove permission to change it. Connect the automation Zapier 1. In Zapier, create the PigeonFiles connection and select the upload page. See Connect Zapier. 2. Create a Zap with a PigeonFiles submission trigger. 3. Add a search step to look up the contact by email (avoids duplicates). 4. Add a create-or-update step for the CRM record. 5. Map the PigeonFiles fields to the CRM fields. Make 1. In Make, create the PigeonFiles connection and select the upload page. See Connect Make. 2. Create a scenario with a PigeonFiles submission trigger. 3. Add a search module to find existing CRM records by email. 4. Add a create-or-update module for the CRM record. 5. Map the fields. Webhook or API 1. Create a webhook endpoint or use an API token. 2. For a webhook, receive and verify the submission event, look up the CRM record, and call the CRM’s API. For an API-only workflow, poll the records your token can read and track processed submission IDs. An API token does not send push events. Map submission data into the CRM record A typical mapping for creating a CRM activity from a file upload: Activity title: "Uploaded [Document type] via PigeonFiles" Contact: [Email] (looked up in the search step) Company: [Client / Company] Date: [Submission timestamp] Note: "File: [File name] | Storage: [Destination path]" Link: [File link] Adjust the mapping to match your CRM's field names and data types. Test with a real submission Submit a test upload through the page and verify: 1. The CRM record was created or updated correctly. 2. The field values match what was submitted. 3. The file link points to the right file in storage. 4. No duplicate record was created. Handle duplicates Duplicates are the most common issue with CRM automations. Use a stable identifier to prevent them: - Email can be a contact lookup key if your CRM treats it as unique. Account for shared or changed addresses. - Client ID or CRM record ID works when the uploader knows their internal reference. - Vendor ID or account number works for vendor-focused pages. Configure your Zapier Zap or Make scenario to search for an existing record before creating a new one. If a match exists, update it instead. Related pages - Connect Zapier for Zapier setup. - Connect Make for Make setup. - Create a webhook endpoint for webhook setup. - Create API token for API access. - Automations and integrations. Frequently asked questions Does PigeonFiles integrate natively with any CRM? No. PigeonFiles sends submission data through Zapier, Make, webhooks, or the API. You configure the CRM connection in the automation tool. Can the CRM receive the uploaded files? PigeonFiles passes file links and metadata. If your CRM supports attachments via link, you can include the file URL. Uploading file binaries into the CRM requires additional automation steps in your workflow. How do I avoid duplicate CRM records? Use a stable identifier field, email, client ID, or CRM record ID, to look up existing records before creating new ones. Zapier and Make both support search-before-create steps.

Last updated on Nov 06, 2026

Create tasks from submissions

Create a follow-up task from a submission through Zapier, Make, or a webhook receiver. Configure the task action in your project tool and map the submission details you need. PigeonFiles automation options for a downstream task workflow. Decide when a task should be created Not every upload needs a task. Decide what triggers one: - Every submission creates a review task. Good for document processing workflows where someone needs to check every upload. - Specific document types create tasks. Use a filter in Zapier/Make so only certain document types trigger tasks, for example, contracts that need review but not receipts. - Specific upload pages create tasks. If you have multiple upload pages, you might only want tasks for pages tied to client onboarding, not for general file collection. Add fields that tell the team what to do next The upload page fields become the task details. Make sure your page collects enough context for the reviewer: - Client / Company, who sent the file - Document type, what needs to be reviewed - Email, contact for follow-up - Notes, any context the uploader provided These field values map into the task title, description, or custom fields. Choose the automation path Path Best for Zapier Quick setup, no code, pre-built connectors for most task tools Make More flexible field mapping and conditional logic Webhook Custom integrations where you control the task creation logic API Programmatic access for technical teams Map submission data into a task A typical task mapping: Task field PigeonFiles source Title Review [Document type] from [Client / Company] Description Uploader: [Contact name] ([Email])\nFiles: [File count] file(s)\nStorage: [Destination path]\nNotes: [Notes] Assignee Fixed team member or conditional by document type Due date Submission date + your review SLA (e.g., +2 business days) Link/attachment File link from submission Example task title Review Insurance Certificate from Pacific Electric The title should tell the assignee what to do and who it is about at a glance. Include file links and storage path Include the storage destination path or file link in the task description so the reviewer can go directly to the file without searching. PigeonFiles submission data includes the storage path and file names, map these into the task body. If your task tool supports link or attachment fields, use the file link directly. Test with a sample upload 1. Submit a test file through the upload page. 2. Check that a task appeared in your task tool. 3. Verify the title, description, assignee, and file link are correct. 4. Upload a second test to make sure each submission creates a separate task. Troubleshoot missing fields or duplicate tasks Missing fields in the task: Check that the upload page fields are mapped correctly in your Zapier Zap or Make scenario. Optional fields may be blank in some submissions, use default values in your automation for these cases. Duplicate tasks: Check that you do not have multiple active Zaps, scenarios, or webhooks for the same upload page. Each active automation fires independently on every submission. Tasks not creating: Check the Zapier task history or Make scenario log for errors. Common causes include expired task-tool tokens, incorrect field mappings, or rate limits. Related pages - Connect Zapier for Zapier setup. - Connect Make for Make setup. - Create a webhook endpoint for webhook setup. - Create API token for API access. - Automations and integrations. Frequently asked questions Does PigeonFiles integrate natively with task management tools? No. PigeonFiles sends submission data through Zapier, Make, webhooks, or the API. You configure the task tool connection in your automation platform. Can I assign tasks to specific team members? Yes, through your automation. Map a fixed assignee or use conditional logic in Zapier/Make to route tasks based on document type, client, or upload page. Does PigeonFiles track task status? No. PigeonFiles creates the submission record and triggers the automation. Task status is managed in your task tool.

Last updated on Nov 06, 2026

Extract fields from uploaded documents with AI

Extract invoice numbers, dates, amounts, or other values from uploaded documents. Define the columns on the file field, then check the results in the submission and configured automation outputs. AI processing setup for an Invoice number extraction column. Choose the document type and extraction goal AI extraction works best when you know what kind of document uploaders will send and what values you need from it. Common examples: - Invoices, extract invoice number, date, total amount, vendor name. - Receipts, extract vendor, date, total amount, payment method. - Vendor forms, extract company name, contact email, tax year, or certificate date. - Contracts, extract party names, effective date, expiration date, signed status. - Applications, extract applicant name, role, submitted date, or reference number. Start with a specific document type and a short list of extraction fields. You can expand later. Set up the file upload field Open your upload page in the builder. You need at least one file upload field where uploaders will attach the documents you want to process. If your page collects multiple file categories, for example, invoices and receipts, consider using separate file upload fields so you can configure different extraction columns for each category. Enable AI processing In the editor, open Automation > AI processing, then choose the file upload field to configure AI processing. This tells PigeonFiles to analyze uploaded files and extract the values you define. Define extraction columns Add the specific fields you want extracted from the document. Each extraction column has: - Name, a label for the extracted value (e.g., "Invoice number") - Type, the data type: Text, Number, Date, Yes / no, Currency, Email, or URL - Extraction hint, instructions for ambiguous fields (e.g., "The invoice identifier shown at the top of the document, not the PO number") Example: Invoice extraction columns Column Type Description Invoice number Text The invoice identifier shown on the document Invoice date Date Date the invoice was issued Total amount Number Final total amount due Vendor name Text Company or person issuing the invoice Signed Yes/no Whether the document appears to include a signature Tips for better extraction - Use clear, specific column names. "Total amount" works better than "Amount." - Add descriptions when a field could be ambiguous. An invoice has multiple dates, "Date the invoice was issued" is clearer than "Date." - Use the right type. Number fields for amounts, Date fields for dates, Yes/no for presence checks. - Keep the list focused. Extract the fields you will actually use. More columns does not mean better results. Submit a test document Click Done, click Save changes, and enable the page if needed. Upload a representative sample and check the results. Confirm that the workspace has AI credits. Review extracted values in the submission record Open the submission record in PigeonFiles. The extracted values appear alongside the standard submission fields, uploader answers, file details, and delivery status. Check each extracted value against the original document. AI extraction can misread unclear text, unusual layouts, or handwritten entries. Clear, structured documents are easier to review, but the workflow should still include a human check before anyone relies on the values. Send extracted values to downstream tools If you have Google Sheets, Zapier, Make, or webhook automations connected to the upload page, extracted values are included in those outputs automatically. For example, a Google Sheets row for an invoice submission would include the uploader's answers, file links, and the extracted invoice number, date, total amount, and vendor name, all in the same row. This lets you build workflows like: - A Sheets-based invoice register that fills itself as vendors upload invoices. - A Zapier workflow that creates an accounting task with the invoice amount and vendor name already populated. - A webhook handler that files extracted data into your internal system. Review expectations AI extraction is a time-saver, not a replacement for human review. Use it to pre-populate fields and speed up processing, but review extracted values before relying on them for: - Financial decisions or accounting entries - Legal or compliance records - Tax preparation or filing - Any context where an incorrect value has real consequences The original uploaded file stays unchanged in your connected storage. AI processing reads the document and writes the extracted values to the submission record, it does not modify, annotate, or overwrite the uploaded file. Related pages - Configure AI processing. - Configure AI processing for setup steps. - Send submissions to Google Sheets for Sheets connection. - Connect Zapier for Zapier workflow setup. - Connect Make for Make scenario setup. - Create a webhook endpoint for custom integrations. Frequently asked questions Does AI processing change the original uploaded file? No. The original file stays unchanged in your connected storage. AI processing reads the document and extracts the configured values into the submission record. How accurate is the extraction? Accuracy depends on the document quality, layout, and field definitions. Clear field names and review steps matter. Always review extracted values before using them for financial, legal, or compliance decisions. Can I extract from any file type? AI processing is designed for uploaded documents where the needed values can be read from the file. Check the AI processing documentation for current supported file types before building a workflow around a specific format. Where do extracted values appear? Extracted values appear in the submission record. If you have Google Sheets, Zapier, Make, or webhook automations connected, the extracted values are included in those outputs too.

Last updated on Nov 06, 2026

Log client uploads in Google Sheets

Keep a Google Sheets intake log with client details, received time, and file links. Your team can filter and review the log without opening each submission in PigeonFiles. Google Sheets automation setup on an upload page. What the log includes Each row captures the data from one submission (or one file, depending on the mode you choose): - Client name and email - Field answers (document type, project, notes, etc.) - Submission timestamp - File names and file links - Delivery status Your team can use the spreadsheet as an intake tracker, a document checklist, or a reporting sheet. Sheets logs submission data and file links. The actual files stay in your connected storage, Google Drive, Dropbox, or OneDrive. Steps 1. Create or open your upload page You need an upload page with at least one field that identifies the client, a name, email, or company field. If you do not have one yet, create a page and add the fields your team needs. 2. Check your fields Make sure the page collects the information you want to see in each row. Common fields for a client intake log: - Client / Company name - Email - Document type (select field keeps values consistent) - Notes The more structured the fields, the easier the spreadsheet is to filter and report on. 3. Open Settings > Automation In the upload page settings, go to the Automation section. 4. Choose Google Sheets Select Google Sheets as the automation type. 5. Connect Google if needed If your Google account is not connected yet, authorize PigeonFiles to create and write to spreadsheets in your Google Drive. 6. Name the spreadsheet Give the spreadsheet a descriptive name, something like "Client Uploads - [Upload Page Name]" so your team can find it later. 7. Choose the row mode - One row per submission works well when you want to track intake events. Each row represents one upload, and file details are summarized in the row. - One row per file works well when you need a file-level checklist. Each uploaded file gets its own row, with the submission answers repeated. Pick the mode that matches how your team will use the spreadsheet. 8. Choose the spreadsheet folder Select where in your Google Drive the spreadsheet should live. 9. Backfill existing submissions If the upload page already has submissions, the backfill option adds them to the spreadsheet. This is useful when you are setting up Sheets on a page that has been collecting files for a while. 10. Submit a test upload and check the row Upload a test file through the page and verify that a row appears in the spreadsheet with the expected data. Check that field values, timestamps, file links, and delivery status are all present. Tips - Use a select field for document type instead of a text field. This keeps values consistent across rows and makes filtering reliable. - Freeze the header row and add filters so your team can sort by client, date, or document type. - Share the spreadsheet with team members who need visibility into the intake log. Related pages - Send submissions to Google Sheets for the full setup guide. - Automations and integrations. - Review and export submissions. - Start from a template. Frequently asked questions Does Google Sheets store the uploaded files? No. Sheets logs submission data, field answers, timestamps, file links, and delivery status. The actual files go to your connected storage (Google Drive, Dropbox, or OneDrive). What is the difference between submission mode and file mode? Submission mode creates one row per submission with file details summarized. File mode creates one row per uploaded file with the submission answers repeated on each row. Can I add existing submissions to a new Sheet? Yes. The backfill option adds existing submissions to the spreadsheet when you first connect it.

Last updated on Nov 06, 2026

Send upload notifications to a team channel

Post a message in your team’s channel after a submission through a Zapier, Make, or webhook workflow. Configure the channel action in that service; PigeonFiles supplies the submission event. Upload page automation options for connecting a submission event to team notifications. Choose the automation path Pick the path that fits your team: Path Best for Setup effort Zapier Teams already using Zapier, minimal code Low Make Teams already using Make, more flexible mapping Low Webhook Teams with a developer who can receive, verify, and transform a webhook Medium All three paths start with a PigeonFiles submission event and end with a message in your channel. Decide what the message should include A useful notification typically includes: - Who uploaded, uploader name and email - What they sent, document type and file count - Which upload page, helpful if you have multiple pages - Where files landed, storage destination path or file links - When, submission timestamp Keep the message concise. The goal is to tell your team "something arrived" so they can act on it, not to reproduce the entire submission record. Example message format New upload on [Upload Page Name] From: [Uploader Name] ([Email]) Document type: [Document Type] Files: [File Count] file(s) Storage: [Destination Path] Configure the submission trigger Zapier 1. Create a Zap in Zapier. 2. Connect PigeonFiles in Zapier and choose the intended workspace. 3. Select the upload page for the submission trigger. Manage the Zap in Zapier; PigeonFiles lists its subscription under Automation. Make 1. Create a scenario in Make. 2. Connect PigeonFiles in Make and choose the intended workspace. 3. Select the upload page for the submission trigger. Manage the scenario in Make; PigeonFiles lists its subscription under Automation. Webhook 1. Build an HTTPS handler that verifies PigeonFiles signatures and converts the submission data into the message format your channel tool requires. 2. Create a webhook endpoint pointing to your handler. 3. Attach the endpoint under Automation > Webhooks on the upload page and save it. Enable the page if needed. 4. Have the handler call your channel tool’s incoming webhook or API. PigeonFiles sends its submission payload; it does not transform it into a Slack or Teams message format. Configure the destination in the channel tool In your Zapier Zap or Make scenario, add an action step that posts a message to your channel. Map the PigeonFiles submission fields into the message template. If you use a custom webhook handler, format the outgoing message in that handler to match what the channel tool expects. Submit a test upload Upload a test file through the page and verify that: 1. A message appears in the channel. 2. The message includes the expected fields. 3. The message format is readable. Troubleshooting Duplicate messages: Check that you do not have multiple active Zaps, scenarios, or webhooks pointed at the same upload page. Each active automation fires independently. Missing fields: If a field value is blank in the notification, check that the upload page has that field and that it was filled in during the test submission. Optional fields may not appear in every submission. Failed deliveries: Check the Zapier task history, Make scenario log, or webhook delivery log for error details. Common causes include expired channel tool tokens, incorrect webhook URLs, and rate limits on the channel tool side. Related pages - Connect Zapier for Zapier setup. - Connect Make for Make setup. - Create a webhook endpoint for webhook setup. - Automations and integrations. Frequently asked questions Does PigeonFiles have native Slack or Teams integration? No. PigeonFiles sends submission data through Zapier, Make, or webhooks. You configure the channel destination in the automation tool, not in PigeonFiles. Can I choose which uploads trigger a notification? Yes. Use filter steps in Zapier or Make to send notifications only for specific upload pages, document types, or clients. What information can the notification include? Uploader name and email, document type, upload page name, file count, file names, storage destination path, and submission timestamp.

Last updated on Nov 06, 2026

Track missing client documents in Google Sheets

Compare received submissions against a checklist of documents you expect from each client. PigeonFiles supplies the intake log; your spreadsheet and team manage the expected list and follow-up. Google Sheets settings used to set up the submission log before creating a checklist. What this recipe can and cannot do It can give your team a spreadsheet view of received vs. expected documents per client. PigeonFiles logs every submission with the client name, document type, timestamp, and file links. A checklist tab in the same spreadsheet lets you compare what you expected against what actually arrived. It cannot send automated missing-document reminders. PigeonFiles logs what arrived. The comparison and follow-up happen in the spreadsheet and through your team's process, or through a separate Zapier/Make automation if you build one. 1. Create required fields for client and document type Your upload page needs at minimum: - Client name, text or select field (select is better if you have a fixed client list) - Email, for follow-up - Document type, select field with consistent options Using a select field for document type is important. Free-text entries like "w2", "W-2", and "w 2" will not match against your expected-document list reliably. 2. Connect Google Sheets in file-level row mode Open the upload page settings, go to Automation, and connect Google Sheets. Choose one row per file mode. This gives each uploaded document its own row, which makes it easier to compare against an expected-document checklist where each expected item is also one row. 3. Create an expected-document checklist tab In the same spreadsheet, create a second tab called something like "Expected Documents." Add columns for: Client name Document type Expected by Anastasia Joseph W-2 2026-03-01 Anastasia Joseph 1099 2026-03-01 Anastasia Joseph Bank statement 2026-03-01 Riverside Cafe Profit & Loss 2026-03-01 Riverside Cafe Balance Sheet 2026-03-01 Riverside Cafe Bank statement 2026-03-01 This is your source of truth for what each client should send. 4. Compare received rows against expected rows Add a "Received" column to your expected-document tab. Use a COUNTIFS formula to check whether a matching row exists in the submissions tab: =COUNTIFS(Submissions!B:B, A2, Submissions!D:D, B2) (Adjust column references to match your actual spreadsheet layout.) A value of 0 means no matching logged row exists. A value above 0 means a row matches the answers; your team still needs to check that the file is the expected document. Keep each submission to one document category if you use a single Document type answer. In file mode, that same answer repeats on every file row. A mixed batch does not classify each file by its contents. Add the year or period to your checklist and formula if the same document category repeats over time. 5. Use filters and conditional formatting - Apply conditional formatting to highlight rows where the received count is 0; these are your missing documents. - Filter by client to see one client's checklist at a time. - Sort by "Expected by" date to prioritize follow-up. - Use a pivot table if you want a summary view of completion rates across clients. 6. Optional: Zapier/Make task creation for follow-up If you want a follow-up task created when a document is still missing after a deadline, you can build a separate Zapier or Make workflow that reads the spreadsheet on a schedule and creates tasks for overdue items. This is a spreadsheet-driven workflow, not a PigeonFiles feature. PigeonFiles handles the intake and logging. The follow-up logic lives in your spreadsheet and automation tools. Related pages - Send submissions to Google Sheets for the full Sheets setup guide. - Automations and integrations. - Start from a template. - Create a document request. Frequently asked questions Does PigeonFiles automatically remind clients about missing documents? No. PigeonFiles logs what has arrived. The missing-document comparison happens in your spreadsheet, and follow-up is handled by your team or through a separate automation. Can I use this for tax document tracking? Yes. Use a tax document type select field and a tax year field, then build an expected-document checklist per client and year in your spreadsheet. What row mode should I use? File mode (one row per file) is usually better for missing-document tracking because each document type gets its own row, making comparisons easier.

Last updated on Nov 06, 2026