Published Date:
July 8, 2025

In 5 Steps: Automate tracking all your receipts (Zapier + Slack + Sheets)

This week, I tested a practical automation that lets you send a receipt image to a Slack channel and have it appear in a Google Sheet.
By
Evelyn Le
Strategic Product Lead, Stay Ahead, FlexOS

Tired of digging through receipts and typing them into spreadsheets manually? This week, I tested a practical automation that lets you send a receipt image to a Slack channel and have it magically appear in a Google Sheet, neatly structured with date, merchant, amount, tax, and category. Here’s how to do it:

Step 1: Create a dedicated Slack channel for receipts

  • Name it something like #receipts-tracking so you and your team can upload images in one place.
  • Post a sample receipt into the channel. This will serve as the trigger for our Zapier automation.

Step 2: Set up a Slack App to enable image download

Zapier can’t download private Slack image URLs without authentication. To make this work:

  • Go to Slack API → Your Apps and click Create an App.
  • Under OAuth & Permissions, add these Bot Token Scopes:
    • channels:history → to read message content
    • files:read → to access images
    • chat:write (optional) → to reply or post messages
  • Under Install App, generate a token and copy the Bot Token (xoxb…)
  • Keep this token ready — you’ll use it in the Webhook headers in Zapier.
  • Invite the app you just created into your channel

Step 3: Build your Zap in Zapier

Create a multi-step Zap with these steps:

Step 3.1: Trigger

  • App: Slack
  • Event: New Message Posted to Channel

Step 3.2: GET the Image with Authorization

  • App: Webhooks by Zapier
  • Event: GET
  • URL: All Files URL Private Download
  • Headers: Authorization: Bearer xoxb-your-token-here

This allows Zapier to download the image using the Slack App you created.

Step 3.3: Analyze the Image with ChatGPT

  • App: ChatGPT (Zapier’s OpenAI integration)
  • Event: Extract Structured Data
  • Model: gpt-4o
  • Input:
    • File: the response returned from Step 2
    • Description: 
Here's a receipt image. Please extract the following fields and return them as JSON:
- Date
- Merchant
- Amount
- Tax
- Category
  • Values to extract: Date, merchant, amount, tax, category

Step 4: Paste the data into Google Sheets

  • Create a Google Sheets named “Receipts tracking” with columns such as Date, Merchant, Amount, Tax, Category
  • App: Google Sheets
  • Event: Create Spreadsheet Row
  • Spreadsheet: Select the sheet “Receipts tracking”
  • Columns: Map each field (date, merchant, etc.) to the extracted values from ChatGPT.

Now, every image you post in Slack will be parsed and logged automatically.

Step 5: Optional Upgrades

Once the base workflow works, here are a few ways to go further:

  • Auto-reply in Slack with extracted fields for instant feedback.
  • Add a second GPT step to classify categories more intelligently (e.g., “Travel” vs “Work Meal”).
  • Forward to accounting tools like QuickBooks, Notion, or Airtable.
  • Batch uploads: let users paste multiple images and create multiple rows


With just a bit of upfront setup, you can turn the messy chore of receipt tracking into a seamless, AI-powered workflow. No more data entry, no more lost receipts, just drop an image into Slack and let automation handle the rest. Let me know if there’s any daily tasks you would like to automate!

Lead with AI - Icon
Lead with AI - Icon
Lead with AI - Icon
Lead with AI - Icon
Lead with AI - Icon

If you made it this far, reply and tell me what you'd love AI to take over in your daily workflow.

Also, please forward this newsletter to a colleague and ask them to subscribe.

If you have any other questions or feedback, just reply here or inbox me.

See you next week,

Daan van Rossum - Lead with AI

Daan van Rossum​

Host, Lead with AI

Evelyn Le

Strategic Product Lead, Stay Ahead, FlexOS

Tired of digging through receipts and typing them into spreadsheets manually? This week, I tested a practical automation that lets you send a receipt image to a Slack channel and have it magically appear in a Google Sheet, neatly structured with date, merchant, amount, tax, and category. Here’s how to do it:

Step 1: Create a dedicated Slack channel for receipts

  • Name it something like #receipts-tracking so you and your team can upload images in one place.
  • Post a sample receipt into the channel. This will serve as the trigger for our Zapier automation.

Step 2: Set up a Slack App to enable image download

Zapier can’t download private Slack image URLs without authentication. To make this work:

  • Go to Slack API → Your Apps and click Create an App.
  • Under OAuth & Permissions, add these Bot Token Scopes:
    • channels:history → to read message content
    • files:read → to access images
    • chat:write (optional) → to reply or post messages
  • Under Install App, generate a token and copy the Bot Token (xoxb…)
  • Keep this token ready — you’ll use it in the Webhook headers in Zapier.
  • Invite the app you just created into your channel

Step 3: Build your Zap in Zapier

Create a multi-step Zap with these steps:

Step 3.1: Trigger

  • App: Slack
  • Event: New Message Posted to Channel

Step 3.2: GET the Image with Authorization

  • App: Webhooks by Zapier
  • Event: GET
  • URL: All Files URL Private Download
  • Headers: Authorization: Bearer xoxb-your-token-here

This allows Zapier to download the image using the Slack App you created.

Step 3.3: Analyze the Image with ChatGPT

  • App: ChatGPT (Zapier’s OpenAI integration)
  • Event: Extract Structured Data
  • Model: gpt-4o
  • Input:
    • File: the response returned from Step 2
    • Description: 
Here's a receipt image. Please extract the following fields and return them as JSON:
- Date
- Merchant
- Amount
- Tax
- Category
  • Values to extract: Date, merchant, amount, tax, category

Step 4: Paste the data into Google Sheets

  • Create a Google Sheets named “Receipts tracking” with columns such as Date, Merchant, Amount, Tax, Category
  • App: Google Sheets
  • Event: Create Spreadsheet Row
  • Spreadsheet: Select the sheet “Receipts tracking”
  • Columns: Map each field (date, merchant, etc.) to the extracted values from ChatGPT.

Now, every image you post in Slack will be parsed and logged automatically.

Step 5: Optional Upgrades

Once the base workflow works, here are a few ways to go further:

  • Auto-reply in Slack with extracted fields for instant feedback.
  • Add a second GPT step to classify categories more intelligently (e.g., “Travel” vs “Work Meal”).
  • Forward to accounting tools like QuickBooks, Notion, or Airtable.
  • Batch uploads: let users paste multiple images and create multiple rows


With just a bit of upfront setup, you can turn the messy chore of receipt tracking into a seamless, AI-powered workflow. No more data entry, no more lost receipts, just drop an image into Slack and let automation handle the rest. Let me know if there’s any daily tasks you would like to automate!