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!