0 of 0 complete

Live session

Label Ready Systems Training

How our sites, forms and automations fit together, and how to build your own.

Lovable

Sites and forms

Webhook

Sends the data

n8n

Automation

Sheets

Logs

Supabase

Database

Discord

Alerts

Gmail

Emails

Common gotchas

• Using the Test URL on a live site, so nothing happens once you close the editor.

• Forgetting to switch the workflow to Active.

• Data is under body on a webhook, not at the top level.

• One node outputs many items, so the next node runs once per item.

• Expired Google credentials. Reconnect them in Credentials.

When someone submits a form on a Lovable site, the site sends a POST request with the form data as JSON to a URL. In n8n, a Webhook node gives you that URL and catches the data.

Demo form prompt
Make me a basic landing page with a form to collect Artist Name, Email, Phone Number and Goals (as a multi line field for goals) and send that to the webhook "MyWebhookHere.Example" as a POST request in JSON. Make it desktop and mobile optimized

CORS and Allowed Origins

Browsers block requests to other domains unless the server allows it. On the Webhook node, open Options and set Allowed Origins to your site's domain (or * while testing).

Show a success message

Set the Webhook to respond "Using Respond to Webhook node", then end with a Respond to Webhook node returning { "ok": true }. The form waits for it and shows success.

Webhooks Basic Lesson

A form sends data to a Webhook, n8n cleans it up, logs it, and replies to the form.

What this teaches

No workflow added yet. Saved on this device only (online storage not connected).

AI Workflow Basic Lesson

Takes form submissions or sheet rows and has the AI node summarize them, score lead quality, or pull out key themes, then sends the result to Discord.

What this teaches

No workflow added yet. Saved on this device only (online storage not connected).

Google Sheets Trigger Lesson

Runs whenever a new row is added to a Google Sheet, then acts on that row.

What this teaches

No workflow added yet. Saved on this device only (online storage not connected).

Work backwards. Start at the end and walk back to the trigger.

Worked example: "I want a Discord alert when a new artist signs up"

1. End result: a Discord message in #new-artists.

2. Data needed: artist name, email, genre, link.

3. Where it lives: the signup form on our Lovable site.

4. Trigger: a Webhook node that catches the form submission.

Build order: Webhook → Set (clean fields) → Discord.

How node referencing works

Expressions pull data from earlier nodes by name. If you rename a node, or reorder nodes so "the previous node" changes, expressions can break and return empty values.

n8n expression example
// Reference data from a node by its NAME
{{ $('Webhook').item.json.body.email }}

// Reference the node right before this one
{{ $json.email }}

// If you rename "Webhook" to "New Artist Form",
// the first expression breaks until you update it:
{{ $('New Artist Form').item.json.body.email }}

Workflow names

Node names

Sticky notes

Bad

My workflow 3

Webhook → HTTP Request1 → Google Sheets2 → Discord

No notes. Nobody knows what it does.

Good

LR | Form | New Artist Signup | Prod

Catch Signup Form → Clean Fields → Add Row to Artists Sheet → Alert #new-artists

Sticky: Purpose, Owner: Scott, Edited Nov 2026, Issues: none.

Google Sheets: use when

• Non-technical people need to see or edit data

• Low volume (hundreds or a few thousand rows)

• Quick logs, reports, and lists

Supabase: use when

• Data powers an app or site

• High volume or many writes at once

• You need logins, relations, or security rules

Rate limits

Facebook Ads lead forms to n8n

Build the popup in Lovable. It sends the lead to n8n. n8n emails the lead and alerts the team at the same time.

Lovable popup prompt
Add a popup form to my site that opens 5 seconds after the page loads (only once per visitor, remember it in localStorage).
Fields: Name, Email, and "What are you working on?" (optional).
On submit, send a POST request with JSON { name, email, message, source: "popup", submittedAt } to this URL: https://YOUR-N8N-DOMAIN/webhook/popup-lead
Show a loading state on the button. If the response is OK, show "Thanks! Check your inbox." and close after 3 seconds. If it fails, show a friendly error and let them try again.
Match the site's existing colors and fonts. Make it work on mobile.

Set up ads

Record and review sales calls

Hiring plan and process docs