Skip to main content

Track Jura coffee machine data with webhook API and Google Sheets

Workflow preview

Workflow preview
100%
Track Jura coffee machine data with webhook API and Google Sheets preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Jura Coffee Counter: Webhook API & Google Sheets Logger ️ Track how many coffees your Jura E8 espresso machine makes β€” fully automated via webhook and Google Sheets. This workflow exposes a custom...

Best for

  • Engineering automation workflows
  • intermediate n8n builders looking for reusable templates

Tools used

n8n-nodes-base.webhook, n8n-nodes-base.datetime, n8n-nodes-base.set, n8n-nodes-base.googlesheets, n8n-nodes-base.respondtowebhook, n8n-nodes-base.limit, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Halfbit πŸš€.

Original n8n.io source

1.1 Workflow description

Title
Track Jura coffee machine data with webhook API and Google Sheets
Workflow name
Track Jura coffee machine data with webhook API and Google Sheets

Jura Coffee Counter: Webhook API & Google Sheets Logger β˜•οΈ

Track how many coffees your Jura E8 espresso machine makes β€” fully automated via webhook and Google Sheets.

This workflow exposes a custom API endpoint that can be called by smart devices, such as an ESP8266 or ESP32 reading data from a Jura E8 coffee machine via Bluetooth Low Energy (BLE). The incoming data (including total coffee count) is timestamped and appended to a Google Sheet, making it easy to visualize or analyze your machine usage.

β˜• Originally built for a Jura E8, based on AlexxIT/Jura reverse-engineering project.

> πŸ“ This workflow uses Google Sheets as a logging backend. You can easily switch it to Airtable, Notion, or a database of your choice.

Live example available at: https://halfbitstudio.com/o-nas/

> πŸ–₯️ In our setup, this workflow is used to provide real-time coffee consumption stats displayed directly on our website.

> πŸ”Œ Some Jura machines require an accessory Bluetooth transmitter to enable connectivity. Communication is based on the Bluetooth Low Energy (BLE) protocol.


Use Case

  • Tracking usage of a Jura coffee machine
  • Logging IoT sensor data into Google Sheets
  • Creating dashboards for daily consumption
  • Smart office setups with coffee stats!

Features

  • ☁️ Two Webhook endpoints:

    • POST /{{WEBHOOK_POST_PATH}} β€” receives JSON from ESP (coffee machine reader)
    • GET /{{WEBHOOK_GET_PATH}} β€” returns latest records as JSON
  • πŸ“… Timestamping via Date & Time node

  • πŸ”Ή Coffee counter extraction from incoming JSON

  • 🧾 Appends structured rows to Google Sheets

  • πŸ“€ Webhook response for external status or dashboards


Setup Instructions

Jura Coffee Machine Integration (Hardware)

  1. Use an ESP device (e.g. ESP8266 or ESP32) to connect to the Jura E8 via Bluetooth Low Energy (BLE).

  2. Send POST requests with JSON payload:

    {
      "total_coffees": 123
    }
    
  3. Reverse-engineered protocol reference: AlexxIT/Jura

Google Sheets Configuration

  1. Create a new Google Sheet with column headers like:

    date | time | coffee counter
    
  2. Connect your Google account in n8n and authorize access to this sheet.

  3. Replace the documentId and sheetName fields in the Google Sheets nodes:

    • Use full URL to your spreadsheet
    • Use the actual sheet name (e.g. Sheet1)

Environment Variables & Placeholders

Placeholder Description
{{WEBHOOK_POST_PATH}} Endpoint to receive coffee counter data
{{WEBHOOK_GET_PATH}} Endpoint to return latest data (for dashboards)
{{SHEET_ID}} Google Spreadsheet ID
{{GOOGLE_CREDENTIALS}} OAuth2 credentials for Google Sheets
{{DATA_COLUMNS}} Column names in the target sheet

Testing the Workflow

  1. Send test request:

    • Use Postman or ESP to send a POST request to /{{WEBHOOK_POST_PATH}}
    • Body should include total_coffees value
  2. Check Google Sheet:

    • Open your sheet and verify that a new row was appended
  3. Test GET endpoint:

    • Access the second webhook URL (e.g. /{{WEBHOOK_GET_PATH}}) in browser or fetch via API
  4. Optional:

    • Use Respond to Webhook output in a dashboard or frontend

Customization Tips

  • Sheet format: Add more columns if you want to track additional data (e.g. machine temperature, errors)
  • Output format: Replace Google Sheets with any other storage (e.g. MySQL, Notion)
  • Auth layer: Add basic auth or token verification if needed for public exposure
  • Notifications: Send alerts to Discord/Slack when reaching thresholds (e.g. 200 coffees brewed)

Tags:

google-sheets, iot, webhook, jura, coffee, api, automation

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Receive Coffee Count (POST)

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2

Block 2 - Generate Timestamp

Type / Role
n8n-nodes-base.dateTime - dateTime
Config choices
Version 2

Block 3 - Prepare Row Data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 4 - Fetch Sheet Rows

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 5 - Respond with Sheet Data

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.4

Block 6 - Append to Google Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 7 - Limit to Last Row

Type / Role
n8n-nodes-base.limit - limit
Config choices
Version 1

Block 8 - Sticky Note - Setup

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 9 - Sticky Note - Webhooks

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 10 - Sticky Note - Input Setup

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Sticky Note - Output Setup

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Webhook2

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2

3. Summary Table

Workflow Track Jura coffee machine data with webhook API and Google Sheets
Complexity intermediate
Nodes 12
Categories Engineering
Author Halfbit πŸš€
Published 08 Jul 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/5771/5771.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Track Jura coffee machine data with webhook API and Google Sheets do?

Jura Coffee Counter: Webhook API & Google Sheets Logger ️ Track how many coffees your Jura E8 espresso machine makes β€” fully automated via webhook and Google Sheets. This workflow exposes a custom...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Engineering use case.