This is a full social media content
machine. Four AI agents that research,
write, design, and publish posts for
you. Watch it work right now. This
content idea, five signs your agent
stack is overengineered, is turning
itself into a finished Instagram
carousel. Atlas found the angle Vera is
writing the slides and in about 2
minutes, Kite renders all of them with
just a few clicks. And here's the thing,
nothing goes online without your
approval. You check the words first and
you approve the final post. The agents
do the work and you keep control. Today
we are building the entire thing from
the scratch. Every prompt and template
is linked below. If you'd rather skip
the 4 plus hours build, there is also an
auto installer that can set up
everything for you in a matter of
minutes. Hey, Larry here and welcome to
the channel. Today we're building
Cadence, a content operations autopilot
run by four specialists you just saw.
Packed with over 50 beautifully designed
templates, Atlas researches and posts
your ideas. Vera writes every slide,
caption, and hashtag for you. Then Kite
does the finished designs. Once this is
done, Orion ships them to your social
media platform. And above them all is an
orchestrator agent that can take your
orders in the Telegram chat and route
every job down the [music] chain. If you
post content regularly, you know the
hassle. You stare at a blank page
hunting for [music] an idea. When you
finally get one, now comes the research,
then writing slide after slide. They're
making it look good in a template
followed by the caption, the hashtag,
the scul and all that. Now, Cadence
orchestrates and eats up the entire
chain in a matter of minutes. You tell
the agents once what your brand is
about. From then on, one click generates
fresh post ideas for you or you type
your own rough thought and they build
the entire story for you from idea to
publish post all handled in a few
clicks. Then your post is online. And
here is where this build beats every
other AI slide tool. Normally, you would
generate slides with an image model and
you would pay for every single slide.
And even fixing one word means you pay
again to regenerate the whole image.
Cadence doesn't touch an [music] image
model at all. Every slide is built from
a beautifully designed HTML template
with real code, not with AI pixels. So,
every edit is free. You can grab any
elements, change the text, the size, the
position, and it rerenders it in a
matter of seconds. Meaning you have
unlimited revisions with zero cost per
slide. So your money goes into the
words, not into the pictures. The
dashboard shows the whole operation in
one glance. Every number pulled from
your own agent's database where every
agent logs its name, the task they
performed, the AI model they used, and
exactly when they performed that task.
So there are no fake metrics anywhere.
My favorite part is the studio. You can
edit every slice text or grab a single
element, move it, resize it, rewrite it,
plus even the phone preview, a template
library, and some that carousel into a
video rule. We would also build a
published archive where you can see all
the posts that you've generated so far
and published, and also a calendar tab
where every schedule content can be
seen. We would also have a
configurations page which would hold
your brand name, handle, voice, and it
flows into every word the agent writes.
Now, let me give you a live demo and
walk through of what we are building
today. So on the dashboard you see the
total number of runs that the agents
have performed. The number of ideas that
we have generated in this setup. The
number of posts that we have published.
In my case I just have one because I
used this to test for the tutorial and
the percentage of runs that have been
successful. Now here we have an agent
activity that is pulled from the agents
activity database. So you can see
currently on Friday I did a lot with the
agents because I was building the setup
and that is why you see that this is
basically going up and on the right side
you can also see which of the agents
have currently the largest workload. So
in my case for instance these are Vera
who is my content writer and Kite who is
a developer because those are the two
that were doing most of the work so far.
Now when you come down here you can also
see a summary of what the agents have
been doing all pulled from the agent
login database. Now the magic happens in
the ideas tab. Here you can see a few
ideas that the agents generated for me
because I'm doing stuff with AI. So I
just made them generate ideas around AI
automation and stuff like that. Now here
you can put in your own idea whatever
idea that you have or when you don't
even have an idea you can tell the agent
hey generate some ideas for me. So let
me just click on generate some ideas and
let me see what ideas are going to be
generated. So here you can see that
Atlas who is our researcher is the one
that is going to look for ideas around
what we are building and what we haven't
posted before. And this is going to
trigger Atlas who is our researcher who
is going to basically look for ideas of
what we can post based on what the
agents have learned so far about what
I'm building. And then you can see that
they generated five ideas. So the first
idea is automation fails at the handoff.
We also have some ideas like your agent
should run the test it claims to fix
which is going to be a good one because
the agents hallucinate a lot. Now just
to demonstrate an example let's say I
want to write some slides on this idea.
All I have to do is to just click on
promote and then here I can put in a
number of slides that I want to put in.
So for instance I want to go for eight
slides 10 or whatever number you want to
go for. So what you have to remember is
that the first slide is always going to
be the hook and then the last slide is
going to be the CTA. So the main content
is going to be between the hook and the
CTA. So here if I go for 10 slides or
let's say eight slides that it means
that I'm going to have six content
slides with one being the hook and one
being the CTA. And then here I can
decide if the agent should do a deep
research. So for instance if I click
research with perplexity then the agents
are going to do a deep research through
perplexity to really find the right
content for this job. And then here I
also built in a sort of a steroids mode
where the agents are going to write more
punchy slides. And then when you are
done you can just click on write eight
slides. Now what is going to happen is
that basically Atlas is done with his
job. Atlas did the research right and
now Vera is going to take over. Vera is
the AI agent that does the writing of
the content. So let's wait till Vera is
done with the research and have the
content ready. All right. So Vera is
done with the research. Remember we
asked for nice slides and Vera is
basically giving us an idea of what the
content on each slide is going to be.
Basically you can see the content that
is going to come on every slide. If I do
not like the slide and I want to refine
the slide, I can click on refine copy
and then the agents would basically
refine this based on what I tell them.
Now, assuming I'm fine with this and I
want to promote this, I can click on
approve and pick a templates. Remember
that the contents that the agents did is
basically from the idea of what the
content should look like. But here, I
have a pile of beautifully designed
templates that I'm going to give to you
guys, which you can just copy without
you having to design everything
yourself. So, what we're going to have
to do is just look for whatever
templates we want to build with. Now,
because my brand is orange, let me go
with this template here, 10 count. Now
what is going to happen is I'm going to
click fit copy to this. Now why do we do
this step? Because every template has
the number of characters it can support.
So assuming the number of characters is
way more than what a template can
support then the design basically looks
ugly. So what Vera is going to do is
that Vera is going to look at the
template that we have picked and adapt
the text that goes onto the slides to
match that particular template and then
Vera adapted the slide text to the
template that we picked. So here I'm
just going to click on render this and
then this is going to trigger another
agent called kite who is basically for
design. So when I come here you can see
that the slide is ready and I can click
to open this in the studio or you can
also come to the studio tab and this
will show you the slides. So when I
click open in studio you can see the
slides that the agents generated. So
that you can see that I have eight
slides basically tailored to exactly
what we did. Now the beauty about how
these slides are generated is that
typically when people are generating
Instagram slides you need to get an
image generation agent or an an image
generating model that is going to cost
you for every slide that you generate.
And the most painful part is that
whenever you want to change any text,
then you need to pay for every API call.
The beauty about what we building here
is that every slide is rendered as an
HTML file. That means that when you come
here and click on fine-tune the slide
and I pick on any slide, I can basically
edit and add my name Larry here. I can
do whatever I want to do without having
to pay for anything. What you can even
also do that I also added is that you
can also tune the slide to be left to up
down. You can reduce the slide. You can
change the font size and everything. And
then when you're done, you just click on
save and this will be done. Now assuming
you're done and you're basically happy
with all the contents, then you can
promote this. Now you can also convert
this into a real where you can click on
animate this carousel. You can animate
all the slides that are going to come
one after the other like a real with a 4
is to 5 aspect ratio or you can also
create a full reel with a 9 is to 16
aspect ratio. Now assuming I'm done and
I'm happy with what I've built so far, I
can just come here click post now and
then in my case I have already
configured Instagram. So I can click on
post to only. And then the agents are
going to warn me, hey, are you sure you
want to post this image to is I'm going
to say yes, post now. And then the image
is going to be pushed through a platform
that we're going to be using, which is
called Buffer that connects to all the
social platforms. And then this will be
pushed directly to Instagram for us. And
now I get a notification from Orion,
which is our publisher, that the post
has been pushed to buffer. So in a few
minutes, we should see this directly on
Instagram. And right then you see it. So
this is a test account that I created on
basically to test what I'm building. And
when I come here, you see that the post
that we just created is live on
Instagram exactly as we rendered them.
And this exactly what I'm going to be
building with you guys today. We also do
have a dedicated agents tab that gives
you more insight into the agent
architecture that we have. You can see
that we have every sub agents have their
dedicated card where you can see the AI
model that the agents are using. You can
see the number of runs that particular
agent has performed, how many of these
runs have been successful and also some
of the recent tasks that the agents
performed. On top of all these four
agents, we have the orchestrator who is
more or less the boss agent. Now below
we have an activity heat map where you
can see in a time frame of 24 hours
which agent has been active. So the more
brighter the color here, it just means
that the agent was more active within
that hour window. And darker spaces just
mean that the agent was not active
within that time frame. So the entire
build is going to take you about four to
5 hours if you have all the prompts and
the templates. So I also created an auto
installer that can do everything for you
in a matter of minutes. If you'll be
interested in getting the auto
installer, this model will also be in
the description section. Now, let's get
into the build. To get started, we're
going to first install her. He agents
allows you to be able to build multiple
agent infrastructure where you can be
talking to your AI agents using all the
popular applications out there like
Telegram, Discord, Slack, WhatsApp, and
all the popular messaging applications
that are out there. Additionally,
instead of being confined to using one
particular AI model, you can use any AI
model that you want. been it from
OpenAI, Ben from Antropic or any other
popular model that is out there. And to
install Hemisen, there are several
options that are out there for you. You
can install this on a Windows PC if you
have a dedicated PC that you want to run
this on, or you can also install this
via a Linux operating system. For this
setup, I'm going to be using the Linux
approach. I know Linux sounds
intimidating. Don't worry, I'm going to
walk you through the entire step. And
then once we are done with the setup,
which is going to take a few minutes,
everything that you're going to be doing
is going to be from the dashboard that
we're going to be building or also from
the Telegram messaging application. So
you wouldn't have to come into the
terminal to do any stuff with quotes and
stuff like that. But I'm going to walk
you through the entire process from A to
Z so that you get a breast with how this
whole flow would work. Now, if you have
a PC that you can run this on, hey, you
can use this as well. But in my case,
for instance, I do not have a dedicated
PC. So you can rent a server somewhere
that you used to run this on. I
personally prefer this option, but hey,
it's up to you. With using a private
server is that you rent a server from a
different company where you pay about $4
a month and then this server is going to
be on 24/7. You do not have to worry
about maintenance. You do not have to
worry about internet connectivity and
stuff like that. But of course, this
comes for a price and that is why you
have to decide if you want to run this
on your personal PC that you have at
home or if you want to rent a server to
run this on. And for the VPS provider,
my personal picks are typically Racknet
and Conabo. Now, with Rocknet, for
instance, you can get a server with two
CPU cores, 35 GB of this space, 2 GB of
RAM for about $35 a year, which amounts
to about $2.9 a month, which is quite
affordable for a server, considering
that you do not have to worry about
keeping it online 24/7, internet
activity, maintenance, and stuff like
that. With Rak, you pay once a year and
you're basically done. You don't need to
worry about monthly payments and stuff
like that. The second option that you
can also go for is from Contabo. They
also do have quite reliable servers and
the price are also quite affordable for
the specifications of the VPS that you
get. So with Contabo for instance, you
can get a server that has four CPU
cores, 8 GB of RAM and about 100 GB of
SSD disc space for about $8 a month.
This one here is going to be way more
sufficient for what we're going to be
building. So you can decide on either
going with Raknet or going with Contabo.
So I'm going to put a referral link in
the description section that you can get
one of these. And these videos are not
sponsored by any of these companies. I'm
just giving you what I typically use
when I'm setting up these
infrastructures. If you want to go with
Raknet, just come here. Like I said, my
recommended option would be this one
here. Click on order now. And then
you're going to be brought to a page
where you would see the summary of the
hardware specifications of your VPS that
you selected. And then when you scroll
down as well, you see the server label,
which you can change later if you want.
Now, in terms of the configuration
options, I would recommend that you keep
this as a default. Operating system,
we're going to be using Ubuntu 2012.04.
For the RAM, leave everything as a
default. immedately you increase the RAM
it's going to in an additional cost and
that is why I would recommend that you
go with the default options that is also
here in terms of the location you can
choose whatever location that is closest
to you but what we're going to be
building latency is not much of an issue
so I wouldn't worry too much about
having it as close to you cost leave it
as a default if you take something
higher you would basically pay more
after that click on continue you're
going to get an email that would contain
all the credentials you're going to need
to connect to the VPS ser and I'm going
to walk you through that process as well
if you want to go with a contabo option
like I said this option that we have
here cloudvp4 or the lowest option that
they have is going to be way more
powerful for what we're going to be
building. So here click on get started
here. Be careful the default is
sometimes 24 years. That means that
you're going to be locked with this VPS
for 2 years. And of course it gets
cheaper the longer the contract is going
to be. But just be careful because if
you go for 2 years then you are locked
to pay this amount of money for 2 years.
If you want to have the flexibility of
cancelelling this every month then you
can go for the one month option where
you're going to be paying about 5.5 in
my case a month. Now in terms of the
region you can leave this as European
Union which is the default because
Contabo is in European Union with
Contabo immediately you choose a
different location then it would incur
an additional cost but like I said
earlier with what we're going to be
building latency is not going to be that
much of an issue. So you can leave this
completely as European Union. When you
scroll down for the storage you can
choose SSD 100 GB which is going to be
free and way more sufficient for what we
want to build. For the operating system
leave this as YUbuntu which is the
default. For data protection, I
typically recommend that you go for the
auto backup option. Sometimes I'm
working with my agents and something
completely gets screwed up. And then
with the auto backup, it basically takes
a snapshot of your VPS every day. So
that means that if something goes wrong,
you can always go back to about 10 days
back and then you can always restore
whatever image you had on that VPS for
that particular day. Now this optional
but like I said it's highly recommended
because if you imagine if you've been
building your content management system
for over one year and by mistake
something screws up you completely lose
this. Now to save this as well you can
also configure your own auto backup
which is going to take a snapshot of
your VPS every day. This for instance
you can build with cloth but if you
don't want to do this and you want to go
with contabo's default auto backup
option you can choose this which would
about 1.65 a month. Now additional
features you can leave everything as a
default. In this section here, you're
going to have to put in a password where
you're going to connect to the VPS
server. Here you can generate a new
password or you can put in any password
that you want. This is going to be a
password that you're going to have to
remember because this is a password that
you're going to use to connect to the
VPS server. If you forget this password,
you can go into your conso control panel
and reset the password. But why go
through the hassle after that? Just
click on next, make the payment, and I'm
going to walk you through the next
steps. If you went with a racknet option
after making the payments, you're going
to get an email like this from Racknet.
With this email, we basically going to
need three things. The first thing that
you're going to need is the IP address
of your VPS server. Every VPS server has
a unique IP address and they're going to
provide this IP address to you. The
second thing that we're going to need is
the username of the account that you use
to connect to the VPS server. With
Raknet, most of the time name is always
going to be root. And then thirdly,
you're going to need a password which
they're also going to provide to you
here called root password. And here's
what they're going to provide the
password to you. All these three
credentials are going to be in your
email. With the SSH port, you do not
have to worry about this because with
most of the applications that you use to
connect to the VPS server, they always
default to an SSH port of three. Now,
with the IP address, with username, and
with a password, you would be able to
connect to the VPS server, which I would
walk you through in the next step. If
you went for the Contabo option, you're
going to get an email like this from
Contabo. Mine is in German, but the
layout is going to be the same
irrespective of which country or which
language that you have. In the email
from Contabo, we're going to need two
things. We're going to need on this left
side here the IP address which is the
unique IP address of your VPS server and
we're also going to need the username
with Contabo as well. The username is in
most of the cases root the password they
wouldn't provide the password to you in
the email but this is going to be the
password that you put in when you were
purchasing the VPS server. So with the
IP address with the username and with
the password that you put in when you
were purchasing to the VPS server we
would be able to connect to the VPS
server. And to connect to the VPS server
there are several applications that are
out there. The good news is that whether
you're using a Windows operating system
or you're using a Mac operating system,
both do come with inbuilt applications
that you can use to connect to the VPS
server. Using a Windows operating
system, just click on the search bar and
look for an application that is called
Windows PowerShell. And then when you
click on this, this is how the Windows
PowerShell application looks. If you're
using a macrop system, the application
that you're going to be using is called
terminal. The commands that we're going
to be using here in PowerShell are
identical to what you would be using in
PowerShell. So you do not have to worry
about differences in terms of commands.
To connect to the VPS server, just put
in the command ssh space and then put in
root. Root is going to be the username
of the VPS server, which is the same for
Contabo and for racknet. And after that,
you're going to put in the IP address of
your VPS server. The trick here with
PowerShell is that whenever you have
something in the clipboard and you right
click on your mouse, it basically paste
whatever you have in the clipboard,
which can be quite useful, especially
when you are typing in passwords. And
after that, just press enter. If this is
the first time that you're connecting to
the server, you're going to be asked
whether you want to add this fingerprint
of the server to your PC. If you're sure
you're connecting to the right server,
just type in yes and it should be fine.
And after that, you're going to be
prompted to put in the password of your
VPS server. And here, if you have a
complex password, just type this
password somewhere. Come in here, just
right click on your mouse. It would
paste the password into the clipboard
and just press enter. And then you can
see that in my case, I'm connected to my
VPS server. So, I'm going to clear the
screen by just typing clear. And then we
can start with the configuration
process. So now we connected the VPS
server using the router name and root as
a user is typically the highest
authority on a Linux server. Now to
install Hermes my tip for you would be
not to install Hermes on the root user
but create a new profile or a new user
on which we're going to run this on. Now
this is quite helpful because then you
do not have Hermes being the highest
authority on your VPS server. In my
earlier videos, we always did this on
root, which is absolutely fine. But I
always try to improve and bring you guys
the best safety tips out there. And that
is why we're not going to be installing
Hemis this time around on root. We're
going to be creating a dedicated user on
which we're going to install the whole
Hemis application on. Now, to create a
new user on Linux, just use the command
user space. And after that, just put in
the name of the user that you want to
create. In my case, I'm going to call
this Larry. So, add Larry. And after
that, you're going to be prompted to put
in a password for this user. So, I'm
going to put in my password. And after
that, just press enter. You're going to
be prompted to retype the password. And
then after that, just press enter. And
then we're going to be asked if you want
to put in a full name. You can just skip
this by pressing enter. Room number.
Enter. Phone. Enter. Just skip this.
Home phone. You can also skip this. You
can also skip this. And then you're
going to be prompted if the information
that you have put in is correct. Just
press Y for yes. And after that, just
press enter. Now, you can see that then
Larry is added as a user. Now, we're
going to give this Larry user some
pseudo privileges so that the user can
be able to run some commands and install
the Hemis application. And to do that,
we're going to use this command here.
User mod space minus ag p sudo larry. So
here, just replace this Larry with your
username. And after that, just press
enter. By the way, I'm also going to
provide you these commands. So you do
not need to type this or you do not need
to remember them. After that, just press
enter. And then we're going to get Larry
now being a user with pseudo privileges.
I'm going to clear the screen just to
make it a bit cleaner. And now we're
going to switch from the root user into
the Larry user for us to be able to
login into the Larry user that we just
created. And for that just use the
command su space minus or hyphen space
and then just type in Larry. And you can
see that the syntax change from root to
Larry. So that means that now I'm not on
the root application which has the
highest authority. I'm now logged in
into the Larry path which has this
authority. Now when we're connecting to
the VPS server, we use the command ss
space root the IP address. But here as
well if you want to connect to the VPS
server instead of root you can use the
new user that we created which is in my
case Larry and then you can just put in
the IP address of the VPS server then
press enter put in the password that you
created and then you see that I'm also
connected to the VPS server so you can
connect to the VPS server either using
root and after that switching to the
larger using su space minus Larry or you
can also directly go into that using the
SSH path for Larry. So I'm just going to
be sticking to with this because I
already created a set with this here.
I'm just going to type in clear to clear
the screen. And then now we can start
with the Hemis installation. To install
Hemis, we're just going to come to the
original website from Hemsus. And then
when you're on this page, scroll down
here and then come to the install via
terminal. We're going to be going with
the native application. And here the
command always starts with curl so that
you are sure that you are on the right
one. Now click here to copy the oneline
installer. The advantage here is that
with this oneline installer, it's going
to install all the dependent that
required to install or to run hemis
without you having to install
application A, application B and stuff
like that. After that, just press enter
and then the installation is going to
run. So, it detected that I'm running
Linux and it's also going to run all the
other things that are missing on my
server. Now, here I'm being asked, do
you want to install RIP for faster file
search for TTS voice message? This would
be good. So, we can just type in yes
that we want to install this and press
enter. and then I'm going to put in a
password and then press enter and then
the installation is going to proceed. So
I'm going to wait for the installation
to be done and then we can continue with
the build. All right, so the
prerequisite installation is done. So
now we can start with the setup. Now for
here we're going to have to choose how
we want to set up Hemis. I would
recommend that we go with a quick setup
because a full setup is going to ask us
so many things that we're going to have
to configure which we do not need. And
this is also the recommended part. So
just make sure that this option is
selected. If not, just press up and down
on your keyboard. Make sure that the
pointer is on this and then press the
space bar or enter key. Now in the next
stage, we're going to have to create an
account with news research. If you do
have an account, then you do not have to
create a new one. And basically, this is
a step where we're going to bind this
VPS or this server or this Hemis
installation to our news research
account. Now, here you can go with their
free subscription. Nose research does
have some paid plans where you can use a
pool of AI models that they have, but in
my case, I'm going to be coming with my
own AI model. So, I'm going to go with a
free option. So just press control on
the keyboard and click on this URL here.
And if you do not have an account,
you're going to get an option to create
an account. But in my case, because I
already have an account and I'm logged
into my account, it directly brings me
to a screen where I can bind my account
to the setup. So here, just click on
connect. And when this is successfully,
you're going to get a notification that
this has been connected. And then when
you come back to the Hemis installer
screen, you see that it brings you to
the model selection process. Like I
said, in my case, I'm not going to be
using any of the models that no research
provides. I'm going to bring in my own
model. So here you can just press enter
on the keyboard to skip the model
selection process. In the next stage
we're going to pick a few tools that you
can use with her agent. For instance,
you can give your agents the options to
be able to search on the internet and
script data from the internet on
particular websites. And here for
instance you can use a tool that is
called fire crawl and the same applies.
There are other tools that you can use
for image generation for text to speech
for speech to text and so on. So here
you can just press enter to use all of
these or you can also uncheck them if
you do not need them. In the next stage,
we're going to select the terminal back
end. Here you can keep this as the
default, which is local by just pressing
on the space bar. In the next stage,
we're going to connect a messaging
platform with which we're going to use
to talk to all our AI agents. And here,
it's recommended that you set this up
because we don't want to be talking to
the AI agents every time through the
terminal here on the VPS. We want to
have a simple, more friendly user
interface that we can talk to the AI
agents. So, here we're going to select
set up messaging, which is recommended
anyway. So press space bar on the
keyboard and then you're going to list
all the messaging platforms that are
currently configured with Hemis. And as
you can see there are a pool of them
that you can use. But in this setup
we're going to be going with Telegram.
So just press down on your keyboard and
then here don't press enter. If you
press enter it would skip this part.
Press spacear on your keyboard to make
sure that is checked. And after that you
can just press enter. And then here
we're going to create a telegram bot.
And this is going to be the bot with
which we will talk to the agents that
we're going to create. For the Telegram
B setup, you can either go with the
automatic setup or you can also go with
a manual. In my case, I'm going to go
with the middle option just to show you
how you can do this if later you would
need this for another application. So
for manual, just press two and then
press enter. And then HS is going to ask
us what is the Telegram bot token. So to
do that, just come to Telegram and look
for a bot called BotFather. So you can
see that the right botfather bot has
over 7 million monthly users. So that
you are pretty sure that you are using
the right bot. Be careful here. As you
can see there a lot of botfather here.
But the one that you need is this one
here with a check mark here and also
with over 7 million monthly users. To
create a new ground, use the command
forward slash and then type in new bot.
And then you can press enter or you can
click on the suggestion that we have
here. Now here we're going to have to
give our bot a name. I'm going to call
this km in my case for computer mechanic
content creation OS. So when you're done
with the name just press enter and then
you're going to be asked to put in the
user of the bot. Now very important here
the username has to end with the name
but and that is why I copied this
because in my case I just want to call
it the same name but just add the word
but to it and after that just press
enter and then the bot is going to be
created for you. Now when the bot is
created the botfather is going to give
you a unique key that means that you are
the creator of that bot or you are
basically the owner of the bot. So I'm
going to click here to copy the key
because that is what the hemis
installation is asking and I'm going to
paste in the key here and after that
just press enter. Now this step is a
highly recommended step. Hermes is
asking you, do you want to put some
users who are the only people that are
allowed to talk to the bot? Now this is
very very important because if someone
has the username of your bot, you don't
want them to be able to talk to your
bot. And that is why we're going to tell
her, hey, let me be the only one that
can talk to this bot. And the only way
Hermes can know that it's you is by
giving Hermes what your user ID for
Telegram is. And to get your Telegram
user ID, we're also going to use a bot
that is called user info bot which also
has over 400,000 users. There are a lot
of other bots out there. So make sure
that you have the right one here. And to
get your user ID, you can just send the
bot any message like hi. And the bot is
going to respond with your user ID. So
I'm going to click here to copy my user
ID. I'm going to come back to the
terminal in Hermes installation. I'm
going to paste in the user ID and I'm
going to press enter. And then Hermes is
going to ask you if you want to set this
user ID as the home channel. That means
that in the messaging chat that you are
talking to the bots, whenever the Hemis
gateway is restarting or any system
things are going on, you're just going
to get a notification in this chat
window. You can type in a Y for yes and
then press enter. And then you're going
to be asked if you want to install the
Hemis gateway as a system service. This
very important because whenever your VPS
server restarted due to a system update
or anything, the Hemis gateway is going
to start automatic which is quite useful
so that you do not have to start this
manually. Press Y for yes and then press
enter. And then here you're going to be
asked how do you want to run the
gateway? In our case, we're going to go
with the system service. So press enter.
And then I'm going to be prompted again,
do you want to run and install the
gateway as a background system service?
I'm going to press Y for yes and I'm
going to press enter. And then the Hemis
installation is completed. Now very
important here, we're going to have to
reload our shell so that we can just
type in Hemus and this will launch the
Hemis application. And to do that, just
copy the command that they have provided
for you here. Paste this command back in
the terminal and just press enter. It's
basically going to restart the shell for
you. Now remember, we are basically done
with the Hemis installation. But in my
case, I didn't select any AI model
because I want to bring in my own AI
model. So here we're going to configure
our own AI model. And I'm also doing
this in this way so that you guys can
learn how you can add your own AI models
later. Now, if in future you want to add
some AI models, you can basically ask
your AI agents to do this for you. But I
typically do not recommend this because
in most of the cases the AI model is not
very smart, they basically mess up with
your configuration. And that is why for
stuffs like that I prefer to do this on
my own. Now for which AI model to use
this is absolutely up to you. But what I
typically use most of the time which a
lot of people do not also know is that
if you do have a charge GPT subscription
if you the plus account or the pro
account you would be able to use an AI
model from open AAI that is called Codex
on her agent basically for free. If you
have the $20 plan you can use you can
use this. If you have the pro plan you
can also use this. I'm I'm not very sure
if this is available for the Go plan. In
my case, most of the time I'm using the
pro plan. And the usage limits that you
have for the pro plan is more than you
would get for the $20 plan, obviously.
So, if you're not sure which one you
need, you can go with the plus account.
If you hit your limit, you can basically
always upgrade to the pro plan. Now, the
is also a bit generous in terms of the
token limits. So, you would be able to
do a lot even if you are using the $20
subscription. The advantage here is that
it's not basically a pay as you go.
Whenever your limits are done, you are
done. You do not get any surprise bill
from OPDI that hey, you've used more
than your subscription allowed, so you
have to pay extra. That does not exist.
And that is why I personally go with
these options because it's you don't
have to worry about having a surprise
bill or anything like that. Personally,
I'm on the pro plan because I have a lot
of Hem setups and that is why my token
usage is also very high. And also for
the tutorials that I create for you
guys, I typically try this over 10 times
and that is why I typically need a
higher limit in terms of the tokens that
they make available to you. when I had
one Hemis account or when I had one open
CL account, this one was way more
sufficient for me. Now, what people also
not aware of is that if you also do have
an X account, you can also use the Crog
model on Hermes agents for free. So
whether you have a chat GPT paid account
or you have a premium or paid
subscription, you can use in both cases
their AI models on her agent for free.
If you do not want any of these and
probably you want a particular model
like from Antropic, oo, sonet or
whatever, we can also come to open
router. Open router has quite a pool of
a models like all the popular AI models
that are out there. You can get them on
Open Router. The advantage with Open
Router is that they're going to give you
one API key and with that API key, you
can get access to all the models that
are out there. The tricky thing that you
have to take note of the fact that with
Open Router is basically pay as you go.
It's not a case where you paid a month
and then when you hit your limit, you
hit your limits. You basically pay as
you go. The more you use, the more you
pay. So, I mean with whatever model that
you want to use is completely up to you.
just go for the option that makes the
most sense to you. Now, in my case, I'm
going to be going with my OpenAI because
I have a CHBT subscription. And to use
that, I'm going to clear the screen here
to make it a bit cleaner. Just put in a
command Heis space model and then press
enter. And [clears throat] this is going
to load all the models that are
currently available on Hemis agent. If
you do have an paid premium X account,
then your option would be here, the X AI
Grock. The process is going to be the
same irrespective of which option that
you go for. So, in my case, I'm going to
select this by pressing the space bar.
And then here we're going to have the
option to choose between open open AI
API. If you go with API then you pay as
you go. So the more you use the more you
pay and then you would have to create a
dedicated API key to collect this. But
in our setup we're going to be using our
charging subscription. So I'm going to
go with the open AAI codeex. And to do
that we're going to press control and
we're going to click on this URL that is
provided here. And in the process we're
going to have to enter this code that is
over here. So just highlight this code.
Very important. Press control shift C.
Do not press Ctrl C. Ctrl C in Linux
cancel an application and this would
quit this whole screen and that is why
you press control shift C and then the
link is going to bring you to this page.
All you're going to have to do is to
just log into your OpenAI account. So
I'm going to click here and then click
on continue and then just put in the
code that we copied from the PowerShell
from the Hermise installation and click
continue. And then our CEX account or
our OpenAI account is now bound to our
Hemis setup and then when you come here
you see that the authentication is done
and then here we are being asked to
select an AI model. And then here you
can use any of the models that you have
here. Remember the higher the number
like 5.6 takes way more tokens than 5.4
4 than 5.5, which also takes higher
tokens than 5.4. In my case, I go with
5.5 most of the time because it's still
a very super powerful model and I always
want more tokens. But hey, if you are on
the $100 plan and you have a lot of
tokens, you can also go with a 5.6.
That's absolutely up to you. I'm going
to go with 5.5 here. I'm going to press
spacebar. And then you can see that it
says that my default model has been set
to GPT 5.5. Now before we go into the
telegram to test to see if everything
works from the Hemis installation and
from the model configuration just type
in Hemus and this is going to open what
is called a Hermes terminal user
interface. Now it's going to be a chat
box where you can basically talk to your
default AI agents to make sure that
everything works. But a lot of people
like me do not use this part because
then you always have to log into your
VPS come to this weird page to talk to
the AI agent. We just want to make sure
that the setup works and that is why I'm
coming here. So here I'm just going to
send in a message like hi and if the
agent responds then it means that the
hemis installation works. It also means
that the AI model configuration worked
and here you can see that the agent
response hi what can I help you with? So
that means that our installation worked
the AI model configuration works. Now to
leave this screen you can press Ctrl C
on your keyboard or you can also just
type forward slash and type in exit and
press enter and this is going to kick
you out of the Hemis terminal user
interface. A quick word from today's
sponsor, Sudalis AI, and it's worth
paying attention to this one. Problem
they are solving is that enterprises are
currently drowning in disconnected AI.
Most companies are using AI tools that
do not even talk to each other. One tool
does this, another does that, but
nothing connects. So nothing really
works together. Sudalis AI built a
system that connects everything into one
stack. Check them out at sudalis.ai with
all the links in the description
section. Thanks Sudalis AI for
sponsoring this video. Now we're going
to come back to botfather. When bot
created them for us, he also gives us
this URL with which we can start talking
to the bots. So here just click on this
URL here. It's going to open a new chat
session with the bot that was created.
You can just click start. Now this is
going to send a message like start to
the bot. But the bot doesn't respond but
it doesn't understand what start means.
So here we're just going to send a
message to the bot like hi. And if
everything works the bot is going to
start typing it. So if you see this
typing symbol then it means that the bot
is configured and the bot is going to
respond to you. So the bot responded hi
what can I help you with today. Now
we're not going to be talking to the bot
in this session here. What we want to
create is we're going to create a
telegram group for our bots. The reason
why we're going to create a group is
that we're going to have basically three
topics. The first topic is going to be
where we're going to be talking to the
bots which is going to be our
orchestrator. And then we're going to
have a second topic or a second channel
which we're going to use to talk to our
developer agent who is going to build
the whole dashboard for us. And then
we're going to have a third channel
which we're going to call studio. And
that is where we're going to brainstorm
ideas and stuff like that with our
agents. When we are creating the group,
a prerequisite to create a group is that
you have to get at least two people in
the group. So we're going to need the
username of our bots so that we can add
this bot to the group that we're going
to create. I'm going to click on the
name of the bot here. And then here we
can click to copy the username of the
bot. And after that we can close this
dialogue box and then we can create this
new group. Now to create a new group,
click on the hamburger menu that you
have here on the left section here and
then click on new group. And then we're
going to name the group. In my case, I'm
going to call this KM Content OS and
then click on next. And then we're going
to have to add at least one person to
the group. And that is why we copy the
username of our bots. So I paste in the
username and I'm going to click to
select the bots and I'm going to click
on create. And then now we have our
group created. But like I said, we want
to create different channels in this
group. Now, we're going to have to make
the bots that we added an administrator
so that the bots can talk in this group.
Click on the three dots that we have
here. Come to group info. Click on
manage. Come down here and click on
administrators. Add administrator. We're
going to select the board that we
created because the board is already in
that group. And just review the
permissions that you want to give to the
board and just click on save. And then
now you see that our bot has an admin
privileges. After that, click on close.
Now, whilst we are here, we also going
to enable this aspect that I call
channels. So by default, Telegram
doesn't enable these channels or what is
called in Telegram topics for you. So to
enable this, just click on the topics
section here, which is in my case by
default off. Click on this and then you
can enable this. And then here you can
decide the view that you want to go for.
In this case, I'm going to go with the
tabs option here. And then just click on
save. And I'm going to click on save
again. And then we can now close this.
And then immediately we do that when we
enable topics. You see that now we have
different channels. We have all channel
where we going to see all the messages
from all the channels. And also we have
the general channel. So first let's
rename this general channel. Click on
the three dots here. Come to edit. And
then we can call this channel
orchestrator because this is the channel
where we're going to talk to our main
bot. I'm going to click on save. And
then we're going to start talking to
orchestrator here. So let me just send a
message in the chat here. When I send hi
and our bot is typing that means that
orchestrator is in this chat. So we can
basically start talking to orchestrator.
We are going to create other two
channels. But we are not there yet.
Let's just build the foundation and then
when we get there, we're going to go
through that process as well. All the
prompts that I'm going to be using in
this build can be made available if you
interested. You can get this for a token
of support on my website or if you are
also a member of my community, you can
also get this. If you guys want to be a
member of my community, it's $10 a month
and you can get basically access to all
the prompts and all the templates and
all the tutorials prompts that I have on
my channel. And this goes to also
support the work that I do. A lot of
effort goes into creating all these
tutorials, creating all these forms that
I give to you. All the AI models that I
also use in building these are also
quite expensive and that is why I would
need to get this with a token of support
to help me to be able to keep bringing
these tutorials to you as well. So if
you want to join my membership group,
I'll be very happy to have you there. We
also do have a telegram channel where
you can basically get access to me or
all the people in the community ask any
questions that you want and everyone
there would be happy to support you with
the questions that you have. And I also
do create auto installers. For instance,
for the setup that I'm creating, I'm
building an auto installer that would
build the entire thing for you in less
than 5 minutes. And this is going to be
available to people in my community or
my membership as well. Said, hey, if you
want to join, I'm very happy to have you
on board. So, what I did now is that I
moved Telegram to the left and it
basically had all the prompts on the
right so that we can basically copy this
and it will be very easy. Now, whenever
you set up Hemis for the first time, the
bot has no idea who you are. The bot
doesn't have a name. the bot has no idea
how the bots can help you with with
whatever you want to do. So the first
thing that I always recommend to users
is hey let the bot understand who you
are. Give the bot a name. Tell the bot
your name and give the B a gist of how
he or she can help you for this. My
first point that I'm going to give to my
bot is this. Your name is going to be
orchestrator. You are going to be my top
level coordinator for my multi- aent
setup and I am the owner and I have the
highest authority. And then here you're
going to fill in your name to the
agents. You're going to also give the
agents your brand name. You're going to
give the agents your social media handle
because remember we are creating a
social media content creation machine.
You're going to tell the agents what
your brand teaches. Now, this is very
important because we're going to have
this dashboard that is going to create
ideas for us. And for the agents to be
able to create these content creation
ideas or these post ideas for you, they
need to understand what you're building.
And that is why this part here is
non-negotiable. You can also tell the
agent what your audience is and stuff
like that. So, I'm going to copy this.
I'm going to paste this in here. And I'm
going to fill in the sections for my
build. So here I bought, hey, my name is
Larry. My brand is computer mechanic. My
social handle is computer mechanic. And
here I teach it technical builders to
build AI agents and automation, who my
audience is, my voice, and my working
time zone. Now the working time zone,
for instance, is important because when
the agent is creating like Chrome jobs,
then the agents will basically know when
to reach you and stuff like that. Now
I'm going to send this to orchestrator
to get him breast with who I am and also
what we're going to be building today.
And then orchestrator responded, "Hey,
got it. I'm orchestrator and you are
Larry. Your brand is computer mechanic
and your content is plain direct content
teaching builders to build agents and
automation." Now, the next two prompts
here are what I would recommend that you
do. The second prompt here is basically
where you're telling orchestrator to
interview you. Now, what you give to
orchestrator here is basically the
backbone, the foundation. But there are
so much that you can let your agents
learn about you. So just take time and
give this prompt to Kasha is going to
ask you some questions to understand who
you are of the setup that you want to
build your audience and all those
things. But I'm going to skip this in
the tutorial because otherwise the
tutorial will get lengthy because for my
testing or would ask you about 10 15
questions. So I would skip this just not
to get the tutorial too lengthy. The
second thing that I would also suggest
to you is this permanent operating
rules. Now when you are working with the
agents it's always advisable to let the
agents always give you a plan before
they do anything they want to do. And
also when the agents are working, you
always want the agents to keep you
updated in the process of what they are
building. Otherwise, sometimes you just
sit in the dark and you do not know if
the task is completed or the task is is
done. And that is why I prepare always
these permanent operating rules which
you can also give to your agent. It's
optional for you if you want to have
this this there ready for you. I'm going
to skip this part as well otherwise in
my build orchestrator is always going to
ask me give me a plan that I have to
type a proof before he does it and this
would slow down the build. Now we're
going to start with the main hat of the
build. We're going to tell orchestrator
that hey we're going to create different
agents. We're going to create an agent
like Atlas who is going to take care of
content creates carousel ideas. We're
going to have Vera who is going to be
our writer. We're going to have Kite who
is going to be our designer and also
Kite is going to be our developer. And
we're also going to have origin who is
going to be our publisher publishing
things to whatever channel that we want
to use. And here we are basically giving
orchestrator a prep or a gist of what we
want to build. Right? And we are telling
orchestrator that hey you are already
one of these five agents that we're
going to create. You are going to be the
main agent and you are the one I'm
talking to right now. And also important
I'm telling him when he is creating
these profiles he shouldn't create one
for himself because I did test with some
AI models that created a profile for
themsel as well which doesn't make sense
and that is why I also tell it here that
hey you do not need to create one for
yourself. So I'm going to copy this
prompt and I'm going to give this to
orchestrator to prep him what we're
going to be building. I'm also telling
him, hey, confirm that you understand
the plan, the five rows and the profile
name mapping before he even goes to
change or build anything. And what I
like about Hermes is that whenever you
send Hermes something that if he finds
useful long-term, he commits this to the
memory. And that is why you always see
this message like memory. It means that
something has been written to the
memory. And by the way, cadence is the
name that I give to the content creating
OS that we're going to be working on
today. And then he's just saying hey the
five cadence rules are orchestrator
which is me and then the other profiles
that we're going to be creating. And
he's saying that you are Larry the owner
and the final authority. Now in the next
prompt this is going to be the most
important prompt. This is going to be
the prompt that is going to create the
AI agents that we're going to need. I'm
going to send the prompt to
orchestrator. So I'm telling
orchestrator that hey create five
persistent hemis profiles. Now the
reason why I use persistent is that
hemis can also create agents that are
basically called in to do a task and
then after that they basically dead. So
what I want to create is that I be
created permanently. So that means that
whenever we need them, they are going to
be there. Now here whenever you are
creating an agent always with Hermes
there is always one default agent.
There's always one agent who is going to
be at the top and that is typically the
default agent. And below the default
agent you can have whatever number of
agents that you want to have but there's
always going to be one agent at the top.
And that is why in my setup I typically
make the default agent who is at the top
orchestrator and then he builds the
other agents that would work under him.
So someone for instance asked if you can
have two orchestrators. In principle you
can have two orchestrators that but it
means that one orchestrator would have
to be under the default orchestrator
which you can also do. This is basically
up to you how you want to configure
this. Now in creating a profile for an
agent you basically need to tell the
agent hey what am I as an agent? So for
all the agents we are telling
orchestrator to add this information
into a document that would be called
their soul.md. So a soul.md is a
document that tells an agent hey my name
is Larry. This is what I do. This is the
person that I'm working with. This is
the system that we are working with and
stuff like that. And that is why in this
prompt for all the agents I tell
orchestrator what he is supposed to put
in their description. So for instance
for scout I'm saying hey your name is
scout you are a content scout for candid
studio. Your job is to find fresh scroll
stopping Instagram Tik Tok carousel
ideas and to research facts behind them.
So for all the agents I'm telling them
what they are going to be doing. And for
instance Kite Kite is also going to be
our designer. He's also going to be our
engineer. So he has what I'm describing
for Skype for him to understand what he
does. Now whenever you start a new chat
session with an agent, they always load
in their soul.md. And that is why it's
very advisable that we describe in
detail what the agents are going to do.
Now he can change the text to whatever
you want, whatever fits what you are
doing. For instance, in my case, I said
Instagram and Tik Tok, but maybe you
want to have both, LinkedIn and stuff
like that. You can basically add this
here as well. So, orchestrator
responded. He says done. I have created
a persistent herm profiles each with
their own soul. MD. And then you can see
here we have scout who is Atlas. We have
Scribe who is Vera. We have Dev who is
Kite. We have Rich who is Orin. And he
also confirmed that the profiles indeed
exist. Now if you want to also confirm
yourself because sometimes the agents do
hallucinate. It can be that the agent
orchestrator told you especially if
you're not using a very good model or
can tell you hey I created the agents
but basically they were not created. So
you can double check this yourself. You
can come into your terminal and just
type in a command hemis profile list and
then press enter and then this is going
to list all the profiles that you have
on your hemis setup. So you can see that
in my case I have default which is
orchestrator and then we also have the
four agents that we created. Now here
you can see that the gateways are not
running. Their gateways are stopped
which is fine because we want the
gateway only to be activated when the
agents are working. So we verify that
indeed orchestrator created all these
agents. Now this is going to be a prompt
that is also very very important. Now in
this prompt I'm telling orchestrator to
define this for each agent. Now I want
every agent to have their own dedicated
memory. Imagine you have five agents.
Every agent has their own particular
role. It's going to be a mess if all
these agents are sharing one file for
their memory. So agents always write
long-term stuffs into a file that is
called memory.mmd. So if all the five
agents are using one file, it's going to
be a mess. Now that means that
orchestrator is going to dump his
long-term memory in there very it's
going to dump her long-term memory stuff
in there and it's going to be a mess.
And additionally, this is going to make
the memory file very very heavy. And
remember, the bigger the memory MD file,
the more tokens that you use. And that
is why I typically like to go with a
dedicated memory for every agent so that
every agent writes own stuff into their
own lane. And every agent is also going
to have their unique identity, their
dedicated folders and role boundaries.
So here we are telling every agent to
only do stuffs that are within their
role. So for instance, if I go to my
agent who does my research like Scout
and I tell Scout, hey build me a
dashboard, and Scout will tell me, hey,
no, probably you should talk to Jeff
because he's a developer. Now this is
quite important because for instance
imagine that you have an agent who is
your finance and this agent maybe has
access to your PayPal has access to your
stripe and stuff like that and you give
your finance agent the particular rules
that he's supposed to work with maybe
don't withdraw money from my account and
stuff like that. So finance agents knows
these rules but if another agent comes
in and does that particular thing and
the agent doesn't even know what the
rules that you give to finance is then
the agent can basically mess up your
setup and that is why I always have this
sort of role boundaries where every
agent understands what their particular
role is and then here orchestrator is
working on that as well for us and here
orchestrator is done as well all the
agents have their dedicated memory and
he also created dedicated folders for
all the agents and he also tested the
role boundaries for instance he asked
Vera, Vera, can you write a code for me?
And then Vera responded, hey, that is
Kite's department. And he also asked
Kite's ver research and kite responded
that is Atlas department. So that means
that the role boundaries are working.
Now in the next step, we're going to
create a project folder that is going to
host our project. And very important,
we're going to create the agents login
database system. Now, whenever the
agents are performing a task, we want
them to log whatever they do. So we're
going to build sort of an agent login
database. The idea here is that before
an agent sends you a message that, hey,
I'm done with this task. The agent is
going to log their name into the list,
they're going to log exactly a
description of what they did. They also
going to log the time stamp that they
did this and they're also going to write
the AI model that they use for that
particular task. And then we're going to
do this using what is called an SQL
lightsaber. We're going to build a small
database server on our server where the
agents are going to log all the
activities. For instance, when we come
to the dashboard I'm going to be
building. When you come to the agents
tab, you can see that we have this heat
map where we see when every agent was
active. And here for instance, the
agents also post the work that they did,
the most recent work that they did. So
this gives you full transparency of what
the agents are doing. So that if an
agent is stuck somewhere, then you know
that the agent for instance didn't
perform that task. And by the way, this
is the dashboard that we're going to be
building. And for that, I'm going to
give this prompt to orchestrator to
build this agent login database system
for us. So orchestrator is done with the
agent login database. And he also did a
smoke test where we can see dev built
the cadence store the AI model that he
used and the state that he's completed
and when he performed this task. Now
remember we have created a base but the
agents do not know. So currently it's
only orchestrator that knows that such a
database exists. So we're going to have
to roll this out to all the agents and
then we are telling the orchestrator hey
save this operating rule in your own
memory and then first distribute it to
Atlas Vera and all the other agents. And
this is the instruction that we are
giving to them. Before sending any
response, log what you did into the kid
into the cadence runs table by running
this command. So that's going to be the
command that you're going to run to
basically insert what they did into the
database. I'm going to copy this and I'm
going to send this to install this to
make sure that all the agents are aware
of the setup that we did. And after that
I'm also going to tell him hey have
every agent run a smoke test so that
they lock something into the database.
Now this would help us for us to know
that all the agents have access to this
database that we created. Now when the
agents are working sometimes you get a
prompt like this where you're going to
have to allow them to be able to run
some commands. In my case you can either
go with allow once allow only for this
particular session or you can also allow
this always so that they don't ask you
this every time and then that is also
done. So he also did a smoke test where
all the five agents that we have
performed the smoke test where they just
completed the AI model that they used
and the time that he performed and the
date and time that he performed this
task. Now we're going to move in to one
of the major parts. So currently you can
see that we are sending all our messages
in the orchestrator channel because so
far we've been working with orchestrator
but now we're going to move into the
aspect where we're going to start
building the dashboard and for that
we're not going to be using
orchestrator. We're going to have a
dedicated agent kite who is our designer
and our developer who is going to be
creating the dashboard for us because
he's going to be our developer. We're
also going to have a third channel which
we're going to call studio and that is
going to be the channel we're going to
use to brainstorm ideas on new content
to create and stuff like that. Now, by
default, the issue is that Telegram
doesn't allow you to use one bot token
to talk to several bots. So, with
Telegram, one bot, one token. So, if we
want to create another dedicated
Telegram channel where we're going to
talk to Kite, then we basically can't
use orchestrators B token. We have to
create a dedicated bot token for kite.
Now, there are workarounds around this
like I did in my earlier video where we
basically created a router plugin. So
what the router basically does is that
whenever you send a message in a channel
it first goes through that single B
token and the router determines hey this
is a message that is coming from
orchestrator's channel so let me send
this to orchestrator the same thing that
also happens for instance if you have an
agent that is called a message comes
from that scribe telegram channel then
it goes to your same bin and then the
router determines hey this is coming
from thread 4 because every channel has
their dedicated ID so with that ID the
router is able to determine where the
message is coming from and then it
routes it to that particular agent. Now,
this is quite useful if you have
different channels that you want to
create. But in our setup, we're going to
create only three channels. So, I'm
going to show you another workar around
because with every tutorial, I try to
bring in a new flavor so you guys can
learn also new things as well. So, what
we're going to do in this setup is that
we're going to create another bot token
exclusively for kites. So, that means
that every message that goes through
this particular gateway or this
particular telegram bot token would go
directly to kite. But then we have
another challenge. So by default
whenever you create channels in telegram
all the messages that we create in these
channels are going to go through one
bot. So which is now our case every
message is going to go through
orchestrator but which doesn't make
sense right we want orchestrator to only
listen in a particular channel and we
also want kite to only listen in the
channel that we'll create for him. So
what we're going to do is we're going to
tell orchestrator to build sort of a
plug-in where orchestrator would only
listen in the channels that are
dedicated to him. So orchestrator would
never listen in the channel that we
would create for Kite. And the same
thing also applies to Kite. Kite would
only listen to his channel that we'll
create for him. This would all make
sense soon. Trust me. Because this is
very very complex. I typically like to
brief the agents whenever we want to
create something complex for them to
know what is coming. So here I'm sending
this message to prep him on what we want
to do. So I'm telling Oka, hey, we're
going to build something together. The
goal is that kite by default is going to
build our studios dashboard and I want
to talk to this engineer directly in his
own group where he would have his own
bot and his own identity and then I'm
explaining to why we need a second bot
and you can also read this to understand
basically the reason why we need the
second bot. So I'm basically telling him
hey this is what we're going to build so
that can understand what we going to do.
Now, whilst orchestrator is working on
this, we're going to have to create a
second bot token for Kite because
remember that Kite would need his own
dedicated bot token. Orchestrator
responded that he understands the goal
is that Kite has his own Telegram
presence where we can speak to him
directly. But we first going to have to
create this bot for Kite. And to do so,
we're going to come back to our bot fer
that we used to create the first B that
we have forestrator. And we're going to
create a second bot. So, just type in
new bot just like we did for the first
time for orchestrator. And we're going
to call this bot km kite content. Let me
call this content kites. Right? And I'm
going to copy the username. We press
enter. And just like we did earlier, I'm
going to use the same name that I g. But
I'm just going to end with a bot because
every username with telegram for a bot
has to end with the name bot. And I'm
going to press enter. And then we get a
dedicated token for bot. Remember this
was the token that we had for
orchestrator. And we have now create a
dedicated token for kite. So we're going
to have to add this bottle for kites
also to our hemis setup. And to do that
I created this command for you here.
Come here. Copy this command here. Come
back into your terminal instance. Let me
clear the screen. Very important. Make
sure that you're not on root. You are on
Larry or the new user that you created
and just paste in this command. Now this
command is going to ask you to put in
the bot token. So I'm just going to run
the command here and then it's going to
tell you hey paste your kite token and
press enter. So I'm going to come back
to Telegram. I'm going to click here.
Make sure that you are copying the one
for kite. I'm going to click to copy
this. I'm going to minimize this. I'm
going to come back to the and I'm going
to right click to paste this in. And
then the key is pasted here. And after
that, I'm just going to press enter. And
this is going to save the keys into our
dashboard. So, let's go back into our
setup. And then let's go into our group.
And then I'm going to tell the I have
created this B token for Kite and I have
also added the B token myself in this
space here. So, I'm telling him to
verify that the token that I have added
exist and also to do a few sanity checks
to make sure that it would work for
Kite. I'm going to copy this and I'm
going to send this to orchestrator. And
also what is quite useful and what I
always recommend to you guys is that
whenever you're giving your agent a
complex tax that you're not sure if the
agents would be able to pull this off,
you can always give the agents reference
to the hemis. So for instance, if I'm
telling you, hey, if you are unsure,
please look into the hemis in this part
here so that the agents would basically
understand how he's supposed to build
this. Then I get this command approval
from orchestrator. I'm going to click on
always. And then orchestrator said, hey,
step one is completed. He's verified
that the token that we added exists and
he's also saying that hey the bot is
live. We can basically send stats to him
to directly message Kite. Now what we're
going to do now is that we're going to
create the channels that we need. So
we're going to create one channel for
Kite. We're going to create one channel
as well for studio which we're going to
use for the brainstorming before we even
bring Kite into that chat. So to do that
we're going to click on the three dots
here. You wouldn't see the option to
create a group. So we're going to come
back to all and then you're going to
click on the three dots here. Then
you're going to create a topic. Now
you're going to have to give the topic a
name. In our case, I'm going to call
this kite, right? And because kite is
going to be a developer, let me just
give him a laptop icon. And after that,
just click on create. Now, whenever you
are creating a new topic, before topic
can be activated, you're going to have
to send a message in that topic. For
this topic that we are creating, we're
going to need the thread ID for this
topic because it is with this ID that
orchestrator would bind this topic
exclusively to kite. So to kick off this
group, I'm just going to copy this
prompt here and I'm going to send this
immediately to orchestrate that hey,
what is this topic's thread ID? You can
send it any message. We could have sent
in hi just to create the channel and
then we could follow up with a message
like what is the topic thread of this
ID. I'm also going to show you that
other approach as well. Now kite is
created. We have the telegram topic ID.
We have the thread ID. Come back to all
and then here click on create topic. And
then we're going to create the next
topic which is going to be the studio.
Now remember the studio is where we're
going to be brainstorming ideas on new
content, promos, ideas and stuff like
that. So I'm going to call this idea
with this icon here and I'm going to
click on create and to trigger and
create this as well. I'm just going to
use a welcome message like hey what is
the topic ID of this group and then here
as well we're going to get a response.
Now remember we have created kites but
still it's orchestrator that we are
talking to because kite hasn't even been
added to this group yet. Right? So all
the messages that you are seeing here
the thread the response to the thread ID
for kite the response ID for studio all
of this is still coming from
orchestrator. So now we have the thread
ID. So we're going to send a message to
orchestrator that hey now we have the
thread ids. So we want you to wire our
telegram group. I'm going to give
orchestrator telegram group ID of our
current group. And I'm also going to
give him the thread ids of all the
channels. So he would have the thread ID
of where I'm talking to him. He would
have the thread ID for kite. He would
also have the thread ID for the studio
group. And then only with this he would
be able to bind the channels to the
particular agent. So for orchestrator
would have access to this channel that
we are talking to him and orchestrator
would also have access to the studio
channel because that is what we going to
he's the boss and basically we will be
brainstorming the ideas with him on the
studio channel but kite would only
listen in this channel and kite would
have no access to the orchestra channel
and also to the kite channel. I'm going
to open notepad and I'm going to paste
in this prompt because we're going to
change a few things in there. The first
thing that we're going to need is the
telegram group ID. Now to get your
telegram group ID. We're going to use
the same bot that we used to fetch our
telegram ID called user infobot. So when
this opens, click on forum down here and
select the group that you just created.
In my case, this is KM content. And then
when you click on this, just press send.
And then the bot will send you the ID of
the Telegram group. You can click on
here to copy this. And I'm just going to
replace this with this section here
called Telegram ID. In the next stage,
we're going to fill in the thread ID for
the three channels. And for that, I'm
going to come back into our Telegram
group. But in most of the cases, the
first channel that you create always has
a thread ID one. So most likely
orchestrator would reply that is one.
But just to be sure, let me just ask him
this as well. Okay, she responded that
his thread ID is one because that is
that was created. So I'm going to put in
one here. I'm going to go to kite. Kite
was 36. I'm going to put in 30 and I'm
going to come to studio and studio is
40. And then basically we're done. Only
these are the four parameters that
you're going to have to fill in in this
prompt. And after that, copy the
message. Very important. Don't do this
in studio or kite. do this in
orchestrator's channel and then paste
this message and send this message to
orchestrator to basically implement the
topic lane agents binding and he
orchestrator responds hey I've saved the
four lane members to memory and
completed the save part but there is an
issue that he's having he's not able to
run this command to restart the gateway
so he's telling us if we can run this
for him so I'm just going to copy the
command here I'm going to come back to
my terminal let me just clear the screen
to make it a bit cleaner and I'm going
to paste in this command here very very
important again make sure that if you
created a new user you are on the new
user not your root account and and press
enter. And then it happened as well when
I was testing this that you get this
response failed to connect to bus. So
just copy everything here and then come
to telegram and then tell okay I got
this error and just paste it. Oops, I
think I didn't copy it. Well, let me
come back into PowerShell control shift
C to copy this. I'm going to come back
to Telegram and I'm going to paste this.
And then he would basically correct this
and give me another command that I can
use to fix this issue. And I should have
found this. He says the error means your
shell didn't use a bus environment. So
he's basically giving me another command
to run. So I'm going to copy this and
I'm going to clear the screen again. I'm
going to paste in this new command. I'm
going to press enter. And then you see
that immediately I get a notification
that my gateway is restarting. So that
means that the command is so it took a
few seconds for everything to complete.
So just be a bit more patient when you
see this. So I'm going to copy this
here. Control shift C and I'm going to
send this orchestrator it worked out.
This is the message I got. So you see
that when I sent it to immediately
orchestrator, he didn't respond because
the gateway I think was still booting
all the agents. So sometimes when you
restart a gateway immediately it takes a
while for all the gateways for the
agents to get restarted. So when you
send this immediately and you do not see
a response just be a bit more patient.
And here just as a tip when you come
back into your terminal and you type in
hemis profile list and enter you would
see that now we have two gateways
running. Initially we only had the
default gateway that was running and the
gateway for dev was stopped. But now you
can see that we have another gateway
that we have built for kite which is
running. So what we're going to do now
is we're going to have to add kite into
this group that we have created. And to
do that we're going to come to botfather
click on the URL that he gave to us to
be able to fetch the ID for kite. Click
on the name and then we're going to
click to copy the of kite and then we're
going to come back into our group. I'm
going to go to all. I'm going to click
on the three dots here and go to view
group info. And then here I'm going to
click on manage and I'm going to come to
members down here and I'm going to click
on add members and I'm going to put in
the username of kitespot. And I'm going
to select this and I'm going to click on
add. And then now Kite is added to this
group. We also have to make Kite an
administrator for him to be able to work
here. Still on the all tab, I'm going to
click on the three dots. I'm going to
come to manage group. Then I'm going to
come to administrator and I'm going to
click on add administrator. I'm going to
add Kite there. Review the permissions.
If you're fine with that, just click on
save. And then we can close this. So now
we have added Kite to the group. So what
we're going to do now, we're going to
come into Kite's channel and we're going
to send a message like who are you? And
this is the part that always gets me
nervous because that is the point that
you see if the agent to channel binding
works. If everything works, we are
supposed to see a message from Kite that
I am Kite. So let's see if this is going
to work. Perfect. I'm a bit relieved. So
here Kite responded. I'm Kite Laris
Cadence designer and engineer. Now just
to make sure that the other parts are
working, I'm also going to send this to
orchestrator. And if this should respond
that he is orchestrator. So if Kite is
responding in the shadow, then we are
screwed up. Let me do the same thing for
studio just to be on the safe side that
we have the right agents behind these
channels. Great. So in orchestrator's
channel he still responded I'm
orchestrator which means that this is
working very well. Kite if you remember
also responded he is kite. And then now
when I go to studio orchestrator also
responded orchestrator is there. So that
means that the telegram channel to agent
binding work. Kite is never going to
listen in orchestrator's channel and
orchestrator would also not listen to
ka's channel and that's exactly what we
want. So now that we have all the core
aspects of the framework that we need
ready, her message agent is ready,
orchestrator is fully set up and kite
our developer is also set up, group is
ready, we can now start with the build
of the dashboard. Now with the entire
build of the dashboard, we're going to
be using Kite who is basically playing
the role of a designer and also our
developer. And before we even let Kite
start building the dashboard, we're
going to have to brief Kite on the whole
thing that we want to build from the
beginning to the end and a concept that
we have for what we're building. And for
that I'm going to give Kite this prompt
here as a briefing to know what we want
to do. So I just sent this to Kite and
in the process I'll be explaining to you
guys what I just sent to Kite. I'm
telling Kite, hey before we even write
any single line of code, here is the
whole picture of what we building. So
I'm telling Kite we're building a
premium content automation studio with a
beautiful web dashboard. I'm telling
Kite how the whole process is going to
work. So we're going to have Atlas who
is going to be our researcher. basically
go and propose some ideas and then we
will promote one as a user and then Vera
would write the content of the slides
and after this is done Kite who is also
our developer and our designer would fit
this content into one of the templates
that we would pick and then we would
render that template from an HTML
document into an image with about 10
1080 to 1350p and then Orin who is going
to be our publisher would publish this
to any network that we want to build
this on and I'm also telling Sky that
we're going to set this on a small
Python server which is going to be on
dashboard and also very important I'm
telling Kai that we're going to give him
or a template that we're going to be
working with and I want this template to
be the design source of truth because I
don't want him to change anything that
we're going to be putting in the
template and also a few things that I'm
giving him that I want to have a backup
protocol and also some principles of how
the whole build is going to be. So Kite
responded that hey understood here is
the plan in my own words. Candice is a
complete content automation studio with
a polished web dashboard as a control
interface and he's basically just
repeating all the things that we told
Kite in the sequence how the whole flow
is going to work. So Kite is basically
ready to fill in to build the dashboard
with us. So in the next stage we're
going to tell Kite to build the Python
back end on which this web dashboard is
going to be running on. I'm going to
give this prompt here to get that ready.
I'm telling Kai that hey we're going to
build this dashboard in a way that is
going to be very secured. So for the
first part we're going to be setting
this thing on what is called SSA
tunneling. So that means that whenever
you want to connect to the dashboard
you're going to use a command like SS
minus N minus L this port here and at
the end you're going to put in your
username and your IP address. But I'm
going to show you how this would work.
Now the reason why we are using this in
the first place is that the web
dashboard is not going to be available
to the public internet. It's only
someone who knows the password of your
VPS server that would be able to connect
to the dashboard. And that is why it
makes it so secured. But even after we
are done with the build, we're going to
be installing tails skill that will save
the dashboard for us. Now tail skill is
one of the most solid security setups
that we can use to get our dashboard
online. So for the first time, we're
going to use SSH tunneling to access the
dashboard. But when we are done, we're
going to be installing tail skill which
is going to host the whole thing for us.
And the best thing about tail skill is
that we would then be able to access the
dashboard on any PC that is running our
tail skill account or even on your
mobile phone. All right. So kite is
done. He set up the back end that we
used to run the dashboard and he also
gave us the SSH tunnel command that
we're going to use to access the
dashboard. So what we're going to have
to do is to just copy this command that
Kite has provided for us here. We're
going to go back into PowerShell and
then in PowerShell just put in this
command ssh minus L. This is the port
that we use to save the dashboard. This
is the security end and also this is the
your username which in my case I created
a new username if you remember called
Larry and this is the IP address of the
VPS server. Now here I'm going to put in
my password and then just press enter.
Now it's going to bring you to this
point here. It's going to be a ca just
blinking. That means that you are
connected to the back end of the VPS
server. So what we're going to do now is
we're going to open a browser and then
just as Kite gave to us, he says that we
should open this URL on our browser.
We're going to copy this URL here. We're
going to paste this in here and press
enter. And then you see that we are
connected to the dashboard. But because
we do not have anything there yet, that
is why we get this error response. But
in principle, we are connected to the
back end of the Python server. Now what
we're going to do is in the next thing
we're going to have to put something on
the dashboard for us to see basically
what we're building. And for that we're
going to tell Kite to create a web
upload page. Now in this web upload page
we're going to upload all the files that
is going to save the template of what we
want to build. I'm going to copy this
prompt to Kite and I'm going to send
this to Kite to build the upload point
where we can upload all the dashboard
stuffs that we need. And this would
contain the HTML template to the
dashboard and all the the slides that
we're going to be using when we building
these carousel slides. Whilst Kite is
building that, let me show you how the
template looks. So this is the empty
template that we're going to give to
Kite to upload on the dashboard for us.
So we see that we have the content tab
which is a bit populated. The idea tab
looks empty. The studio tab also looks
empty. Everything looks empty. But once
he's done, he's going to basically add
this to the back end and then we're
going to populate this dashboard
template as we build. All right. So Kite
is done. He's built the back end which
we're going to use to upload all the
files that he would need to build the
dashboard. And he gave us this URL here
for that. So I'm going to copy the URL.
I'm going to open the browser and I'm
going to paste in this URL. Hopefully,
we have a web upload upload dashboard.
Okay, so this is working quite well. So,
he built the cadence upload back end and
he's telling us that he expects four
files. So, the template, so the HTML
templates and three JSON files which are
going to be the templates of the
carousel slides and for the reuse. So, I
uploaded all the four files that are
required and also this is confirmed on
the dashboard that these four files are
saved. So the next point what I'm going
to tell Kite is that hey I have uploaded
all the four files that are required to
build the templates to build the
dashboard. So I want him to serve these
files on the Python temp so that we can
actually see that this is working. So
what we're basically telling Kite in
this prompt is that the file that we
upload the template is called cadence
dashboard template.html but I want him
to rename this to index.html into the
dedicated folder that we have created
for the dashboard that we're going to be
building. And also very very important
at least in my case if you want to
change the templates then you don't need
to give Kite this instruction but what
I'm telling Kite is that hey this is
going to be the design source of truth.
So whenever he's building anything he
should always check for the template to
make sure that he hasn't made any design
changes to the temp so that whatever
he's going to be building is going to be
identical to what we have in the
templates. on telling him that hey the
template contains basically mock values
like hardcoded stuff so that nothing
basically looks empty but those numbers
that we have on the templates are going
to be replaced with real metrics once we
start building the dashboard and this
one of the nice things not that I like
about Hermes so what you can see here
for instance is that he's done with
basically the work that we give to him
and you can see that he's using an
inbuilt browser to check to see if
everything that is there is correct so
he's clicking and taking browser
snapshots he's clicking different
sections and taking snapshots of that
aspect just to be sure that whatever he
did is identical to what is in the
template. And this is one of the main
reasons why I really like working with
Hemis because I build dashboards a lot.
And if the agents or Hemis allows the
agent to be able to work with a headless
browser to be able to see what it's
building, this is really cool. All
right. So Kite says he's done. He says
the template is logged in but is
partially complete because there's one
file that is missing. So when I look
here, he says that he didn't find the
templates packed because it's false
zero. Let me see why this is the case.
So it could be that our upload didn't
work. So he's saying that we should
re-upload this file through the upload
point. So I'm going to put in this here
again and I'm going to re-upload the
templates pack. So I'm going to tell
Kite I have re-upload templates
pack.json. Can you confirm? Perfect. So
it appears that something happened the
first time that I uploaded this. So he
says that yes, he can see it now. He
checked the file and all the uploaded
source files are now present in the
folder that we require them to be which
is perfect. So now let's go to the
dashboard and see if the dashboard is
actually rendering on the Python ser. So
to do that we're going to use local host
col8892.
The 8892 is the part of the server and
the local host is basically the local
area on our server that we're going to
use to access the dashboard. And then
when I open this hopefully beautiful. So
you can see that now we have the
dashboard loaded just as we had in the
template. So let me open the template
for us to do a one is to one copy. This
what we had in the template and this is
what is being saved on our dashboard. So
all the pages are identical to what we
had in the template. So kite is doing a
pretty good job. Now, in the next stage,
we're going to, this is one of the
things that I always recommend when
you're building stuffs with the agents.
Let the agents always create a copy of
the dashboard before they make any
changes. I always say this in every
video that I worked on the dashboard for
several days and my agent just made a
mistake and basically I lost everything.
And that is why it's very important that
you tell your agent that, hey, before
you make any changes to the dashboard,
please create a copy of the dashboard
and save it somewhere. And also on the
dashboard, we have this section here
that is the version number. And I want
him to update a version number anytime
he makes a change to the dashboard. So
I'm going to copy this prompt and I'm
going to send it to Kite to implement
this and Kite is done with that as well.
So when we come to the dashboard and we
reload the template. So we should now
see that he has changed. So we used to
have editorial. Let me open the template
for you to see what this looked like
before. So in the template in this
bottom section here we used to have
version 0.1 editorial and you can see
that now this is updated in our version
to version 0.1 which means that kite is
going to keep the version update always
updated as we move on. So currently
we're going to start with the build. So
all the parameters that you see here in
the content tab are basically hardcoded
from the template that I built and also
the all the stuffs that we have in the
agents tab, the heat map, everything is
hardcoded. So we're going to tell Kite,
we're going to give Kite a prompt to
basically update the dashboard metrics
that we have here and also the agents
tab so that we have real data, real data
from our hemis setup that we have but
not from the hardcoded stuff that we
have in the template. And I'm telling
him that hey when you are done confirm
that both tabs show the real data and
the heat map matches the run table. Now
for the heat map all the information is
going to be pulled from the agents login
database that we built. If you remember
we built something where every agent is
going to log the activity whenever they
do something whenever they perform any
action. All right. So Kite is done with
that as well. Let's look at what Kite
built. Let's reload the dashboard. So
here you can see that he's now pulling
the real metrics from our data agent
database that we built. So you can see
that now kite is trying to pull the real
metrics from the agents login database.
So you can see that currently in the
agent workload because none of the
agents have done something today that is
why everything stays at zero for atlas
vera and origin and kite is the only one
that'll be working with today. So kite
is basically at 100%. And the same thing
when you come to the agent database you
can see that everything is almost zero
for all the agents because they haven't
done anything today. So I'm recording
today on the second day. So basically I
would expect that there would be some
metrics from the previous day. So I'm
going to tell Kai that hey it appears
that the metrics that are being pulled
are only being pulled from today but
there should be some activity from the
agents the previous day. So he should
make sure that the dashboard doesn't
only reflect today but basically
reflects all the data that we have in
the agent login database. So I'm telling
Kite hey this looks awesome. Thanks.
However it appears that the agent
metrics being displayed are only from
today. I do not see any data for
instance from yesterday. even though the
database should contain this. So he
should basically investigate and see
what is wrong and make sure that we are
serving all the data that is currently
in our agent login database. All right.
So Kai says he's done. It appears there
was an issue. So he says that the real
problem was there was this issue with
the test server Python server that was
basically deleting stuff from the
production database. So he basically
fixed this as well. So he says that the
fixes are made. The test no longer touch
the production database and he's
basically put in some metrics some
implementations to make sure that this
does not happen. But what I would like
Kai to do here before we even proceed
further, I want to be sure that this
problem is fixed. I'm going to tell Kai
that hey perform a quick end to end
smoke test to all the agent trigger a
few test activities and verify that the
resulting data are saved in the database
and also correctly reflected on the
dashboard. If there is anything that is
not there, he should fix it as well
because the agent login database is
going to be an integral part of what we
are going to be building. And that is
why I want to be thousand% sure that the
agents are logging and also that all the
things that they do also reflect here on
the dashboard. And by the way, all these
deep prompts that I'm adding, I'm going
to make these available to you. So that
should you have the same situation, you
can just copy paste the prompt and give
it to the agents or Kite to fix this for
you. All right. So Kite says he's done
with the smoke test. He repeated this
across all the agents. And currently you
can see that all the agents completed.
When we come back to the dashboard, you
can see that now we don't have the 00
that we had. We basically have metrics
from all the agents that is being pulled
correctly from the agent login database.
And the same thing also applies to the
heat map. And when we come to the
dashboard, we also see that the agents
total runs are also correct. There is
one more thing that is not correct here
which has to do with the agent workload
distribution. This would always have to
sum up to 100 so that we can always see
which agent has the most workload. I'm
also going to tell Kite to fix this and
after that we can continue with the
build. And for that I'm telling Kite,
hey on the dashboard homepage, the agent
workload share distribution does not
make sense. So basically I'm telling him
that everything should add up to 100%
but currently everything adds up to 350.
The idea is that whenever I look at this
I'm supposed to see which agent has been
more active. So he should basically
correct this for us as well. And Kite
has done with that as well. So basically
now when I look on the dashboard you can
see that the distribution now makes
sense. It all adds up to 100% and I can
see clearly that Kite is the most active
agent because he is the one building the
dashboard anyway. So now the agent login
database is working correctly. all the
metrics that have been put on the agent
tab are also making sense so we can
start with the build of the other
components of the dashboard. I'm going
to explain the concept of what all the
prompts are going to do and I'm going to
put in all these prompts in one go so
that you don't have to sit and watch me
put in one after the other. Now in the
next prompt we're going to build an
exporter and let me explain why we need
this. So initially, previously whenever
you wanted to build a carousel image
like a slide or something like that, you
always had to design everything in a
photo editor, right? And then save it,
export it as a picture and then you had
your carousel image. But the trick what
we're going to be using here is we're
going to render every slide. We're going
to build every slide as an HTML. Now, if
you build a slide as an image, you pay
for every image that you generate. So if
you want to change any text in the
image, then it means that you always
have to pay for API calls, which makes
it not fun anymore to work on slides.
So, we're going to build this in a
smarter way. What we're going to do is
we're going to build every carousel as
an HTML file. Now, because it's going to
be an HTML file, it will be very easy
for us to edit any text that we want to
edit. And let me just go into my setup
just to explain for you guys to get a
concept of how we're going to build a
slice. So, let me take this one here for
instance. Everything that you are seeing
here looks like an image, but it's
basically not an image. It's an HTML
document that is rendering the file like
this. So whenever I want to export this
as an image then I'm going to deploy
what is called a headless browser. So a
headless browser doesn't need a desktop
to run. It's basically going to render
this file here which is basically an
HTML file and then take a snapshot of
what it sees. So eventually all the
things here that we are seeing which is
rendered as a code would be then
exported as a JPEG and then with that
you can upload this to Instagram, Tik
Tok or whatever wherever you want to
build this on. Now the reason why we do
it in this smart way is that originally
whenever you want to build any carousel
slide you have to use an image
generator. Maybe you can use nano banana
or all the AI models that are out there
to generate images. But when you even
want to change one text then you have to
tell the AI model again hey I want to
change the text. Maybe for instance I
want to change this from most people to
most users and I have to tell my a model
again hey I want to change the text from
most people to most users. And then you
pay for every edit that you do which is
probably not the smartest way. So how I
build this and what most users are using
is that you build the whole slide as an
HTML file. And by so doing when you can
change everything that you want to do in
the file without having to regenerate
the prompts or regenerate some API keys.
So here for instance this is what our
dashboard is also going to do. When I
click on fine-tune and I pick this
element I can just change the text here
from people to most builders, right? And
you see that it does I can save and
rerender and then I have my new slide
without me having to do any API call.
the same thing. I can change all the
contents. This is why I really like what
we're building here. I can change the
layout. I can move every content here,
change the size, put it in every format
that I want to do it without me having
to pay for any API calls. So, what we
build, we're building every carousel
slide as an HTML file and then when we
are ready, we deploy a headless browser
that looks at that HTML file we have
created and creates a snapshot of as a
picture that we can then upload to more
any social media platform. So we
avoiding the aspect of complicating the
whole carousel image design where you
have to make an API call for every edit
and pay for every edit. We are rendering
everything as an HTML file that will be
completely edited. Quite crazy the
things that you can do with standard
HTML. Like you see here all these
templates that you are seeing here, none
of it is a picture. Everything is built
with standls
that someone might not even believe you
that this built with HTML. So basically
with this prompt here, what the prompt
is doing is that we're going to build
this setup of this headless browser that
would render whatever that we build from
an HTML file into an image that can be
uploaded on any social media platform
that we have. So we are not building
images straight ahead. We build an HTML
file which contains the structure that
we want. Then once we are satisfied with
it, we export it into an image. And for
this we are using a headless browser
that is called Chromium. And by default,
most of the Hemis setups come with
Chromium. So we might not even need to
install this on our own. We can just
leverage what Hemis already has and then
use it to build what we want to build.
If you remember when we were building
the dashboard, there was a aspect that I
told you that the agents were basically.
So here for instance, you can see that
Kite was rendering a browser where he
was going to the dashboard and making
sure that everything was working. That
is the same concept I'm going to use.
We're going to let the designer in this
case as well is going to be Kite use the
same headless browser. But right now
he's not going to use it to check the
dashboard, but he's going to use it lots
of what the HTML file contains. It makes
it so easy to be able to build slides
without having to pay for API calls
every time. And Kite is done with that
as well. He did a smoke test and he
verified that the images were indeed
being rendered from the browser into for
instance here a PNG file. Now in the
next stage we're going to build all the
things that are going to run from the
back end. So I'm going to explain all
these backend prompts and then I'm going
to give these to kites but I'm going to
explain all these prompts to the point
where we get to a prompt that would
trigger a front-end design. So when you
are using the prompt everything that I
say backend back end I try to add this
so that you can see what to expect. If
it's a backend prompt then it wouldn't
show anything on the dashboard. It's
basically building the foundation on
which we would build to show something
on the dashboard. When we get to the
aspect here where I write design then it
means that what you going to do is going
to show a design. But if I get to an
aspect where I realize that it's quite
useful to explain I'm going to explain
this to you guys as well so that you can
also understand what these prompts look
like. And in every case I always include
sort of a description to basically
explain what the prompt is going to do
and what you should expect. So now we
are done with the exporter prompt. The
next prompt is going to be the template
packs auto fit. Now whenever we are
generating an idea, let me use my setup
to give you a concept of what I'm doing.
So when I click on generate ideas, let's
see. I already have some ideas that are
already generated here. So let's look at
for instance building a one person AI
operation team. Now when I like this
idea and I click on promote basically I
can decide on the number of slides that
I want to generate. So let's say for
instance I want to generate six slides
and I say write slides. What is going to
happen is that Vera who is going to be
our right is going to write the slides
for the carousel or the content or the
text for the carousel that we want to
generate. Now like I said all these
things that Vera is going to give to us
is just going to be raw text but we have
to be able to insert these text into the
template. This prompt that we're going
to build here is going to build that
part where it's going to take the
content that has been generated by Vera
and insert it into the HTML template
that we have. So all the templates that
you see here like I said these are
basically HTML templates. So for
instance when I look at this example
here you can see that some of it have
longer word characters than some. So
this one for instance has longer
characters. This has a different layout
and stuff like that. So then what is
going to happen is that the back end
that we're going to build is going to
look at a template that you select and
then adapt the text that Vera generated
here to fit that template. And this is
what I call the auto fit feature. And
for this to work, we have to build a
render engine that is going to look at
the content that Vera generated look at
a destination template. So here for
instance, if I say that, hey, I like
this content. When I come to approve and
pick templates, then it ask me which of
the templates I want to use. So whenever
I select the template that I want to
use, then the back end that we're going
to build here is going to look at the
template that we selected, look at the
number of words and characters that are
in there and then adapt the text that
Vera generated to fit that template. Now
imagine that if the words that Vera
generated are way longer than what the
template can fit, then the carousel just
becomes ugly and that is why we build
this render take care of that for us and
after that we're going to build a
pipeline to talk to the crew. So
currently whenever I'm talking to the
crew right I'm chatting with Kite able
to chat with Vera I'm not able to chat
to our publisher but we want to be able
to chat with them from the dashboard and
by chat what I mean is that when I come
to the idea tab and I click on generate
idea this sends a message to Atlas who
is our research look for ideas of what
we can build. I'm talking to Atlas
through a code where I send a trigger to
Atlas that hey generate some ideas and
the same thing applies for all the other
agents. Whenever we want to publish
something we're not going to come to
Telegram and tell them to publish. We
want to push a button the dashboard that
is going to trigger the agent to publish
the content. And these are the things
that prompt 17 is going to do. It's
going to build an interface where
whenever we click a button on the
dashboard, it sends and triggers an
agent to do that particular task for us.
And then we're going to have prompt 18.
Prompt 18 is going to be exclusively for
Atlas who is our ideas guy and our
researcher. And I'm basically just
telling Atlas how I want the carousels
to be designed. So here, these are just
examples of what I put in. I'm telling
Atlas that hey whenever you're writing
the carousel slides I want to have this
written in plain simple language short
words short sentences no hype no buzz
words and stuff like that. So this
prompt is basically giving Atlas an
orientation of how we want the content
and also Vera who is our content writer
how we want the content of the slides to
look like. And here we're also giving
them an orientation on how he's
generating an idea. He should generate
four ideas and basically an orientation
on how we want the whole carousel slides
to look like. And then we're going to
have this last prompt here which is
going to be basically for our publisher
whenever we want to publish. So for
instance when we come to the dashboard
and I come to my studio tab for instance
if I want to publish something here I'm
just going to click on post and then
this can be published directly to
Instagram to Tik Tok or wherever you
want to apply this to. But for that as
well we need to build a backend and that
is what this prompt is going to do. This
prompt is going to build a backend so
that whenever we trigger an upload then
the upload can be pushed directly to
whatever social media platform that we
want to push this in. So I'm going to
render all these prompts. The first
prompt being the one that is going to
take the text that has been generated
and adapt it to the template. The next
prompt which is going to be taking care
of that we can use all the buttons on
our dashboard to trigger an action to
the agent. The prompt 18 which is going
to take care of how we want our ideas to
be generated. The number of ideas that
we want to be generated, how we want the
cast, how we want the carousel slides,
the content to look like. And we would
also have the last prompt that is going
to take care of publishing to the server
or the social media platform that we
want to publish this to. So I'm going to
run all these prompts. If I get any
backs, I'm going to pause and I'm going
to explain this to you so that you guys
can also follow what we would do there.
Right. So Kite is done with processing
all those prompts as well. Like I said,
I didn't have to respond to anything. I
just copy pasted all the prompts to Kite
and he processed all the back end. Now
in the next stage, we're going to grab
some API keys and I'm going to explain
every API key and why we need that. The
first API key that we're going to search
is for publicity. So perplexity is one
of the AI models that you can use that
is very very strong in research. So I
added this feature so that when you are
writing a carousel and you want the
agents to really use recent data then
for instance you can use perplexity as a
research model where Atlas is going to
query perplexity to do the research
before the contents of the slides have
been written. Just to give you an
example of where we would need this. For
instance, when I come to my dashboard
and I click on generate ideas, you see
that I have a couple of ideas that have
been generated for me. So for instance,
let's go for the builder AI automation
map. Now when I want to promote this
article or when I want to promote this
idea into slides, I do have this option
where I take research with publicity. If
you take research with publicity, then
the agent will query publicity as a
research tool to gather this information
on this new idea. If you do not take
this article, then the agent will just
do a standard web search to get ideas
for this content or probably what the
agent is also already trained on. But if
you want really research based content,
then you can toggle this research
perplexity and then the agents will
basically do a researchbased content for
the article or for the idea that you
want to create. So that's going to be
the first key that we're going to get.
Now to get this, you can come to
console.plexity.ai.
I'm also going to provide a link to this
in the description section. Then when
you're here, just create an account or
login if you already have one. And then
when you are logged in into the console,
you do not have to do much here. You can
just come to the left section here and
click on API keys. And then under API
keys, just come to the top right section
here, click on generate API key. And you
can put in web key you want to go with.
For this tutorial, I'm going to call
this comp mechanic tutorial test and
then just click on create a key. And
after that, you see that an API key
would be generated for you. So just copy
this API key, save it in the safe space,
and we're going to use this API key. The
next stage we're going to get an API key
from imageB. But let me explain to you
why we need this. So what we want to do
with our setup is that we have our
cadence and we want to push images from
here to Instagram for an example. Right?
The issue is that if we want to push our
slides directly from cadence to we need
to get Instagram API key. If you want to
do this for Tik Tok, you need to build
your own Tik Tok flow. If you want to do
this for Facebook, you have to create
your own keys, your own flow and stuff
like that. And this is very very
complex, right? We're going to spend
more time building those connections
than basically focusing on the dashboard
that we want to create. So what we're
going to do is that there are some
platforms like buffer or metrical. And
what these platforms do is they have
access to all the social media platforms
and they have worked on all those
backends for you. So all we would have
to do is to push our slides through a
platform like metricle or buffer and
they would push the slides to the social
media platforms that we want to go to.
There is one c however that at least
from my testing buffer doesn't allow us
to push our images directly to that
platform. So what we're going to need is
an intermediate storage where the images
that we generate will be pushed to and
then from there the images would go to
buffer and for that we're going to need
a platform called image BB. Now this BB
is free. So what is going to happen is
that whenever you push an image or
whenever you push a story or a carousel
from our cadence this would be first be
pushed to BB and then from image they
would go to Instagram. Now, it looks
complicated from the setup that I'm
explaining to you, but we're going to
wire this in. And when you click on
post, like for instance, when I come to
my dashboard here and I click on post
and I choose, for instance, I want to
post to Instagram. This is going to
happen. All this transfer is going to
happen automatically. So, you do not
have to go here, push from here to here,
push from here to here. We're going to
wire in all those connections. And to do
that, we're going to come to image.b.
It's completely free. So, you can just
create an free account. And then once
you create the account, come to the left
section here and click on API. And this
brings you to the API page. When you are
here, just click on add API key. Create
an API key, store the API key, and then
we can proceed to the next API key that
we will need. Now, the next API key that
we will need is the platform that is
going to push our slides to the social
media platform that we want to go to.
Now, here there are several platforms
that are out there. As an example, we
have Buffer who can do this for us. And
we also have Metro who can also do this
for us. Both of them work. I know that a
lot of people use metrical because they
have a very very powerful dashboard that
they use. But from my testing, I
realized that for you to be able to push
our slides from Cadence OS to
Instagram or Tik Tok, if you want to use
metrical, then we have to go for a
higher payment plan. It's only the
advanced option where you're going to
pay 43 in my case a month that would
come with the metrical API. So this was
quite expensive for me because in my
case if you really need metric code to
work with kers then you would have to go
with advance where you pay dollars a
month a month to be able to get access
to their API. Remember an AP is an
interface that would allow us to be able
to communicate with the platform. And in
my case I had just two social media
accounts that I was using to test. So I
didn't want to pay €43 a month just for
two social media platforms. But
advantage with metricle is that you can
go for instance with their starter plan
where you would pay $16 a month and then
you can add so many social media
platforms without having to increase
your pricing. So for instance if you
have four social media platforms Tik
Tok, Facebook, LinkedIn etc. you would
still be paying $16 a month which I find
pretty cool and I'm going to show you
when I would go with metric. We have
another platform that is called buffer
and that is what I used in what we are
building with hidden. Advantage with
buffer is that they would allow us to be
able to use their API assets even with a
standard plan. And I think in my case I
went with the five plan which is
essential right? So even with this you
have access to three API keys and you
would be able to use this but with
metrical you can only get access to the
API key if you have the dollar plan. But
the caveat with Buffer is that every
social media platform that you add you
pay an extra $5. So if you have Tik Tok,
Facebook, Instagram it becomes $15. If
you add LinkedIn it becomes $20 and so
it can get a bit expensive. So in that
case, if you don't really care about
pushing directly from cadence to the
social media platform, I also did add an
option on the dashboard where you can
basically download all the slides. Let
me do an example here for you. When I
click on slides, you can see that the
slides are downloaded here. When I click
on this, you see that I have all the
slides downloaded here. Let me go to
thumbnails and you can see that I have
all the images. And what I also added
for you is that you can click on caption
where you're going to see the caption
that is going to be required for you to
post. and then you can post this
yourself and in that case then probably
metrical would be a best option because
they do have for instance for the $16
plan you would be able to add more
social media you can see here up to 10
brands which makes it very cool but if
you really want to leverage the push
from cadence directly to your social
media platform then buffer might be a
cheaper option I'm just trying to
explain how you can decide on which are
the platforms that you want to go for so
for this example we're going to be going
with Buffer because like I said I had
only two social media accounts and I
didn't want to pay €43 here for my
testing so you can just create an
account with whatever platform that you
want to go for and then just loging into
your account. Once you're logged in into
your buffer dashboard, just come to the
bottom section here where you have my
organization and click on API and then
here click on new key and then you can
create an API key. Now with these three
API keys from perplexity, imageb and
buffer, we would be able to wire this
into cadence and continue with the
build. Now with these API keys that we
have gathered, we have to store these
API keys to our server. And to do that,
we're going to come back to PowerShell.
I'm going to log in back into the
terminal. come back into the and I'm
going to paste in this command. Now this
command is going to ask us for all the
API keys and these are going to be
secretly stored into the you can in
principle just give kite directly into
the API keys but this is not a
recommended approach because if gets
compromised then someone has access to
your API keys and that is why whenever
I'm adding API keys or secrets I prefer
to do it from the rather than directly
giving it to kite or telegram. So just
press enter and then it's going to ask
you for your buffer access token. So
here I'm going to paste in my buffer
key. Paste this in. And after that just
press enter. And then it's going to ask
you if your image BB API key. I'm going
to copy this as well. I'm going to paste
this in. Press enter. And then the last
one you're going to be asked for your
perplexity. Oops. I realized that I made
a mistake. So the first one that I put
in wasn't for buffer. It was for
perplexity. So I'm going to cancel this
and I'm going to run this again. I hope
it doesn't get messed up. I'm going to
tell Kite in the process that I made a
mistake. I'm going to recall the same
command that I used. I'm going to press
enter and then I'm going to copy the
right buffer key. Then I'm going to copy
the image PV. Then I'm going to copy the
Plexity API key. I'm going to paste this
in. And then you can see that all the
characters are saved and we get a
notification that all done. So what I'm
going to do now is I'm going to come to
Kite and I'm going to tell Kite that
hey, we've stored these three API keys.
He should do a smoke test to make sure
that all the keys are working. So I'm
going to copy this and I'm going to give
to Kite. But because I made a mistake
and did it twice, I'm going to send him
a I'm going to write I did make a
mistake and added it twice so you can
ignore this entry. Then I'm going to
tell him to do a smoke test. I hope that
the first mistake that I did, he would
be able to just rectify it and see that
all the keys are working. Hey, if you're
finding value in this content that I'm
creating, hit the subscribe button,
subscribe to my channel, and hit the
like button for YouTube algorithm to
keep pushing this video to other people
that will be out there. It doesn't cost
you anything, but it really does support
my channel's growth. A lot of work goes
into crafting all these tutorials,
creating that, creating the prompt, and
that is why I'm not even able to upload
a video every week because I test
everything about 20 times before I push
it out there. And that is why I have to
upload videos on a bi-weekly schedule
because a lot of work goes into crafting
all these things. And kite is done as
well. So he did a smoke test. He
verified that buffer works, imageb
works, and perplexity works. All right.
In the next stage, we're going to put in
prompt 20. Prompt 20 is basically going
to give us a trigger where we can
publish an idea, create an idea, render
a content, render a carousel and stuff
like that. So just copy this prompt here
and we're going to give this as well to
Kite. All right. And Kite is done with
that as well. Now the next three prompts
are basically going to be the design
prompts. This is going to wire the ideas
tab, the promotes tab, and also the
studio tab. And after that, we're going
to basically test the whole thing. So
now we have this idea tab that has
nothing there. We have the studio tab
that has nothing there. We have the
publish tab that also has nothing there.
And also the templates tab. So what
we're going to do is we're going to give
Kite these prompts to wire those up. And
after that, we can test some functions
so that you guys can see what we are
building. So I'm going to give all these
prompts to Kite sequentially and then we
can go to see the test. All right. So
Kite is done with processing all those
prompts. Now, I know we've been building
for some time now. Now, let's see a real
demo of the end to end to make sure that
everything is working. So, I'm going to
come back to the dashboard and I'm going
to reload the dashboard and then let's
go to the ideas tab. Now, I see that
Kite did a smoke test where he tested
one agent tonight before you trusted.
So, he just did a smoke test to make
sure that the ideas are working. Now,
let's click on generate ideas to see if
the end to end flow with Atlas doing the
research, giving us some ideas is going
to work. So, I see a notification that
he's doing the research. Let's wait till
the results come out. And this worked
very well. So you can see that we have
four ideas that was generated by Atlas.
Browser agents should verify, not just
click. Your agent needs a sandbox before
it needs more tokens. Now let's say that
we want to promote one of these ideas.
So let's go with stop giving agents your
whole app. And let's click on promote.
And then here, let's say we want to
generate 10 carousel slides. And I'm
going to say research perlexity. And
then here perplexity is enabled because
we want to research perplexity is
enabled just to make sure that we test
that the API key is working. And I also
added this option here steroid mode. Now
this is going to create more of like a
power sort of words for the carousel
slides. So let's just enable those two
as well. And then let's go to write 10
slides. And then this is working. So
Vera is triggered. Vera is the agent
that does the writing of the content. So
he's basically reading the idea and
doing the research to make sure that
everything is working. Doing the
research to make sure that she got us
all the information that we need to
write that content. All right. And Vera
created the content. So you can see here
that we have all the 10 slides
generated. We have the cover text which
says your agent is not dump your packet
is bloated and then it basically writes
all the content that would be on every
slide that we have. Now let's say we
want to approve this and we want to
promote this into a template. So let's
click on approve and then let's pick a
template in the next stage. Now here
we're going to be generating an
Instagram carousel. So we need a 4 is
to5 aspect ratio. Let's say just for
this example I'm going to go with this
purple one that we have here. I'm going
to select that and I'm going to click
fit copy to this. Now what is going to
happen is that Vera is going to check if
the content the text that she generated
fits the number of characters that are
in that template because if the words
are way more than what the template can
fit then the whole design gets ugly. So
what Vera is going to do is Vera is
going to read all the hardcoded text
that are in the template and try to
adapt and fit the content that she
generated to that particular template
and Vera basically readapted the content
that she generated to fit the template
that we have. So because the template
that we chose has less words in the
cover, she just rewrote the package into
agent. Okay, package fat and then
basically wrote all the content that
would be on the slide. Now I'm going to
click on render now to push this into
the studio tab so that we would see how
this would look on the template that we
selected. Now you see a notification
open in studio. Now we can click open in
studio here and this would open the
slide that we just generated in studio.
Now let's click on this and you can see
that just as Barard wrote agent okay
packet fat packet fat bad agent run
starts with too much context whole
ripple noise guesses and then when you
click on this you can see all the text
that was generated so assuming maybe we
don't want to go with this text here for
the cover we want to just fine-tune you
can click on fine-tune the slide here
and this would basically load the slide
here and when we click on this here just
for an example I can write agents not
the problem packet fat and then you can
also move the slides up and down however
you want to have them right this is all
possible in the fine tune tab so I'm
going to close this I'm going to discard
the changes and then let's say we want
to push this to Instagram and this is
the part that makes me nervous and for
that I created a dummy Instagram account
called content vibe so that when we push
directly from our this would come
hopefully it would go through buffer and
then this would come to this Instagram
account open the package again let me
click on and then here by the way you
can come here and you can always change
the template whenever you want to pick a
different template you can pick whatever
template that you want and then cadence
would basically rewrite the content to
fit that template. Now, let me come
here. Let me click on post now. And then
here, because I've configured only
Instagram, it's only going to show
Instagram. I'm going to click on
Instagram only. And it's going to warn
me and I'm going to get notification.
Hey, are you sure you want to post this?
I'm going to say yes, post now. And then
this is going to be pushed to buffer.
And hopefully, if the end to end stream
works, we should see the post coming
directly to Instagram. And we get
notification that this has been pushed
to buffer. Let's click on okay. And this
gets put from the studio tab into the
publish tab. Once this is pushed to
buffer. Now let's go to Instagram and
see if we'll see this post. I'm going to
come to my Instagram and hey you see
this it posted directly to Instagram. So
you can see this exact post that we had
and generated in our cadence which is
the first post that I've tested with
this account. And then you can see that
all the text came just as we rendered
them on the cadence website. And then
here as well we have the text that was
generated also by the AI for the
description section. So this is working
very well. Now when I come back to the
studio tab and I go to the published I
should see oh so this is not working. So
it renders that we have one all but I do
not see the slide that was generated. So
I'm telling kite hey the publish tab is
not displaying any published content. I
can see a count of one which indicates
that the item exists but the page itself
is completely empty. So that kite should
fix this for us and hopefully after that
we should see the content popping up
here. Now two more things that we're
going to do. I'm going to be show you
how that tab would work like on the
configuration tab. You would have the
opportunity to be able to always edit
your brand name, edit your handle, write
a bit about what content you are
creating so that the agents would always
read this to find ideas and to generate
your content for you. And then you can
also select the number of generation
defaults that you want to have. And for
that, we're going to give Cadence this
prompt here to wire the configuration
tab. But I'm going to wait till he's
done with the back that we have on the
publish tab. And after that, we can go
into the configuration tab and wire this
in as well. And then also whilst we are
here we also do have the calendar tab
where whenever you schedule a post maybe
you don't want to publish immediately
you want to schedule this as a
particular date when you come into your
calendar you would also see the number
of posts that you have scheduled. So
here for instance you can see that the
post that we posted today 24th of July
this is already showing up in the
calendar tab. All right so kite is done
with that. Let's reload the dashboard.
Then let's come to the publish tab.
Perfect. And now you see that the post
that was published is already here. Now
the next two things that we're going to
work on like I said is a configuration
tab where you can basically alter the
configurations here and the agent would
pick the new updates that you have and
for that I'm going to send kite to this
prompt to wire in the configuration tab.
All right. So that means that when we
come to the configuration put up, let me
reload this. You can basically change
your brand name, the handle, the number
of slides that you want to default with,
if you want to have perlexity by
default. For instance, when I toggle
this off and I save the configuration
and I'm generating an idea, it wouldn't
use publicity toggle on as a default.
And after that, we're basically done
with the main aspect of the build. I do
have some other prompts that I'm giving
to you as optional things that you can
add to your setup to make it even more
powerful. Now what we're going to build
now is going to be the telegram remote
control. So if you remember we do have
this studio tab that we created which
ideally we want to also use to be able
to generate ideas without us having to
come to the dashboard. Now the idea here
is that whenever you want to create an
idea you can just come to the studio tab
here in telegram generate an idea
promoted and stuff like that. So for
that we're going to give kite as prompt
here to set up the telegram remote
control. All right so kite says he's
done he built and verified the telegram
remote so far as he could. He also said
that he did a smoke test. So let's come
to the studio tab and then we can see
that he did a test where we can see the
things that he triggered on the studio
tab. Now he did mention something that
he couldn't run. Let me scroll down to
the bottom. He said that he's he has a
blocker. So he wasn't able to restart
the hermits gateway himself. So he's
telling us from a separate shell on the
machine we should run this and then we
should just tell him that it's
restarted. So let me copy this. Let me
come to PowerShell. Let me clear the
screen here. Then let me paste in this.
Let me connect to the server again. Then
let me run the command he gave to us.
All right. So this gateway has
restarted. So, I'm going to wait a bit
for the gateway to completely boot. And
after that, I'm going to send a message
to Kite restarted. So, I'm going to now
send Kite a message restarted. And then
hopefully he should be able to continue
with what he was doing. All right. And
he says that he's done. So, basically,
everything is wired in. Now, let's go to
the studio tab and let's write something
like let's forward slash let's run idea.
Now, let me check what the slash command
was. I don't remember if it was ideas or
if it was idea. So, it's ideas. So,
let's send forward slash ideas. And then
hopefully this should trigger the ideas
tab on the studio right in this work in
this workown. So we have fresh ideas
stop asking one agent to do the whole
job. So when I come to the studio tab I
also see the same thing. So basically
this is mirroring whatever that we have
on our dashboard. Now the reason why we
are doing this is that I want you to be
able to build ideas and stuff like that
without you having to always come to the
dashboard. Now let's say we want to
promote this idea/promote and then let's
put in the number of that idea 11. Oops,
I made a mistake. I intended to type in
11. And this was exactly correct. He
says that idea one was not found. So let
me do it again. Forward/promotees and
then let me send 11. That was what I
intended to send. And then you can see
that immediately we triggered this. This
is also live on the dashboard. We can
see that Vera is now promoted. You can
see that the idea was promoted and Vera
is basically writing this idea that we
have. And we can see exactly the same
thing here is actually done with the
promotion of the idea. So it worked on
the dashboard. We can see the ideas have
been generated. But on Telegram we did
get this promotes field list attributes
no get. So I'm going to tell Kite to fix
this as well for us. So I'm giving Kite
this prompt. I tested the idea telegram
command enabled perfectly. However, when
I promote an idea using the command
promote idea number, the idea is
promoted correctly on the dashboard, but
Telegram sends us this message. So you
see what the problem is and fix it for
us. All right. So Kite says he's done.
Let's try this again. I'm going to come
back to this app and I'm going to
trigger ideas. Now what you can also do
to make it a bit easier when you are
promoting an idea, you can also directly
add the template that you want to use,
right? And then what I would suggest to
you is that just use it to basically
brainstorm ideas and then promote it to
come into the studio tab and then once
you're in the studio tab then you do all
the stuff to do with the templates which
templates you want to use the edits that
you want to do and stuff like that but
it would be better to use the telegram
just for the idea generation and stuff
like that or maybe whenever you want to
have an idea you can just come here and
tell which agent say hey give me some
ideas on automation and stuff like that.
So let's say here for instance that we
want to promote just an example. Let me
go to promote and let me put in oops 18.
Sorry there's a typo here promote 18 and
then let me put in the templates. Let me
go to the templates tab just to get an
example. Let's say I want to go with the
statement template. Let me just type in
statements then enter and then hopefully
this will be produced then for us. So
weirdly it says template not found. Let
me see why this is the case. Let me type
in templates to see if I can get a list
of templates. So it appears that the
names of the templates are different
than what I see here. So let's look for
an example. Let me say I want to go with
a template called isometric. Right? Let
me come back and promote this again. And
then let me go to isometric. Now what
you can also tell kites to do for you
later would be to basically make sure
that the names that you see for the
template stylist with the names that is
on the dashboard so that it becomes a
bit easier for you to work with it. I
think the reason why there are different
names is that for instance tip deck has
two words and then for you to use it you
have to use tip hyphen deck but it's
just a prompt we can tell kite to just
do this and he would be able to correct
this for you as well and then basically
you can see that the slides are
generated. So when I come to this now
you can see that the template that we
picked is here and then we can see all
the slides that are generated. Now, what
I think I can also do for you is I can
just give you the prompts to correct
this inconsistency where we have the
temp name been different than the
templates that we can use in Telegram.
And then I'm also going to give you this
prompt that we can just give to Kite to
fix this for us. So, we're just going to
tell Kite, hey, the template names shown
on the dashboard do not match the names
accepted by promote command. For
instance, on the dashboard when I type
statement, it tells me template not
found. So, he should make sure that he
fixes this. Now I'm going to provide all
these prompts to you so that you guys
can also if you have the same issue you
can just copy paste the prompts and your
agent should be able to fix this for
you. Now whilst kite is building and
correcting the issue with the templates
name not matching telegram there is one
more thing that we want to do. I just
want to make good use of the time whilst
we are waiting for kite to be done. So
currently if you remember whenever we
want to access a dashboard we do this
through what is called SSH tunneling
right where we put in this command here
SSH minus N minus L and all the name and
stuff like that we press enter and then
we put in the password of our user
account and then only with that the SSH
handling is activated that we are able
to access the dashboard but what you can
do which is even a better way to access
the dashboard is to use tail skill. Now
what tails skill does is that tilk skill
gives you with which you can access the
dashboard without you having to go
through SSA tunneling and stuff like
that. The idea is that you going to
download the tail skill application
connect your account and right there you
get a unique with that URL you would be
able to connect to the dashboard very
easily without you having to put in your
password every time. The best part about
tail skill in the setup is that on every
PC for instance in my case I have a
desktop that I'm working with and I have
a MacBook I have my mobile phone and a
whole lot of devices that I work with.
Now on any of these devices that I have
installed tail skill on and connected my
account I can also access the dashboard
without me having to go through all the
terminal every time especially on your
mobile phone. Wherever you are you can
work with the dashboard on your mobile
phone so long as you have the tail skill
app installed and connect your account.
Now to do this we're going to download
the application that is called tail
skill. Now this is completely for free.
I have seven servers currently running
on tail skill and I do not pay anything
for this. Now when you are here just
come to this section here and click on
get started. Now when you click on get
started you can basically sign up create
an account everything is free you you
would not have to pay for anything. Now
once the installation is complete you
can then come here and download sales
skills. So on their homepage.com just
click on the download button here and
then this is going to download the tail
skill application here. Select whatever
operating system that you're working
with. In my case I'm working with
Windows. So I'm going to click on the
Windows and download the Windows
application for TK skill. If you're
using the interface for Mac OS is even
way better than the interface for
Windows. So I'm going to open the
installer. I'm going to accept the terms
and conditions and then just click on
install. And the tail scale application
is going to be completed. Looks like the
task that I gave to Kite to basically
make sure that the template matches with
the was a pretty heavy tax. He's been
working for close to 15 minutes now. And
he's still not done. Now once the tail
installation is completed on my end, I
can basically click on close here. And
then when I come down here in Windows,
you're going to see a small symbol here.
Yeah, this one here for tail skill with
some I think about eight or seven dots.
Right? When you right click on this then
you would have to sign in into your
tailskll account. Now once you are
signing into your tailskll account you
are basically done with the installation
on tailskll. Now when you loging into
your tail skill account you would see
all the devices that are currently
connected to your tail skill account.
And with all these devices you're going
to get a unique URL that you would be
able to use to access the server that we
are building. So now the tail skill
application is installed. We've created
a tail skill account or if you already
have an account this would be perfect.
What we would have to then do is to tell
kites to install tailskll for us and
bind the dashboard or the cadence
dashboard that we have built to our tail
skill server and with that we would be
able to access the dashboard directly
from the URL directly on the browser
without us having to go through the part
where the sit tunneling. So let me wait
for kite to finish the task that he's
doing. I think he's almost done. So
currently you can see that he's browsing
to make sure that all the changes that
he did are working and then once he's
done we can basically give Kite the
command to do the tail skill wiring for
us and then we would be done with this
tutorial. And hey I'm working on an auto
installer that is going to install all
this for you in a matter of minutes. So
just sign up to my membership. You're
going to get a unique key which would
you'll be able to use the installer and
I will also create a tutorial for you on
how to use the installer as well when
this is ready. And now finally kite is
done with that big job. The names of the
templates that we see on the dashboard
here would tally with the names that we
see on Telegram. Going back to the tail
skill points, Kite is done with the
work. So, we can basically give Kite the
prompt to work on the tail skill
connection for us. And for that, I'm
going to give Kite this prompt here. I'm
telling Kite, hey, set up tail skill
access to the dashboard so I can
securely access it from my own devices
without the SSA tunnel. And I'm just
giving him the guide on how I want this
to be. And when he's done, he's going to
give us a link that we're going to use
click to bind this particular server to
our tail skill account. So let make sure
I'm on kite stop and let me send this
prompt to kite to do this. And then once
we are done with this, then we are
basically at the end of the tutorial.
I'm already exhausted. I've been
recording for more than 10 hours. So I'm
getting tired myself. All right. So Kite
is done. He's given us this login link
that we're going to use to authenticate
our account to this particular server
that we have built. So I'm going to open
a new tab and just put in the URL that
Kite gave to us. And after that, all
you're going to have to do is to connect
and sign in into your tail skill
account. Now, this is going to bring you
to a page here where tailskll is going
to ask you, hey, I want to connect the
device cadence dashboard to your
computer. So, in my case, computer
mechanic.com tailnet. I'm going to click
on connect and then the login is
accessible. So, our device has now been
bound to our tail skill account. So, I'm
going to come here and I'm going to tell
kite done because he says that when I'm
done with authentication, I should just
reply we're done. Right. So, kite is
done with that as well. He also said
that he did a public IP testing and all
failed to connect which means that the
dashboard can only be accessed through
the tail skill IP. Now let me be sure
that this is working. Let me reload the
dashboard. Here we have the SSA
tunneling working which is expected. I'm
going to come to PowerShell and I'm
going to kill the SSH connection and
then I'm going to come back to the
dashboard and I'm going to try to access
the dashboard through the SSA tunnel and
you see that I get the sites cannot be
reached. Now whenever I want to connect
to the dashboard I can just use this URL
that Kite gave to us. So let me copy the
dashboard URL. Let me paste in this URL.
And then hooray. You see that we can
access the dashboard without us having
to go through the complication with the
SSA tunnel. Now tails skill works by
setting sort of a local viva or on the
PC on which it's installed. So if you
have any other VPN services running, you
would have to stop this VPN before tail
skill can work because if you have two
parallel services running, then tails
scale would not be able to work. So make
sure that you always stop any other
running so that tail scale would be able
to deploy the server for you. So this
brings us to the end of the tutorial.
Let me walk you through shortly what we
have built. We have the dashboard tab
where we can see and all the things that
the agents are doing an activity log all
pulled from the agents database. Now
when you come to the ideas tab, we can
always create any new idea by picking
your idea and the agents at last is
going to pick up that idea and build it
into a content for you. And then also
whenever you don't have any idea, you
can just come and click on the generate
idea and an idea will be generated for
you. Whenever we want to promote an
idea, we can just click on promote and
this will be promoted for us into the
studio tab. And whenever we want to push
any of the post to Instagram, Tik Tok,
whatever we want to do. When we click on
post now, this will directly be pushed
to the social media platform that we
want to use. And then when this is done,
this will bring the post to the publish
tab so that you can always refer to it
whenever you want to do something with
it. We also have a templates tab that is
packed with a lot of templates currently
in the setup that you can always pick
from and develop any carousel slide that
you want to develop. And then we have
the dedicated agents tab where we see
all the agents that we have their heat
map. You have your calendar where you
can see the post that you have
scheduled, post that you have already
published and also upcoming post. A
configuration tab where you can
configure your brand name, the things
that you want the agents to work on when
they are generating the and a docs tab
where you can basically understand the
dashboard. Now I do have way more
prompts that I'm going to provide to you
that you can also use that I would
highly recommend that you use. For
instance, for the agent login activity,
the agents are going to log in the
database whenever they perform a task.
But if you run this for a whole year,
then your database is going to get so
cluttered. So you can set up sort of a
weekly cleanup where the agents are
going to look for activities that are
older than 7 days and basically clean
all of them. And I also included some
additional problems that you can use to
basically amplify the setup that you
have. I know it's a lengthy tutorial,
but I wanted to go through everything
that we are building, the thought
process that I have when I'm building
something like this. And also you see me
troubleshoot all the errors that we have
so that when you have a similar
situation, you can do the same thing as
well. If you found the video helpful,
please hit the like button. Subscribe to
my channel to see more like this.