Skip to main content

Create a CRUD REST API with Google Sheets database

Workflow preview

Workflow preview
100%
Create a CRUD REST API with Google Sheets database preview
Open on n8n.io

Important notice

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

1. Workflow Overview

Simple REST API with Google Sheets Introduction This workflow template demonstrates how to quickly and easily create a simple REST API using n8n and a Google Sheet as a no code database. It's a per...

Best for

  • Engineering automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

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

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Viktor Klepikovskyi.

Original n8n.io source

1.1 Workflow description

Title
Create a CRUD REST API with Google Sheets database
Workflow name
Create a CRUD REST API with Google Sheets database

Simple REST API with Google Sheets

Introduction

This workflow template demonstrates how to quickly and easily create a simple REST API using n8n and a Google Sheet as a no-code database. It's a perfect starting point for building a backend for small applications, prototypes, or internal tools without writing any code.

Purpose

The purpose of this template is to provide a complete, ready-to-use n8n workflow that handles all fundamental CRUD (Create, Read, Update, Delete) operations. The workflow uses a single Webhook trigger to handle POST, GET, PUT, and DELETE requests, allowing you to manage data in your Google Sheet through standard API calls.

Setup Instructions

To get started with this template, follow these steps:

  1. Prepare your Google Sheet: Create a new Google Sheet and add the following column headers in the first row: name, email, and status. You can use this example Google Sheet as a starting point. This sheet will serve as your database.
  2. Authenticate: In the n8n workflow, connect your Google Account credentials to the Google Sheets nodes.
  3. Select your data: Choose the Google Sheet and the corresponding sheet name from the drop-down lists in each of the Google Sheets nodes.
  4. Activate: Save and activate the workflow.
  5. Test the API: Use a tool like curl, Postman, or Insomnia to test your new API endpoints. The base URL will be your n8n webhook URL followed by /items.
Example curl Commands:
  • POST (Create): curl -X POST YOUR_N8N_WEBHOOK_URL/items -H "Content-Type: application/json" -d '{"name": "Alice", "email": "[email protected]", "status": "active"}'
  • GET (Read All): curl -X GET YOUR_N8N_WEBHOOK_URL/items/all
  • GET (Read Single): curl -X GET YOUR_N8N_WEBHOOK_URL/items?id=2
  • PUT (Update): curl -X PUT YOUR_N8N_WEBHOOK_URL/items?id=2 -H "Content-Type: application/json" -d '{"status": "inactive"}'
  • DELETE (Delete): curl -X DELETE YOUR_N8N_WEBHOOK_URL/items?id=2

For more detailed instructions, including building the workflow in n8n, check out the full blog post: Build a Simple REST API in 10 Minutes with n8n & Google Sheets

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 - Append row in sheet

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

Block 2 - Webhook: Create

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

Block 3 - Webhook: Read All

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

Block 4 - Respond to Webhook: Create

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

Block 5 - Respond to Webhook: Read All

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

Block 6 - Webhook: Read

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

Block 7 - Get rows in sheet

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

Block 8 - Get row in sheet

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

Block 9 - Respond to Webhook: Read

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

Block 10 - Webhook: Update

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

Block 11 - Update row in sheet

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

Block 12 - Respond to Webhook: Update

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

Block 13 - Webhook: Delete

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

Block 14 - Delete rows or columns from sheet

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

Block 15 - Respond to Webhook: Delete

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

Block 16 - Sticky Note

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

Block 17 - Prepare Fields for Update

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

3. Summary Table

Workflow Create a CRUD REST API with Google Sheets database
Complexity advanced
Nodes 17
Categories Engineering, Multimodal AI
Author Viktor Klepikovskyi
Published 31 Aug 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8085/8085.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 Create a CRUD REST API with Google Sheets database do?

Simple REST API with Google Sheets Introduction This workflow template demonstrates how to quickly and easily create a simple REST API using n8n and a Google Sheet as a no code database. It's a per...

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, Multimodal AI use case.