Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

The practical way to send sensor readings to Notion is sensor → secure HTTPS relay or automation webhook → Notion API → database row. The relay keeps your Notion secret off the device, validates readings, retries temporary failures and can remove duplicates. Notion webhooks generally send events out of Notion; they are not a generic inbound endpoint for sensors.

Choose an architecture first

Architecture Best for Trade-off
Sensor → custom relay → Notion API Control, authentication, retries, buffering and multiple device types Requires a small service or serverless function
Sensor → Make, Zapier or Pipedream webhook → Notion Low-volume projects and minimal infrastructure Per-run costs, platform limits and less control
Sensor → IoT/time-series database → Notion summaries Frequent telemetry, many devices and long-term analysis Requires a separate data platform

A direct HTTPS call from an ESP32 or Raspberry Pi to Notion is technically possible, but embedding the integration token in firmware makes it recoverable, hard to rotate and difficult to protect. Notion recommends keeping secrets in environment variables or a secret manager, not source code or version control (official quick start).

Create the Notion database

Make a database with separate, typed properties rather than one formatted sentence. A useful schema is:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Property Type Example
Reading Title Temperature reading
Value Number 23.7
Unit Select or rich text °C
Sensor type Select temperature
Device ID Rich text esp32-greenhouse-01
Recorded at Date 2026-08-18T14:30:00Z
Battery Number 87
Status Select ok
Raw payload Rich text (optional) Diagnostic JSON

Notion requires a title property when creating a row. Property names, capitalization and types in the API request must exactly match the target data source. For several sensor types, one universal readings database (device_id, sensor_type, value, unit, recorded_at) is easy to extend. Separate databases for temperature, humidity or CO₂ provide clearer schemas and views but require more automation logic.

#1 Best Overall
ELEGOO 37-in-1 Sensor Modules Kit with Tutorial Compatible with Arduino
  • Build a 37-Module Sensor Lab: Add motion, distance, light, sound, temperature, touch, display and control functions to compatible UNO, MEGA, Nano, ESP-32 or STM32 projects for prototyping, classroom experiments and maker builds
  • Explore Input Sensors and Motion: Experiment with GY-521 motion sensing, PIR detection, ultrasonic ranging, temperature and humidity, DS18B20, flame, Hall, touch, light, sound, tilt, tracking and obstacle-avoidance modules
  • Add Displays, Timing and Control: Use the LCD1602, DS1307 real-time clock, joystick, rotary encoder, relay, buzzers, RGB LEDs and infrared modules to build clocks, alarms, counters, status displays and automated projects
  • Follow Guided Projects Materials: Use digital tutorial materials, datasheets, wiring diagrams and example code for compatible UNO R3, MEGA 2560 and Nano boards, then adjust thresholds, timing and logic to create custom experiments
  • Module-Only Expansion Kit: Controller board, USB cable, breadboard and jumper wires are not included; use 6.5–9 V DC only with the included power module, verify pin requirements before wiring and keep the laser emitter away from eyes

Create and authorize a Notion connection

  1. Open Notion’s developer or connection settings and create an internal connection for a single-workspace project.
  2. Copy its installation access token and enable only the capabilities it needs.
  3. Share the page containing the database with that connection. Creating a token does not grant workspace-wide access.
  4. Store the token as a relay environment variable such as NOTION_TOKEN; never put it in firmware, browser code or a public repository.

Labels in Notion’s settings can change. Follow the current connection guide if your interface differs. Public connections and OAuth are for applications that must work across multiple workspaces.

Find the correct data-source ID

Current Notion API documentation distinguishes a database from the data source inside it. Retrieve the database and inspect its data_sources array, or use Notion’s data-source management interface to copy the ID. Do not assume an ID copied from a page URL is always the identifier required by the create-page endpoint. See Working with databases for the current procedure.

Test one row with cURL

Test the API before involving hardware. The documentation examples reviewed for this article use API version 2026-03-11; verify the current version before deploying.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -X POST "https://api.notion.com/v1/pages" 
  -H "Authorization: Bearer $NOTION_TOKEN" 
  -H "Content-Type: application/json" 
  -H "Notion-Version: 2026-03-11" 
  --data '{
    "parent": {"type": "data_source_id", "data_source_id": "'"$NOTION_DATA_SOURCE_ID"'"},
    "properties": {
      "Reading": {"title": [{"type": "text", "text": {"content": "Temperature reading"}}]},
      "Value": {"number": 23.7},
      "Unit": {"select": {"name": "C"}},
      "Sensor type": {"select": {"name": "temperature"}},
      "Device ID": {"rich_text": [{"type": "text", "text": {"content": "esp32-greenhouse-01"}}]},
      "Recorded at": {"date": {"start": "2026-08-18T14:30:00Z"}},
      "Battery": {"number": 87}
    }
  }'

A successful request creates one page, which appears as one database row. If your title property is called Name rather than Reading, change the JSON accordingly.

Rank #2
HiLetgo 37 Sensor Assortment Kit for Arduino & Raspberry Pi - 37 in 1 Robot Project Starter Kit
  • 37 Sensors kit
  • 37 Sensors Assortment Kit for Arduino MCU Education
  • Touch sensor moduleHeartbeat detection module
  • Infrared sensor receiver module

Send a reading to your relay

Have the device post a small, predictable payload to your own endpoint:

{
  "device_id": "esp32-greenhouse-01",
  "sensor_type": "temperature",
  "value": 23.7,
  "unit": "C",
  "recorded_at": "2026-08-18T14:30:00Z",
  "battery": 87,
  "reading_id": "esp32-greenhouse-01-2026-08-18T143000Z-001"
}

Use UTC ISO 8601 timestamps. If a device has no real-time clock, let the relay add received_at and preserve the device timestamp separately. Validate the device allow-list, sensor type, numeric range, unit, timestamp, payload size and unique reading_id. Normalize units (for example, Celsius, pascals or watt-hours) before writing the row.

A relay’s core flow looks like this:

  1. Authenticate the device with a per-device key, signed request or network control.
  2. Parse and validate JSON; reject impossible values.
  3. Check a durable store for an already-processed reading_id.
  4. Map fields to the exact Notion property schema.
  5. POST to https://api.notion.com/v1/pages with the token and Notion-Version header.
  6. Mark the ID processed only after a successful response.
  7. Return a clear status to the device and log errors without logging the Notion token.
# Conceptual pseudocode
receive(payload):
  authenticate_device()
  validate(payload)
  if processed(payload.reading_id): return 200, {"status":"duplicate"}
  response = create_notion_page(payload)
  if response.status == 200:
      mark_processed(payload.reading_id)
      return 200, {"status":"stored"}
  if response.status in [429, 500, 502, 503, 504]:
      queue(payload)
      return 202, {"status":"queued"}
  return 400, {"status":"rejected"}

Device and platform notes

  • ESP32: read the sensor, connect over Wi-Fi and POST to the relay using an HTTPS client. Keep only the relay credential on the device.
  • Raspberry Pi: Python requests or Node.js can send the JSON and run a local queue when the network is down.
  • Arduino without networking: use a Wi-Fi/Ethernet gateway, Raspberry Pi or home-automation hub.
  • Home Assistant: trigger an automation or REST/webhook action that calls your relay; avoid putting the Notion token in exposed configuration.

No-code and low-code alternatives

Tool Best fit Important limitation
Make Visual webhook workflows and SaaS mapping Credit-based usage and scenario intervals; its displayed Free plan had 1,000 credits/month and a 15-minute minimum interval when checked, so confirm current limits at pricing.
Zapier Occasional events and business-app integrations Task-based pricing can become costly for frequent readings; Webhooks and API features vary by plan (API request options).
Pipedream Webhook workflows with JavaScript or Python More technical, but compute-time billing can suit custom transformations; documentation describes one credit per 30 seconds at 256 MB (pricing docs).
n8n Self-hosting and control over data location You operate upgrades, security, monitoring and backups; check current plans at n8n pricing.

Notion’s own webhook feature is the opposite direction: it POSTs Notion changes to another endpoint and signs deliveries with X-Notion-Signature. It is not the normal sensor-ingestion path (webhook documentation).

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Retries, duplicates and offline sensors

Notion documents an average API limit of about three requests per second. On HTTP 429, honor Retry-After, use exponential backoff with jitter and queue instead of retrying forever (API guidance). A timeout can occur after Notion has accepted a page, so retransmission must be idempotent: derive a stable ID from device, timestamp and sequence number and store processed IDs outside Notion.

Rank #3
SunFounder Ultimate Sensor Kit with Original Arduino Uno R4 Minima, RoHS Compliant, Durable Sensors IoT ESP8266 IIC LCD1602 OLED, Online Tutorials & Video Courses for Beginners & Engineers
  • Ultimate Sensor Kit for Arduino Beginners: The kit features the original Arduino Uno R4 Minima board, 30+ high-quality sensors and modules, and free video lessons co-created with educator Professor Joselito. With over 50 engaging projects (30 basic, 17 IoT, and 10 advanced fun projects), beginners aged 8+ can dive into the world of electronics and programming with ease. Certified RoHS compliant, it guarantees safety and quality for all learners, making it the perfect choice for both education and innovation
  • Powered by the Arduino Uno R4 Minima: R4 Minima is a major upgrade from the Uno R3. With a 32-bit ARM Cortex-M4 processor, 256 KB Flash memory, and 48 MHz clock speed, it offers faster performance and greater memory. It also features higher-precision ADC (14-bit), a built-in DAC, CAN bus support, and a wider power input range (6-24V), making it more powerful and versatile for all users
  • 30+ Sensors for Infinite Creativity: With 30+ high-quality sensors and modules, plus a battery for portable applications, this kit is ideal for IoT, environmental monitoring, and smart automation projects. It includes step-by-step tutorials, sample codes, and progressive online lessons, making learning seamless for beginners and advanced users alike. Fully compatible with other Arduino boards like Uno R3 and Nano, it offers endless customization and innovation opportunities
  • Engaging Projects for Every Skill Level: Featuring 50+ projects (30 basic, 17 IoT, 10 advanced fun), this kit supports IoT platforms like Blynk and IFTTT, enabling smart automation and real-world applications. With Arduino C++ programming, step-by-step guidance, and hands-on coding exercises, it’s perfect for students, teachers, and engineers to learn, build, and innovate at any level
  • Dedicated Support for Beginners: Alongside online resources and video tutorials, SunFounder provides technical support and troubleshooting forums to help beginners solve programming challenges with ease

Buffer a bounded number of readings on the device or relay, retry progressively and upload old readings gradually. Include sequence numbers to identify gaps. For clock drift, synchronize with NTP, store both measured_at and received_at, and mark estimated times.

When Notion is the wrong destination

Notion works well for occasional readings, human-readable logs, annotations, maintenance records and summaries. It is not a high-throughput time-series store: per-second telemetry, large histories, strict ordering and fleet-scale ingestion belong in an IoT or time-series database. A practical high-volume design is:

Sensor → MQTT/HTTPS ingestion → time-series database
       → daily summaries, alerts and incidents → Notion

Estimate volume before choosing a platform:

monthly readings ≈ devices × readings per hour × 24 × 30

Ten devices reporting once per minute produce about 432,000 readings per month—far beyond a sensible one-page-per-reading consumer automation workflow.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshooting

  • 400: compare exact property names and types; check the title, select options, date format and parent data-source ID. Add fields one at a time and inspect Notion’s structured error message.
  • 401/403: token may be invalid, revoked or missing capabilities, or the connection was not granted access to the parent page/database. Share it explicitly; never make the token public.
  • 404: verify workspace, parent ID and whether the endpoint expects a data-source ID rather than an older database identifier.
  • 429: honor Retry-After, back off and reduce frequency or aggregate readings.
  • Duplicate rows: implement stable reading_id deduplication in a durable store.
  • Missing or wrong times: synchronize the device clock or let the relay assign receipt time.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Frequently Asked Questions

Can an ESP32 send data directly to Notion?

Yes, but it exposes a recoverable Notion token and complicates retries and schema changes. Use an HTTPS relay for production; direct calls are best limited to private prototypes.

Rank #4
KEYESTUDIO IOT ESP32 Smart Home Starter Kit for Arduino and Python,Electronics Home Automation Coding Kit, Wooden House DIY Sensor Kit,STEM Educational Set for Adults Teens 15+
  • Complete Project-Based Learning Path – Build 13 progressive projects (LED blink → button control → PIR motion sensor → music playback → motorized doors/windows → SK6812 RGB lighting → fan control → LCD display → gas alarm → temperature/humidity monitor → RFID door unlock → Morse code access → WiFi control → mobile APP remote control). Each project builds on the previous one, ensuring you understand both the electronics and the programming logic behind every smart home feature.
  • Master Two Industry-Standard Languages – Learn to code in both Arduino C++ and MicroPython with 13 detailed tutorials for each language. Compare how the same hardware behaves under different programming approaches – a valuable skill for any aspiring engineer. Perfect for classrooms teaching multiple coding languages or self-learners who want flexibility.
  • Build a Real WiFi-Controlled Smart Home – Assemble the wooden house structure and integrate sensors to create a functioning smart home system. Control lights, fans, door servos, and RGB lighting directly from your mobile APP (iOS/Android) . Experience how IoT works in real life – from manual control to automated responses based on temperature, humidity, motion, and gas detection.
  • Comprehensive Online Wiki with No Guesswork – Our detailed online tutorials (also accessible via the packaging) include wiring diagrams, full code explanations, and step-by-step assembly guides for every project. Whether you're a complete beginner or a teacher preparing lessons, the structured content eliminates confusion and helps you succeed from project 1.
  • Everything You Need to Get Started – (TIPS: Batteries are NOT Included)This kit includes the ESP32 development board, expansion board, wooden house parts, all sensors and modules (DHT11, PIR motion, gas sensor, RFID, SK6812 RGB, servo motors, fan, LCD1602, etc.), and connection cables. NOTE: 6x AA batteries are required (NOT Included). The kit is unassembled – you'll build it yourself following our online tutorials, making the learning experience truly hands-on.

Do I need Zapier or Make?

No. A small relay calling the Notion API is usually cheaper and more controllable. Automation platforms are convenient for low-volume, no-code workflows.

Can a Notion webhook receive sensor readings?

Notion webhooks primarily notify your service about changes in Notion. Send sensor data through a relay or automation webhook that calls the Notion API.

How often can I send readings?

Notion documents an average limit of roughly three API requests per second. Use queues, backoff and aggregation; do not treat that figure as a guarantee for sustained telemetry.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can I update one row instead of creating a row for every reading?

Yes. Store a page ID per device and update its properties when you need a current-status record. Keep historical readings elsewhere or in separate rows if you need a time series.

Best Value
LAFVIN AIoT Starter Kit, ESP32-S3 AI Voice Control Electronics Starter Kit, DHT11 Temperature Humidity Sensor, Servo, Relay for Smart Home & IoT DIY Projects
  • 【High-Performance ESP32-S3 Microcontroller】 Equipped with revolutionary MCP protocol technology, the kit delivers a native AI voice control experience, perfectly adapting to various AIoT application scenarios, suitable for beginners, educators and makers.
  • 【8 Versatile Hardware Modules Included】Comes with RGB LED module (full-color dimming, breathing light effect), WS2812 smart light strip (8 programmable LEDs), DHT11 sensor (real-time temperature and humidity monitoring), SG90 servo, DC fan, dual relay, raindrop and soil sensor, meeting diverse project needs.
  • 【Zero-Threshold AIoT Control】Adopts innovative MCP protocol, allowing AI models to directly recognize hardware functions without complex programming. Pre-compiled firmware supports plug-and-play after burning, with an extensible architecture for secondary development.
  • 【Multi-Scenario Application Coverage】Widely applicable to STEM education (learning IoT, AI interaction, embedded programming), smart home prototype verification, maker project development, and smart agriculture (soil monitoring, automatic irrigation systems).
  • 【Comprehensive Learning & Technical Support】Provides an online document center with detailed quick-start guides and free professional technical support to answer questions and assist in problem-solving, helping users get started quickly.

Is Notion suitable for a real-time sensor dashboard?

It is suitable for low-volume operational logs and summaries, not continuous, high-frequency telemetry or time-series analytics.

How do I protect the Notion API key?

Keep it only in the relay’s environment or secret manager, restrict connection access, rotate it if exposed and never ship it in firmware or browser code.

The Bottom Line

For dependable sensor logging, send validated JSON to a private relay, then create typed Notion database pages with the API. Add idempotency, backoff and buffering from the beginning; move raw high-frequency data to a proper IoT or time-series store and send Notion only the records people need to read.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.