Loading video player...
Everybody's talking about N8N, a free
and almost open- source platform for
building AI workflows and AI automations
using a graphical user interface. This
video today will be a crash course and
introduction into N8N. We're going to
learn how to use it by building and
implementing multiple workflows. We're
going to integrate Google Sheets, Google
Calendar, Telegram. We're going to use
AI agents and even Python code. This is
an interesting platform for programmers
but also for non- tech people. If you
like this video, let me know by hitting
a like button and subscribing. But now
let us get right into it.
[Music]
>> All, right,, so, we're, going, to, learn, how
to use N8N in this video today. Let's
address the elephant in the room right
away. I claimed that it's almost open
source. What does that mean? It
basically means the source code is
available. It is source available.
That's the correct term. But the license
is quite restrictive. You're not allowed
to modify or host it for someone else.
You're not allowed to build a competing
product. However, you can take the
source code, you can deploy it on your
own server for your company. You can
modify it. You're just not allowed to do
it for someone else. So, you can do all
of this for your company's internal
needs, but you're not allowed to build a
competing product, which makes it not
open source, but source available. So
running N8N locally is extremely simple.
All you need is you have to have node
and npm installed. And then you can just
open up a terminal and say npxn.
This is going to run n on your own
system. It's going to install it. It's
going to download everything that's
needed and then it's going to run the
software on port 5 678. Now the first
time you run this you're going to see a
registration form there. You have to
create an account for N8N. However, all
of this is happening locally in a SQLite
database I think. So you're not really
signing up for an actual service. In my
case here I have to sign in because I
already have the account here and I'm
just going to provide my credentials. By
doing that I can log into N8N. In this
case here, I already have some workflows
because I prepared them for the video.
But in your case, you probably have
nothing here. And you can just start by
creating a workflow. Now, before we
start working on an actual example, let
me briefly show you where you can find
what. The most important thing here is
the right side, this plus symbol or you
can also trigger it here. You always
start with a trigger. So the idea of N8N
is you have workflows. These workflows
have to start in some way. You can start
them manually by just clicking. You can
start them by form submission, by
chatting or by events from uh different
apps. For example, here on app event, I
can say from all these services I want
to wait for certain events and once they
happen, I want to trigger the workflow.
For example, a certain row could be
inserted into Google Sheets. I have here
on row added, on row updated, trigger
this workflow. Or I can also say on
PayPal event. So when something happens
there, I want to react to it. For the
sake of simplicity, we can start with a
simple trigger manually. Now, this will
trigger the workflow. Clicking on this
executes the workflow. And as you can
see, there's a connection here. So, to
this trigger, I can add now certain
things. So, for example, I can add some
AI action. I can add an action in an
app. And here again, we have many many
many different integrations. For
example, I can say go to Google Sheets
when I click and append a new row in a
sheet. Now for each individual node you
have different things that you need to
set up. Maybe a credential to connect to
Google Sheets, maybe some other API key.
And then you also need to say okay what
exactly happens which document, which
sheet, which row, what do you want to
do? But basically every note is
structured in the way that you get some
input and produce some output. So you
get the trigger without any data. So you
don't really have an input here, then
you do something, then you return
something, then you do something else.
You also have stuff to control the flow.
So you have if else, you have filters
you have uh transforms. So you can say
if something is the case, go here. If
something is not the case, go here. And
then you can go into AI and you can say
I want to have OpenAI and I want to
message a model with the data that I got
from the previous note. Now output that
data in a summarized way. Take that
again and feed it into Python code for
example. So I can go to core, I can say
code, I can say Python. And now take the
input, access it by using underscore
input, do some stuff here, output
something else. So all of N8N is based
on this idea of starting somewhere with
a trigger. Maybe the trigger already
produces some data. If it's not a click
but a chat message, for example, we can
take this message as input already, and
then every node takes this input, does
something, outputs something else, and
at some point the workflow ends. But
before we create a fancy workflow with a
lot of different nodes, let's start with
a simple one. We're going to start with
a trigger which is a form submission. So
we're going to click here on form
submission and here now the idea is to
specify what our form is going to look
like. So I'm going to say here this is
going to be a registration form and
we're going to say register
for beta. Then what we can do is we can
add form elements. So these are the
input fields. I'm going to say here add
form element name. This is going to be
text. I'm going to say placeholder your
name and this is a required field. Then
I'm going to add another one which I'm
going to call email. The element type is
going to be email. It's going to be your
email as a placeholder and that's also
going to be a required field. Finally
I'm also going to ask for the reason why
do, you, join?, It's, going to, be, a, text.
It's going to be your reason for joining
and it's not going to be a required
field. So once we have all of this, I
can execute this step. What this is
going to do here is it's going to listen
for a form submission. I can close this
now. And you didn't see this because I
have a tiling window manager in full
screen. But here it opened up a form. So
now I can say something like my name is
Florian, my email is whatever atmail.com
and my reason is because I want to. And
now when I submit this, this is
triggering this note. So we can take a
look at this note and we can see that it
pulled in a test form submission. And
now we have this output this JSON output
that is passed to the next note in this
case name Florian email whatever
mail.com reason because I want to and
then some information here about the
time and the form. So the next step is
take this and do whatever you want. So I
can take this and do some Python code
for example. Just let me show you so you
can see what this would look like. We're
going to use this later on. In this case
now I have these fields here and I can
use them in my code. What I do here is I
say for item in input all JSON new field
is one. So this would take the data
return it as it is but add a new field.
But I can also do something else. For
example, I can say item.json.name
is equal to item.json.name
lower. So that would make my name into
lowercase as you can see. So we can use
Python code to take in the input and
produce some other output. But that's
not what we're going to do here in this
example. I'm going to delete this again.
What we're going to do now is we're
going to take this data and append it to
an existing Google sheet. So, as you can
see up here, I have this N8 end sheet
this Google sheet, and it contains two
sheets. It has sheet one and beta
signups, which is what we're going to
use now. We're going to use the first
one later. And what we have here is
username, email, reason, and we have
Mike mike atmike.mmike and test. Now
what I want to happen is when I submit
the form I want a new row to be appended
to this table so that the data of the
signup is now in my Google sheet. In
terms of N8N this process is quite
simple but we still need to go through
the Google process as well. So we need
to go to console.cloud.google.com.
You need to log into your Google account
and then you want to create a new
project. Now in this case I already have
here an N8N project but I'm going to go
through the process with you from
scratch., So, I'm, going to, create, here, new
project and I'm going to call this N8N
tutorial project. I'm going to connect
it to my billing account. I'm going to
create this. Now once the project is
created,, I'm, going to, select, it., And
then we're going to go to the Google
Sheets API. So I'm going to click here.
I'm going to enable it. And now what we
need to do in order to use the Sheets
API in N8N actually is we need to set up
credentials. So in N8, if I create a new
note and I look for sheets and I say I
want to have a note that appends a row
in a sheet, it's going to ask me for
credentials to connect with. Now in my
case, I already have some because I
played around with it, but we're going
to create new ones now. So I have the
choice between OOTH 2, which is
recommended, and service account. So
we're going to go with O2. And for this
N8N provides me with a redirect URL. So
I'm going to copy this one. And down
here, we need to enter the client ID and
a client secret from Google Sheets or
from the Google console. So, I'm going
to go back here. I'm going to go to APIs
and services. If you're not here
already, you can go to the navigation
menu, APIs and services, and then
credentials. The first time you do that
you have to set up an OOTH consent
screen. So, you want to go here, and you
want to create a new screen. So, you're
going to go get started. App name is
going to be N8N app tutorial. Whatever.
I'm going to provide my email here as
support. I'm going to say external. I'm
going to, provide, my, email, again., Next., I
agree. Continue. Create. That's that.
Now, let's go to data access. Here we
need to provide scope. So, I'm going to
say add or remove scopes. I'm going to
look for sheets. And I'm going to just
enable everything that has to do with
Google Sheets. I'm going to save. And
then I think I need to also add myself
as a test user to be able to use that.
So, add users and my email again. Save.
And now we can go and create a client.
So I'm going to go to clients here and
I'm going to say create client.
Application type is web application.
Let's call this N8N client tutorial. And
here now we need to provide the redirect
URL., So, I'm, going to, paste, what, we
copied from N8N. I'm going to create and
as a result I get the client ID and the
client secret. Of course keep these
secret. You don't want to show them to
people. I'm going to censor this out or
delete the account. One of the two. And
here now we paste the client ID and down
there we paste the client secret. That's
basically it. The final action is to go
down and click this sign in with Google
button. This is going to open up a
window. It's going to ask me to log in
with my account. I'm going to pick the
one that is added as a test user. So
neural 9. And then I can go here to
continue. I can select all of these. I
can say continue. And now the connection
is successful. And I authenticated
myself here with the Google Sheets node
in NAD. So now we can close that and we
have to decide okay what exactly do we
want to do? We want to use a resource
which is a sheet within a document. We
want to append a row to that sheet and
the document that we're interested in
here. We can click on choose. Okay.
Actually we can see that we need to use
the Google Drive API as well. So let's
go back here. Let's go to drive. Let's
enable this API as well. And I'm not
entirely sure if we also need to provide
the permissions here. No. Okay, that's
enough. So, you just enable the Google
Drive API and then you select the sheet
that you're interested in. In our case
here, the N8 end sheet, which is maybe
not the best name. Maybe I should have
called it uh NAND document or whatever.
But in this document, we have sheets.
So, I can click on this as well. And I
can choose the beta signups. Now, what
I'm going to do is I'm going to map each
column manually. So, I'm going to say
that the username will get the value of
name. Now I don't need to do anything
fancy here. I don't need to type
anything. I can just drag and drop this
into here. Name is going to be username.
As you can see, I can also do it here
with JSON.name. I can also use
JavaScript functions to modify this. So
if you want to provide some JavaScript
code, you can do that here. But we're
just going to drag them in here. So
name, email, and reason. And that's
basically it. If I execute this now
it's going to take the information. It's
going to do that. And if I look into the
sheet, there you go. We have Florian
whatever mail.com because I want to. So
this means in my N8N workflow when I
submit this form, it's going to add a
new entry to the Google sheet. So let us
exit full screen here. Let's put this
into a separate window. Let's zoom out a
little bit. Zoom out a little bit here
as well. Now execute workflow. This is
going to open up this form. And now
let's go with test user. Testmail.est
test whatever and ABC. When I submit
this now, this is going to trigger the
workflow and we're going to add the row
to the Google sheet. Awesome. So, what
we want to do next is another
integration. I would like to get a
message on Telegram from a bot that
tells me that a new user signed up to
the list. So, for this here, I'm going
to create a new note. I'm going to say
Telegram and it's going to be send a
message here. So, send a text message.
Now once again we need to provide
credentials so that we can connect with
telegram. I already have it but I'm
going to do it here from scratch again.
Create new credential. And here we just
need an access token. So how do we get
this access token? Now here again I'm
censoring out my chats but what you want
to do is you want to search for
something called botfather. So botfather
is a bot that you can use to create
other bots. Then you can click on it and
it's going to open up the chat with the
botfather. Now the first time you use
this you're only going to get the info
message. You need to start a
conversation with a bot by clicking or
by typing /st start. Then it's going to
tell you what you can do. In my case
I've already created some bots here. But
essentially what you do is you say slash
newbot and this is allowing you to
create a new bot. So I provide this
command now. And now it tells me choose
a name for this bot. So let's say nadn
tutorial testbot. I hope this name is
not taken. There you go. Good. Now let's
choose a username for your bot. It must
end in bot. Now I'm going to go with the
same one. N8N tutorial testbot. Okay
it's already taken. So let's go with
testbotbot.
Actually I cannot edit the message. I
have to type it again. Testbotbot.
There you go. And since the name is not
taken, I can now use this. And what
happens is I get a token to access the
HTTP API. So I can just copy this token
and paste it to N8N. Then I can save
that. And this is a successfully created
credential. But that is not enough
because what I need to do now is I need
to instruct the bot who to send this
message to. And we're going to do that
by adding the bot to a chat. So here, as
you can see, I have resource message
send message and I need to provide a
chat ID. So I need to have this bot in a
chat with me and it needs to know that
it has to send this to the chat ID. So
the first thing we do is we click on the
link that gets us to the bot t.nutorial
/N8N tutorial testbotbot and now I have
to start a conversation with this bot.
So I click on start here as well and now
I have my bot in a conversation. It
doesn't do anything but what I want to
do next is I want to create a group and
add the bot to the group. So I click on
this button down here and I say new
group and then I have to add the bot N
tutorial testbot or testbot bot and then
I select it and I go and create the
group., So, now, we, have a, group, with, this
bot. Now the interesting thing is I
cannot just retrieve the chat ID. So
what I have to do is I have to add
another bot to the group to get the ID.
This bot is called the get IDs bot. So
you need to start a conversation with it
to have it in your contacts. And then
you want to go to the group you just
created. You want to click on it and you
want to add a member. So, I think my
camera is hiding it, but there's a
button down here which allows you to add
a member and I'm going to add here the
get ID spot. We add it. And now it tells
me here this is the ID of the chat. So
I'm going to copy that and I'm going to
go back to N8N and provide this as a
chat ID. And the text is going to be new
user signed up name is
username. I can add it here as well. And
email is whatever. And I can again do
whatever I want with that. I can use
some code here. But that should be what
happens. So if I execute this and
everything worked correctly, this is
executed and in the group I get the
message new user signed up. Name is test
user and email is test atmail.t test.
Cool. So let's try all of this again.
I'm going to exit full screen. I'm going
to close this. I'm going to close this.
And now I'm going to start with a form
submission. Maybe let me also add this
here as a separate window. Going to put
it down here. I'm going to hide the
sidebar., And, now, what, we're, going to, do
is I'm going to click here and I'm going
to say this is going to be John John at
johnh.jo
ABCDE EF submit. So what happens now?
New row is created in sheets. New
messages sent to Telegram. This is what
N8N is all about. Integrating multiple
tools and building workflows. If I may
for a second, I would like to plug
myself in as the sponsor of my own
video. If you go to my website
neural9.com, you will find a tab
services and a tab tutoring. Here you
can hire me for all sorts of stuff like
data science, machine learning, web
development. If you need help with
something in a project, here you can
book me for one-on-one tutoring if you
want me to teach you personally
something that you don't understand. If
you like my teaching style, on both
pages at the bottom you can contact me
via mail and also via LinkedIn. Just
wanted to let you know about this. So
let us now take a look at a different
kind of workflow. We're going to create
a different trigger which is going to be
a chat message sent within N8N. So the
idea is I can do test chat here. I can
say hello world and this is going to
produce an output in this note which is
a JSON object with chat input being
hello world. Now we can take this
message and feed it into a large
language model to get a response. For
example, I can go here AI open AAI
message a model. Now I'm going to use my
existing OpenAI account. All you need to
do if you want to connect your account
is create a new credential and provide
the API key. For this, you would go to
platform.openai.com/api
keys, create new secret key, and then
you would copy it. But as I said, I
already have this. So, I'm going to
choose to message a model. I'm going to
choose the model GPT5. So, I'm going to
scroll down here, GPT5.
And the prompt to this model is going to
be the chat input from the previous
note. So, if I execute this step, it's
going to take hello world, feed it into
GPT5, and produce this output here.
Hello, how can I help you today? Now
we're going to do something more
interesting. What we're going to do is
we're going to take the message and
we're going to create a calendar entry
based on the message. So, the large
language model will have to create a
structured output, a JSON object that
represents starting time, end time
title, and description for an event and
then it's going to be added to Google
Calendar. However, the adding is not
going to happen via tool use. So, it's
not going to be the large language model
that creates our calendar event. We're
just going to create a structured JSON
object and then we're going to create
the event with N8N. So to be precise
the message is going to look like this.
Based on the user message, figure out
what the calendar entry should look like
and return a JSON object with start
end, title, and description. And then
we're just going to drag and drop the
chat input down here. That is going to
be our prompt. We're going to scroll
down as well and say output content as
JSON. And when I execute this now, I
mean, in terms of hello world, we're not
going to get a very good output, but we
can then formulate a message like I have
a barber appointment at 4 p.m. tomorrow.
So, as you can see, in this case, it's
just title, hello world. Description
hello world. Doesn't make a lot of
sense. So, let's go back and try to
provide a different message. Tomorrow at
400 p.m., I have an appointment at my
barber. So, this took a bit more time
already, but you can see it says 23rd of
October. Today is 22nd. That's correct.
And it provided also the time here and
barber appointment at my barber. Now, we
want to take this JSON object and create
a Google calendar entry. So, I'm going
to click on the plus here. I'm going to
go and look for calendar. We can see
Google calendar here. And I'm going to
choose create an event. Now, the
credentials here are different from the
sheets credentials. So, we need to
actually create new credentials for this
one with the same key and the same ID is
fine, but we do need to change some
things in the Google console. So, we're
going to, go, to, the, Google, console., We're
going to go to the Google calendar API.
You want to enable it. In my case, I
already did this here. You will find a
button here again, enable. And then we
need to go back to the OOTH consent
screen. So, APIs and services, OOTH
consent screen. And in here, we need to
add scopes for data access. So, we're
going to go to data access, add or
remove scopes. We're going to look for
calendar. We're going to select Google
calendar API. And even though it might
be overkill, I'm just going to give all
the access here. Update. Scroll down.
Save. And in case you already lost your
client ID and client secret, you can go
back to clients. You can go to N8 client
tutorial or whatever you called it. And
down here, you can add a new secret. So
in this case, I just have to copy here
using this button. I'm going to go and
create a new credential here. Client
secret. The ID stays the same. It's up
here.
And that's basically it. Sign in with
Google again. Select your account.
Continue. Continue. And there you go. In
your case, you probably have to select
the check boxes. I already went through
the process once. Cool. So once we have
this here we need to instruct it to
create a new event in a calendar. For
this first of all create or select a
calendar in my case social@ner
neurallonline.com and now we can provide
start and end date. So let's remove this
and let's also remove this because our
start is going to be the start provided
by GPT and our end is going to also be
the end provided by GPT. Then the title
and description are additional fields.
So I'm going to go down to summary. This
is the title. I'm going to drag and drop
the title here and then the description
is going to be the description. Cool.
So, I have my calendar opened up here. I
have nothing in here. And now, if I say
execute step, this should take an action
in my calendar. I actually don't see it.
So, let me refresh this. And there you
go. Barber appointment. Now, the time
you will notice is a bit off because of
time zones. We could also instruct GPT
to provide a different time zone. We
could also do it manually here with
JavaScript. I'm just going to leave it
like this for the sake of simplicity
but it added this with the proper title
and also with a proper description. Now
finally, we can also make N8 respond to
the chat. So, I can go to this chat note
here and go to add field response mode.
I can say using response notes. Then I
can close this. I can create here a
response note respond to chat and I can
say successfully created event 4 and
then whatever the summary was dot and
then I can save that and now we can go
through the whole workflow again today
at 5:00 p.m. I have wrestling class and
there you go successfully created event
for wrestling class and in between we
had our model output this we had our
calendar create the event there you go
wrestling class again with the problem
of the time zone but this is how it
basically works okay so now let us go
and build something a little bit more
comprehensive I have a Google sheet here
this was sheet one of my N8 end sheet
where I have some sales that are
documented so I have the date the sold
item the quantity and the unit price.
Now, I want to build a workflow that
takes this data, aggregates it, compares
my sales today to my sales yesterday
and if the sales today were lower or
less than yesterday, I want to get a
large language model to explain to me
why and send it via Telegram as a report
and alert. And if I earned more today
compared to yesterday, then I want to
get a Telegram message that
congratulates me on that. So this is not
necessarily the most complex task, but
it will require a lot of notes because
we're not just going to do all of this
in Python. So we're going to start with
a manual trigger. I want to do this on
demand. And the first thing we want to
do is we want to pull some data from the
Google sheet. So Google Sheets and then
we want to get rows in sheet. We're
going to use the credentials we already
created. I'm going to go with sheet
within document. Get rows. The document
is going to be again N8 sheet. The sheet
this time is going to be sheet one. And
for options, we're going to say output
formatting is going to be the values
unforatted. So execute step, this is
going to give me all of the data as JSON
object like this. Next step is I want to
filter. I'm only interested in today and
yesterday. So I'm going to say that the
date of the item has to be today or
yesterday. Now for this, we're actually
going to use a JavaScript expression. So
I'm going to say here new date date.now
now and then minus basically one day to
iso string slice 010. So it's just going
to take the date not the time stamp
which is basically yesterday and it has
to be greater than that. So it has to be
after or equal to. So now when I execute
this it's only going to give me the
sales of today and yesterday. Next up I
want all of these prices here to be
combined into total prices. So quantity
and price I want them to be multiplied
so we get a total price. I can do that
easily with Python. So we'll go here to
core run code Python. And now I'm going
to say for all items JSON.tal is going
to be equal to item.json
dot quantity with capital Q times item
JSON dot or actually not dot because we
have a space in there. So I'm going to
use this syntax unit price and this now
gives me a total for every single item.
Next step is to aggregate. Now the
aggregate node is actually not really an
aggregate node that is a bit confusing I
think and actually it's in data
transformation because in order to
aggregate in terms of how we aggregate
in pandas or something you actually use
the summarize note as you can see here
sum count max across items is the
summary note and here I basically just
say sum over total and we split by date
so then I get the total today and
yesterday with the date here let me
restructure this a bit to save some
space. The next thing we're going to do
is another Python node where we're going
to now take the JSON object and turn it
into today and yesterday instead of this
structure. So for this let's go again
core, code, Python., And, now, I'm, going to
copy paste this one to not waste your
time. But basically all we're doing here
is we're importing daytime sdt. We're
saying today is this date. Yesterday is
this date. Then we also have the strings
and basically we just say if the date is
today then return the object today with
the sum total of this day otherwise
return yesterday with a sum total of
that day. So execute this and we get
yesterday and today which now makes it
very simple to take this and perform an
if, statement, on, it., So, we're, going to, go
with flow if and we're going to say if
today is less than
yesterday and now we're going to have
two branches. One is going to fire. In
this case today is less than yesterday.
So we go to this true state here.
Otherwise we're going to go to the other
one. Now actually let us handle the
false one first because if we have a
success we just want to send a telegram
message. So, I'm going to say here, send
a text message to this account. The chat
ID is the same as before. So, in my
case, this here. And we're going to say
great, you sold more today. Or let's say
you earned more today compared to
yesterday. And this should send a
message in Telegram. Now, here things
get a little bit tricky because what we
want to do if we sold less today
compared to yesterday is we want to
analyze the situation. But if I go into
this note here, you can see I only get
yesterday and today. I don't get any
context information. I don't get any
transactions. I don't get any sales. I
just get the sum. So what we need to do
if I want to analyze all of this is I
also need to somehow get back the
initial information. For this we're
going to use another Python node. I'm
going to go to code here again. Python.
I'm going to copy paste this here again.
What we do is we access data that we had
access to before. So as you can see this
code in Python beta 1 is the last one
but we also have this code in Python
beta without the one. And here we have
still the sales information. So what
we're going to do is we're going to say
node items is equal to that specific
note. So code in Python beta the first
one dotall.2ython
then I have the sales. I get the JSON
object for the individual items. Then I
list them and then I add all of this as
sales to the JSON object. So when I
execute this what I get here is I get
yesterday today and then I get the list
of sales with all the items and what
happened. Now with this output I can now
just attach another open AI note here
messaging model. Let us go this time
with GPT4. The analysis is not going to
be very complicated. And here I'm going
to provide the following prompt. Let me
maybe make more space so we can read it.
Essentially it's going to say look at
these sales. Then it's going to take the
sales, parse them as a JSON string
summarize why we earned less today with
the sum of today compared to yesterday
with the sum of yesterday. Keep your
answer very concise. Just describe the
important pattern and formulate it like
a message to a user in a chat. Why?
Because we're going to send it to
Telegram. So if I take all this and
execute this, you will see that it tells
me you earned less today because only
one laptop was sold while yesterday had
higher volume, three laptops and five
monitors sold. That's great. So finally
we're going to take that and send it to
Telegram. So Telegram again, send a text
message. Chat ID is same as before. And
this is now going to be the message.
Execute step. And in Telegram I get
here, you earned less today because only
one laptop was sold while yesterday had
higher volume, three laptops and five
monitors sold. So if I go back to my
sheet now and I change this to 10 and I
run the entire workflow on demand
what's going to happen? Let's click
here. Execute workflow. All of this is
run. And we get here. So now I get the
message, great, you earned more today
compared to yesterday. If I turn this
back to two, let's say, save this.
execute workflow. All of this is going
to happen. A message is going to be sent
and I get the analysis again with why I
earned less. Now, finally, let me
briefly show you how we can use AI
agents for this. Let's go with a chat
trigger. Again, we're going to chat with
a model. And what I'm going to do is I'm
going to, add, not, just, an, AI,, but, an, AI
agent. So, an AI agent can have multiple
things attached to it. One is I can add
a model. For example, let's go with an
open AAI model again. I'm going to go
with GPT40. Then we can also add some
memory. For example, simple memory in
N8N, which allows us to keep track of
what was already talked about. And then
we can add tool use. For example, we can
add stuff like other workflows that we
already have. For example, call N8N
workflow tool. I can now say go and
execute this workflow 3 that we just
had, which was the one for comparing
sales. So I can click on this and now
whenever it thinks that this has to be
triggered it will trigger it. We can
also say when it should be triggered
when the user wants to compare sales of
today versus yesterday. Call this
workflow. So now I have it stored here
and we can start chatting with the
model. Test chat. What are my sales
today compared to yesterday? Now I think
I actually have to do it outside of
testing. So let me send this again. This
is going to trigger the agent. Okay
actually 40 cannot use tools. So let's
switch to 4.1 mini. That should be fine.
And let's try again. And there you go.
It recognizes it should use that
workflow. It executes that workflow and
I get a notification on Telegram that I
earned less today. And again the
reasoning. So yeah, of course you can
take this then as well. I also got the
answer here as a result, but we can also
continue and do something else with it.
So that's basically how you can work
with N8N. There's much more to explore.
many different integrations with many
different ways to authenticate yourself.
But you can also take a look here at
templates and see how other people are
working with N8N. You have workflows
that people have created that you can
just copy and adjust if you want to.
Let's go with this one for example, use
for free. I can just click on it. I can
say import template to localhost. And
now I have it on my system. Here it
instructs me to first do some stuff. I
can skip that and just take a look at
this template also with some tutorial
and description here. But this is quite
complex and you can see that it collects
idea and image. Then it creates an image
with nanobano which is an image
generation model. Then it generates a
video ad script. It generates the video
itself. And then also it posts it onto
all platforms. This is quite advanced
but you can also explore that if you
want to. You can click on the different
notes and see exactly what they're
doing. This is how you can also learn
how to use NAN. So that's it for this
video today. I hope you enjoyed it and
hope you learned something. If so, let
me know by hitting a like button and
leaving a comment in the comment section
down below. Also, if you're interested
in personal tutoring or services, check
out my website. I have a services and a
tutoring tab there where you can book me
or hire me for freelancing services or
one-on-one tutoring. And of course
besides that, don't forget to subscribe
to the channel and hit the notification
bell to not miss a single future video
for free. Other than that, thank you
much for watching. See you in the next
video and bye.
This video today is an n8n crash course. We learn how to build automated AI workflows with AI agents, Google sheet, Google calendar, Telegram and even Python code. ◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾ 📚 Programming Books & Merch 📚 🐍 The Python Bible Book: https://www.neuralnine.com/books/ 💻 The Algorithm Bible Book: https://www.neuralnine.com/books/ 👕 Programming Merch: https://www.neuralnine.com/shop 💼 Services 💼 💻 Freelancing & Tutoring: https://www.neuralnine.com/services 🖥️ Setup & Gear 🖥️: https://neuralnine.com/extras/ 🌐 Social Media & Contact 🌐 📱 Website: https://www.neuralnine.com/ 📷 Instagram: https://www.instagram.com/neuralnine 🐦 Twitter: https://twitter.com/neuralnine 🤵 LinkedIn: https://www.linkedin.com/company/neuralnine/ 📁 GitHub: https://github.com/NeuralNine 🎙 Discord: https://discord.gg/JU4xr8U3dm Timestamps: (0:00) Intro (0:40) Local Setup (2:00) n8n Basics (4:34) Example 1 - Forms, Google Sheet, Telegram (17:22) Example 2 - Chat, OpenAI, Google Calendar (23:26) Example 3 - Complex Workflow with Code (30:52) Example 4 - AI Agent Workflow (33:34) Outro