How We Built an AI Inbox for LinkedIn With n8n [Free Template]
59:42

How We Built an AI Inbox for LinkedIn With n8n [Free Template]

n8n 28.02.2025 13 149 просмотров 288 лайков

Machine-readable: Markdown · JSON API · Site index

Поделиться Telegram VK Бот
Транскрипт Скачать .md
Анализ с AI
Описание видео
Clone LinkedOut: https://github.com/maxt-n8n/linkedout/ Watch 12min Set Up video: https://www.youtube.com/watch?v=iwGnubONcS0 @theflowgrammer's LinkedIn inbox is a certified DM Disaster! Spam, leads, collabs, important DMs. So he flew to Dubai to team up with fellow Flowgrammer @oumnyaa and build an AI-powered inbox manager for LinkedIn that actually works. No spammy automation, no AI chaos. And we’re open-sourcing the whole thing so you can use it too. In two days, see how a low-code app is built: this is the Making of LinkedOut! 🔗 Follow Max on LinkedIn: https://www.linkedin.com/in/maxtkacz/ 🔗 Follow Oumnya on LinkedIn: https://www.linkedin.com/in/oumnyabenhassou/ 🔍 The Problem LinkedIn inboxes can be a nightmare. AI tools are focusing on creating more inbound “personalized” messages. There are far fewer tools helping people manage this influx. 💡The Solution: LinkedOut The app uses n8n for backend, Unipile for Linkedin API access, Pocketbase for db & authentication. It’s a great foundation that you can customize for your own role - be it a recruiter, influencer, or Head of Something getting way to many unofficial applicants submitting CVs via DMs. 💾 Download LinkedOut from GitHub (includes set up video): https://github.com/maxt-n8n/linkedout/ 🎟️ Get 50% off n8n Cloud for a year with code MAX50 (enter after free trial ends) Chapters 00:00 - Set the stage 01:16 - Day 1: Arrive in Dubai 01:44 - Meet Oumnya & discuss project 04:30 - Get to know Oumnya 05:46 - Build day planning 07:06 - Day 1 wrap up 13:23 - Day 2 start 14:11 - First problem 16:12 - Building LinkedOut with Oumnya 31:45 - Day 2 wrap up 32:27 - Day 3 start 37:59 - Demo of LinkedOut 48:11 - Reflecting on project w/ Oumnya 51:25 - Fly back to Berlin 53:04 - Final TODOs meeting w/ Oumnya 55:36 - Wrap up 🔗 Resources & Links Sign up for n8n: https://n8n.io (use MAX50 after trial ends for 50% off) Follow Max on LinkedIn: https://www.linkedin.com/in/maxtkacz/ Follow Oumnya on LinkedIn: https://www.linkedin.com/in/oumnyabenhassou/ Join the n8n Community: https://community.n8n.io

Оглавление (16 сегментов)

Set the stage

I'm Max the original flow gramar and I'm on a mission to save my LinkedIn inbox use AI that retain my humanity and authenticity first problem the big problem that I've been having is managing my LinkedIn inbox the thing is I don't want to just slap AI on it right I still want to maintain personal interaction this is my LinkedIn these are important leads decision makers community members and with LinkedIn there's negotiation and decision-making as well right a lot of AIS will write a nice positive reply but you still have to make the decision yes I like you do this collaboration no I'm not available on this date and so I'm going to buy to build a solution that I can own that help solve that problem I'm going to collaborate with boa a fellow flow gramar so for everyone at home um is expecting to show me a use case today and I'm totally ready to do that but I have a counter proposal for you what if we reschedule for next week and do this in person in Dubai do a little live build session together but if You' be up for it I yeah should we do it let's do it okay

Day 1: Arrive in Dubai

cool today is Monday 10:30 a. m. right now just arrived in Dubai heading to the Airbnb right now I'll drop off the gear and then I just heard from umia we're going to link up and we're going to have a quick game plan on how we're going to approach this project tomorrow's going to be a build day we'll have one full build day perhaps another we got to be really efficient there's two of us two skilled flow grammas that

Meet Oumnya & discuss project

should be enough oh hey good to see you welcome to duai thank you we just had a little lunch and we just created a little game plan and what we're going to try and do is fix our LinkedIn inboxes right yeah because when the different things that we do we both have to have a presence on LinkedIn makes sense like a lot of folks but I don't know about you but my LinkedIn inbox like I'm not even big yet quote unquote I know people like even my CEO has like double whatever the fall is in my inbox sucks yeah I imagine yours your inbox sucks I haven't seen it in a while it's scary okay so we got scary inboxes what are the kinds of issues you're dealing with usually I just fing out the stuff that I need to answer and don't really care about yeah I have the I have a prioritization thing it's not just from big people right it might be like from someone with a really important question or important bug a great idea and I missed that yeah then there's also I think a lot of oh this is really beautiful yeah wow look at that guys sorry boan yeah but Lis remember we're here for programming building that's why we had to iners touch it's a tough job on but someone's got to do it all right let's stay focused Let's Stay Focus all right okay so basically a linked on inboxes suck and we think that's the case for a lot of people cuz there's definitely a lot of LinkedIn tools out there but they all seem to focus on especially with AI on sending the messages and making the inbox hellish so what if we try to save the inbox again but not just slap a eye on it and also not forget that we're using our own LinkedIn inboxes so privacy yes om I know that open source and privacy is an important thing for you here so what are you thinking around that so apparently A1 dp1 is trending so we can try and host it and Views it or we can also go with quen MH so what would you want to get in place before tomorrow figure out which API we can use to actually get the messages I think it's a one first big First Step once we get the messages I think we can figure out how to draft and do the classification and all of that I agree I know of uni pile do you know of any others I did develop my own but it keeps disconnecting from LinkedIn okay I am a little worried about that with the time yeah with time I think unip is going to be our the nice thing is we can build it in a way where the API provider is a little decoupled yeah we can wrap it a little bit but to make it easier in the future cuz we're going to make this all as a free template we're going to release everything that we do so you can recreate this as well we're going to build something that's templat with n ATN and open SCE stuff that you can self host cool I recommend that we catch some more of these nice views and flesh out some of the details and then I can go do all that busy leg work since I came all the way from Germany and you're helping me build up this project I wanted to get you a little momento from Berlin so what's more German than a massive harrybo oh what's German got on your little symbolic harra see Louise it's not too crazy

Get to know Oumnya

one thing I actually wanted to ask you for a while you're really into open source right passionate about it yeah can you walk me through that journey I like to my stuff yeah there a moment was there some like genesis story where you were like ah did you get screwed over by a cloud vendor real bad what's yeah a little bit I feel like for a lot of Open Source folks there's that never again moment it's two things uh one if you want to automate stuff and do all this programming as well just using all this subscriptions you're going to end up with $1,000 subscription fees for stuff that you can just self host or just do on your own time like just develop yourself with the cloud or open AI or whatever AI that exists so that's one thing and the second thing is I also like the challenge if either self hostage or learning the new technology and seeing how it's done yeah it's the challenge as well what's your earliest memory of being like ooh open source I like do you remember I actually don't yeah I don't know how long have you been in the game I've been in the map game for the last 10 years so I'm quite okay a veteran really a vet I'm not I've just been doing this for 10 years they said there is no nature in the way yeah right

Build day planning

Oma is showing me a cool open source alternative to notion it's called what is it outline I just created a new page cuz we're going to create a scope document and plan everything but what do we call this project we doesn't have a name yet well whenever I need to think of a name I just go to a no this is going to be human name well we're going to think on this one okay so I'm currently scoping out the list of stuff that we want to get done and om right now is checking out what we're going to use for our API source of Truth for LinkedIn cuz the official LinkedIn API you basically have to be Bill Gates to have access to it so that's not a possibility we're looking at Uni pile right now and where are we at with that so I checked and I found an endpoint to get the messages yeah I'm not getting any fields that I can use to check if the message is read or unread M so that's what I'm checking to see what I can use to filter that them out so we're testing so I'm going to scope it out and Thena your job is going to be to help me take a kebab knife to it and chop it down cuz this is like my wish list so we're going to have to get realistic okay

Day 1 wrap up

cool what a wild ride so far since I woke up in Berlin 48 hours ago time for a quick end of day one wrapup it's 12:30 and we got an early start so I'll make a quick highlight of the day of course got to meet Oma that was awesome I think already game planning what we're going to do in person was fantastic and nothing beats iners collaboration but damn or expressor was not cheap in Dubai the focus of today was planning out our project cuz we don't have a whole lot of time to build the solution we have a scope list or a list of basically acceptance criteria they might not be as formal as you know a PM might write if they're working at some big tech company but I think the importance of acceptance criteria is all the people working on it agree on what it means and that there's an actionable definition of d like you can check that acceptance criteria and accept it or not right so I worked on creating that and umia has signed off on that because she's going to be handing a lot of the backend stuff on this and we're going to be collaborating on it the reason that's good as well is we were able to identify discrete chunks of work that can interact with each other and so what I mean by that there's various backend workflows various front end parts once we have an idea of what we need to build and how that's going to interact with each other tomorrow when we're actually building we can do some things in parallel right so if like we know that we have a front end view that I'm working on and we know that there has got to be a backend that has an acceptance criteria we can quickly come up with the mock data schema between those the front end backend contract like it would have in traditional development and with that I can use that mock data to build out the front end so here's a screen of what it's looking like we may clean it up before we get going key parts of it is we have a datab base where we're going to be keeping a sync of our LinkedIn messages now we're not going to copy all of the LinkedIn messages but recent ones because the focus here is dealing with your unread I would say new DM unread is the biggest bulk of the work in these kinds of messages so that's the priority right now we'll have that database that's going to enable us to build everything else on top and not have to rely on the API providers that we're using I will say going in there is a small risk in what you're doing here that your LinkedIn could be blocked I'm obviously nervous about that but I accept the challenge because I think firstly we're doing this to try and help manage our inboxes and retain human communication this isn't about Mass harassing a bunch of people online plus we're going to be using as much open source and self-host stuff as possible so that all the important critical messages that could contain information that's NDA confidential contr that's going to be on a server that we control and then uni pile does offer web hook API so we'll be able to listen for new events and keep the database up to date based on that then we identified a few of the specific key workflows that we'll need not to say that these won't maybe perhaps live in one workflow but the key backend API endpoints you can think of them as that we'll need so one is writing a draft of course it receives a message thread perhaps some sort of categorization but anyways gets all that context outputs a result that then our app can use that as like a micros service although people saying microservices a whack so don't quote me on that to contextualize all this how it's going to look like as an app is very similar to like your actual LinkedIn inbox there going to be an un RADS view in that unread view we want to rank order the unread by some simple rules so what I'm thinking for MVP is basically you get a point for each hour it's unread so from the time was created and perhaps you're getting like 10 points for each 100 followers and in future we could add points for other rules like depending on the sentiment of that basically those points acre and we rank order it by the highest number of points right so the idea is when I only got 2 minutes I can jump in see the most important message and just knock that one out right and get back and be chipping away at my inbox let's see what else I'm like not a lot of brain cells right now unfortunately not due to fun reasons just like mental exhaustion yeah so there'll be this unread View and then you click on a message and it shows like a message thread right so you got the other person and your messages there'll be a text area where you can send a reply we'll have an AI draft generation feature and then if we can manage it what would be really cool on that draft is it analyzes the email and checks if there's a decision to be made and then outputs a version to each version of that decision so let's say like in a basic case it's like it can do yes no hey do you want to get on a call and then it just gives an option for yes and no and then I can quickly go oh I want the yes cut and delete very often when I've tried to use chat gbt for draft replies before almost always saying yes and I have to first input that I want to do a thing and then I need like a nice text that says yes I'd love to get on a call what time works for you and not be super rude to people right and then there's one thing I really want to add if you have time and it's not an AI feature at all and that's exactly want to build it because again this project is to show how we can use AI as a tool Tastefully craft it with good ux first principles and build like a solution to a problem that I can use that I love now hopefully others do as well right cuz we're going to share it as a template for me what happens very often the most common case is like sending someone a kendly link but it's not just the link It's usually the phrase like hey here's my kendly link I'm in so and so time zone if those slots don't work please let me know which time zone you're in and I'll get back to you out that's actually static text that I could use almost every time but inter [ __ ] with something Dynamic right so I wrote something and then I need to add that in future we could have those Autos syncing from my cly and stuff but really if I can go into some database and add a few items in a row that's like kly link the name of it and just a text block that I could print that's job done for me like it needs to be good enough and then meanwhile umia was taking a look at the uni pile API the really cool thing about unile is so we're focusing on LinkedIn that's my immediate need right now but they have support for LinkedIn for WhatsApp for email I think telegram as well now the really neat thing is the API response across all these Services is standardized which theoretically it's going to make it way faster to either Swap this whole UI to work for WhatsApp or add multiple inboxes and have it be like a merged list so tomorrow is Tuesday and we've got a full day of flow gramming plans and then about a quarter to a half day on Wednesday realistically on Tuesday we're going to have to push because if we just are in building mode the whole time and only start testing it on Wednesday from experience there's going to be stuff that's broken some assumption that makes say go back a bit if you've ever built like an ITA thing and you get to that last step you oh no the hole's not there it's supposed to be there you put it on backwards and that was step three and you're on step 29 you know what I mean or also with Lego similar thing so I'm sure many of us nerds have had similar traumas so we want to account for that give ourselves some wiggle room I'm definitely nervous on this one I'm going to try and get a few hours of sleep and then wake up bright and early put on my Flor grammar shirt have an overpriced espresso and try to build a

Day 2 start

nap he's the best to PL persecution not step all right I forgot sunglasses borrow these from on and I got sunscreen I'm getting tiny bit R little sunscreen get in taxi and get down to downtown where meeting sh way right let's find a taxi yeah you it full de weather in building isus 3° look at that gang minus bloody three this is awesome sorry team hiax how's it going today yeah perfect morning good morning how are you all right so we were there yesterday I'm going to take it upon myself to find it without

First problem

directions all right first problem manager's not here he agreed yesterday we could film but we got to get started I have a photo with the manager wait for the stuff come back hopefully that's enough to get started but okay haven't even begun first problem all right it's a bit of a cheeky mood I'm going to start setting up I've got the photo like it's literally me and the supervisor thumbs uping you should be all right so I'm a little nervous right now turns out the photo that we showed with the manager from yesterday it's like a thumbs up photo was just a server it's 10 to 11 right now and we got to wait for someone more senior to come to approve this but yeah I was expecting some challenges but like with LMS and stuff not not with this all right so basically that was a big fat no respectful no but basically what could happen is Ona has an office where she works out of she's going there in person with all her enthusiasm Charisma and charm the 3 C's no an 2cs and ECC and hopefully she can convince them to do it there so then I'll have to go over there we'll have to make up the time I should probably come up with a plan C this is not a 10 out of 10 stress level right um but I'd say it's a solid 6 and A2 which is not ideal because we're already this is going to put a back minimum 90 minutes let's say 2 hours so we're on the run but where I am I'm just said it's basically impossible to get a taxi so I got to leg it like I don't know 600 M all right it's 11:36 happy that I'm a flow gramar today and not a native code developer because my blood pressure would be well higher than it is now that's for sure time to J this taex is busy I'm on the way now um we need WiFi we a place where we can film and work so with any luck we'll be about 2 hours behind schedule which we should be able to make it up let's see what time is it now it's 11:58 so it's 12 so after some trials and tribulations

Building LinkedOut with Oumnya

and oh hi Ona by the way sorry Hi good to see you so it was a bit of a stressy morning but thanks to saved the day she secured a beautiful place for us to work from we're going to get started but because I was late you were already started right I did where are you so far I was trying to send you a message from an N Workshop when you walked in ah from through the LinkedIn yeah okay cool makes sense I think the first thing I need to pick is cuz it's basically like it can be a static website right so then we can deplo it to versel whatever like Cloud flow something open source Cloud station Cloud right okay I'm sorry I Haven out my coffee yet no who for sorry girl sorry all right we're going to deploy it to class station we think we'll use bolt. DIY and so I got to find maybe some kind of UI kit or something di there's uh some starters so we can just use a starter from there okay let me go have a look at that pick one we just got bolt. DIY set up we're going to use nextjs as the base so that's started now I'm going into balsamic and I'm going to quickly mock out the wireframes that we need put them into bolt hopefully just generates a perfectly one shot and so there's two views that I have to make the first one is like the unread inbox View and then the next one is going to be the message thread View should be pretty quick because we're not Reinventing the wheel testing the message sending from un pile she's like hey did you get the message I'm like no like well the message definitely sends and it looks like we've got a message sent to Kevin and he received it so that's good it's good news yeah the message sending works good we get the UN messages and reply to them nice cool also of the Apple nice yeah yeah we're done lunch and I just created uh one of the first views here I mean it's pretty simple here we take a quick look I created this simple view here going to get the next one as well it's 10 to 2 p. m. how are you doing where you at so I have tested all the API that I wanted to use I now get all the messages that I need and I set up the web hog to get the new messages and then classify them uh so my next move is going to be to set up the database the back end the service that we're going to be using today is going to be pocket space just because it has easy authentification uh so I can just set it up easily and I guess it'll be easy to switch to different databases right yeah cuz I'm going to wrap the backend the service in an NN workflow so that I can switch it uh switch smart SM the other reason I'm using pocket Base today and not nood like I usually do because with pocket base I can export the whole database and then it can be f with the templates oh nice then what I'm working on is I'm pleasantly surprised by bold DIY I'll be honest it's the first time has used this I know I'm waste party but it has a basic View for the unread and then I'll create the other view that's just the front ends the next thing we can do have a chat about front end backend contract like maybe we create the mock schema so I can work with the mock schema and then the front end's not going to be the big part so once that's done we can then pick which work for I'm working on so then we can doing in parallel right break yeah I think we're still going to be able to do it in a day we have to so we will do it in a day and all right the time is 2:36 om let's get some good news where we at okay so I am done with the message Api it's going to be saved automatically from LinkedIn so whenever there's a new link message it's going to automatically save it in this database okay you can try it right now and how do the messages do you have a concept of a threaten that messages in them how is the like LinkedIn API look structured so LinkedIn API doesn't have any threads which is it's really yeah so every message sent has the same ID so we only have the time stamp to differentiate gy so we have some kind of thread ID right because there's this thing here yes but I we can't reply on it I can't reply from the unipi API on a message ah you have to reply to a person yeah okay so we can test it by me sending you a message in okay great let's do that yeah so we're in Pocket base right now yeah okay it's right let me send a hello test send okay I just sent it hit proof the sent and it just showed up cool so here we've got the ID which is this oh this is the message ID we have the chat ID yeah so as you can see all the message IDs that I get from Max here have this have all the same ID okay so that is like a thread yeah M and then my name yeah and then the LinkedIn profile so that we can do the classification based on the L yes and then the message and the message ID created up to I'm basically done with the UNR View and now I'm going to create the individual message View and so what we were talking about I think very common patent right is unre view when I click it'll open a new routes and it'll have a URL parameter with like thread ID whatever which one will'll be passing alone yeah could be the chat idea okay cool okay so there will be some idea that I can pop where that work perfect all right so now I'm starting on the individual View at first I was going to do with two separate routes cuz it was easier I'm was like no got to do like a sexy slide outle VI so I'm going to try that time box it if it's not working I'm going to revert to the more basic one but I'm doing it for you okay all right ready break everything was going well in Bol um but then we got a little fancy we want to make not two views but we want like when you click on a thread it slides out and it's all integrated and now it's broken and um it's all just like black Tex on black dink blue and whatnot but thing is you save the yeah we saved some states so we can revert it but if I'm having trouble with this maybe it's too complicate we'll go for the two route thing since we're here let's do a time check it is 3:22 how are you doing H you have created another table basically we're separating the profile from the messages so I'm saving the LinkedIn profiles in a table and then I'm going to link it to the messages so that I already have a Min CRM where I have the profile info I know already if I want to answer the 6 no did you give it too many complicated task at the same time I told it to create the view the whole view the animated n oh maybe that's fine but how else do you like take the View and add a whole new vual leave the page alone and St to the new place all right we're going to go we're going a two-page approach all right it's uh 4:17 p. m. right now I got to call for a sales team and I got to go do a pitch tomorrow at 10:00 a. m. to reacted so lost about an hour there so it's about 3 hours L today and then tonight I'm going to have to do a little bit of prep on that demo but okay my boss who wish should be very happy though um you better om where are you at how we doing so I finished with the tables I have now the LinkedIn profile so I get the all the LinkedIn profile feeds that I need so that we don't keep upd in the our mini serum awesome where I'm at is firstly B that dii keeps refreshing so I'm not sure right now hopefully it's all good but I have both views done on the unread messages view there was a few things I wanted to tweak which I just sent as a message it's kind of hanging right now on that so if that doesn't work um I download it we'll just revert to that so I have the two views so well DIY keep doing some one thing that makes it break it's this the skip interfaces it's it gives you comments instead of doing the work it's it gets lazy when you send a new prompt just keep sending to it don't ask give me comments just code it okay so I'll handle that in a sec but basically my front end like is pretty much done so what it did is it had like mock data right so like for the messages it's like an array of um it's an array of messages so now we got to make sure that the array that om will send is in that same format and same thing for the message thre when you're in a thread there's a message thread there and a lot of other miscellaneous uh information right there's the follow account the URL for the person's profile I already had them man working with professionals great so let's take a look at that and in the it's not notion what is it called the awesome notion killer outline that in outline let's paste in those schemas like for this view here is the API NS we have like a documentation okay cool right and then it's like 400 p. m. I haven't eat breakfast today I should probably eat something go eat I feel pretty weak right now in guess I'm getting used to all right after a very stressful moment where I thought I lost all my bolt and stuff so definitely be clicking that download button name your vers files 50 J files we got it back and now I'm looking at the documentation with on defining front and backend contract we have an ID that's going to be the ID when we click on the actual thread r that view can populate what it needs to mhm we have the author first we need to integrate cuz I can change stuff simply from my side so I think we first integrate the back end with the front end and then we move on to adding new stuff I'm saying we do that on the back end side not on the front end side yeah yeah that's this cool so does this you sign off on this back and front end contract what let check let me check what do we get from okay so I'm currently working on the get draft API endpoint so what it does is the front end contacts it with the relevant information like the to who to reply the category the incoming message and it expects back the reply the drop reply we decided to make this things uh simple there's no reason we need to store that draft reply like in the database it's ephemeral right so in the message thread view there'll be a generate draft button that context API it returns it places it in the response text area but yeah let's see how quickly I can get that done I got to order some food should I order a German Boomin bath what do you want to eat I'm not sure maybe I do something healthy it's healthy let me do the super food place but it has like a good steak and all it C W grave grave gra grave gra Fest no tacos this is last healthier you too thank you have a nice one look what I got all right so we I've got the AI agent that's going to it's not an AI agent not everything's an a agent I've got the generate draft thing and I was ready to test it on got the a AI model locally hosted for me us having some connection issues and um when you have connection issues don't blame your co- flow grammar's infrastructure check your credential first and see if you just completely mangled the base URL before you go do that all right with the power of AI I have broken it and hopefully with a par a we'll fix it oh we got to declare the state variables at the come on Claude everyone knows that it's doing stuff doing enough stuff that's still working good thing we got a little bit of tomorrow too huh okay so click the generate button makes sense that it kind of doesn't work cuz I didn't haven't even filled in the route yet so I don't expect it to work send this as a screenshot and have Claude fixed this so all right while that's generating quick hot Tech it's kind of FL only you I we're talking about the thing with these like ball. DIY and all these different things like they're super cool right I mean did a lot of front end code and stuff that I would not have been able to do but the pattern I've noticed is as your project gets a bit more complicated things start falling apart or at that late stage it like start breaking some style stuff and the more you rely on using it without kind of understanding what you're doing the more you can kind of get screwed so basically every change I do now in this heightened state where I'm trying to get like a saved version of that so it's cool that they have the push to GitHub but I highly recommend soon as you do something useful that is working commit it to GitHub because never there interesting thing came up it's almost 7:00 p. m. so we got 1 hour left I've almost got the generate same working but we're getting stuck on like the Json response from respond to web hook and n it has like single quotes and stuff so it's breaking it I'm just saying we should B 64 encod it and then B 64 decode I'm thinking that's might be Overkill I'm going to ask chat PT going to ignore the like professional devel with how many years You' been coding I play the fifth what is the correct way to make a string let's see what do GPT has say string escaping oh hello okay that I might do that stringy I couldn't find the stringify thingy in oh cuz it's not a method on you have to date Jason do stringify and then put the Y oh okay m cuz we have 1 hour left I'm sorry you going to do that oh man me you can that's so shady do you think it's going to work oh it works no okay game so this is working here and save it if I go into my bolt dot okay let's refresh this okay this is a little broken here but if I click generate now it's got mock data on the input oh my God it does work cool okay so a little UI stuff to fix here but that's peanuts the back end AI stuff's working it's a bit more to do though a few other the routes and stuff I'm seeing like some of these replies are not perfect I would say they're like a s six out of 10 right now I would rather improve those right like check 2 and two all right guys let's push it like salt and pepper because look okay this is going to be a little delayed here but Click Boom ID is being sent along ID's ID is not being sent in here but this is a simulated browser let's download let's and push to the hub yeah what do we added linking between views bom initial commit 18 minutes ago okay I guess I sent a sneaky nice This Is How We Do It documentation we have the author got it but it's just one because it's one yeah oh wait you know that makes sense this is a list of each message in the inbox each item in the array is one of these wait each no each item on the array is the message okay so I think I should get the inbox not the user you probably need to fetch the most recent message attached to the user and then you have what you need so the thing is I can do both it's just which one is makes sense the most oh by the way tonight I can't stay too long because of this thing in the morning I apologize are you exhausted oh yeah I'm going

Day 2 wrap up

to yeah what time is it right now yeah time to get a watch so corny 10 okay it's 10:30 p. m. I think mentally pretty drained good hustle we got the front end back end connected we got it committed to something that isn't AI GitHub which we trust a lot more than for that kind of stuff what I want to really do tomorrow is at the beginning of the day create a list of things we could do prioritize it and start from the top so we can cut up and then so in the morning I have to take one for the team and go pitch redacted tomorrow but then I'll be right back in we'll do our thing get some rest all right thank you uh thank you so much for everything today like what a day

Day 3 start

is here so it's day two of building we basically lost the morning a little frustrating cuz we seeing like there's quite a bit of scope to do yeah I think we got this the issue we had this morning was we knew we had got farther along than our staging was showing something Ona fixed that finally what was the issuea we were using next uh GS static output so I removed that so now it's getting the stuff from the server side and what we've done now is we've created like a list of things to do we're not going to get it all done so we need to prioritize I think we need to descope the ranking feature I do think the ranking feature is going to be useful when people have very intense inboxes when they're getting like 50 a day basically to where like they might never answer some of the message right like so they really have to be like look I can't answer everyone that's not my case today like I'm not getting 50 a day you're no and then we need to do off yeah because this is going to be sending LinkedIn messages and all that kind of jazz also read in LinkedIn was yeah and yeah all this kind of stuff and then um there's a few little UI things and stuff is there anything big on your list that you think we need to do [ __ ] what did you talk about basically on my side okay the EnV variables oh that's on my list that's done nice um we got to make sure the routes are hooked up cuz we got to change yeah the back end front end scha tweak let's get that working yeah so let's get the three views back end front end working yeah so take care of the thread as well the messages that we get I can do that I've added the W bolt as well middleware so that we can have that set so um I'm honest I'm going to okay I'm like I will knock out a few small things while you do that but as soon as that's ready let's then connect those cuz then all the views are connected yeah sweet yeah all right ready break hey hey we have a little bit of a an issue right now on we're going to have to push because if we just are in building mode and only start testing it on Wednesday There's going to be some assumption that makes us go back a bit what's the issue on you thread it sends sender and SMD so we have both information I was working at under the assumption that unile only sends the messages that I receed I didn't think I was going to send also the messages I sent okay then well it's good because we need those to construct thread yeah yeah I'm update am I in the workow that you're in right now okay then it's saved okay I haven't super tested it yet but the way it's designed it's going to have to update the user twice on the new call so it's a little inefficient but the benefit is if the text classification [ __ ] fails the user doesn't fail and then this fails but it's more graceful because the categorization is optional the creating a new user the logic depends on that okay okay okay what's the time is Wolf the time is 718 we have a CH minus quite a while from food unfortunately not even let's have a look at our to-do list check some stuff off so we can also get that progress feeling the thread you can you have a look at that can and tell me what you've checked off so we have hook up the back end with the front end is not done yeah I need to add this okay so for the threads we also added the image it's nothing the to-do list but we it's done once you're done with the threads View and it's like on yard and GitHub especially if they screw it up if you switch to inbox view I could do some things in thread view cuz there's also a few little things in the thread view that I could then work on fixing the send button icon issue or you going to fa that I'm going to fix the send button and add this the send functionality and then I'll okay cool because loading state that and then that's nice to have and then I can add new functionality that you but you PR and save the working version of it while you'll then tackling the inbox View and separate views yeah all right let's do this all right there full flow grammar I'm very glad the food came everyone eating out here but while still working just working on the thread view meanwhile we decided cuz she's deep into these reviews I'm working on the text Snippets thing the example here is the name of the tech snipp is kendly 30 men and it then adds this Tech snippet then I'm going to have this on the thread view so I can get this set up in the workflow that feeds it I just started it oh my god oh what just happened when I run into PM randem I can see the images in the Avatar section here but in the production environment it doesn't show this is similar to the problem we were having right like between p and stays yeah so it's pissing me off o that's a lot of Errors although I feel like half of VC funded absent production have a crapload of errors I'm trying to figure out what's the difference between the production environments and the de environment so this is the production environment I can see here the Avatar it's the link is right here but it doesn't show up here and same thing for the other view so the threads View you same issue you need to keep I'm in shock right now what just happened how did you the Cher thing that only opening few hours a day but it puts an alarm for it thank you so much it's so thoughtful I was like bummed I like we have the coolest Global Community ever thank you so much on that note back to work no I'm just kidding thank you so much shed a tear of all feelings right

Demo of LinkedOut

now we're here in the inbox now we just had a message come in again this is um's Inbox click on this here and more messages would come in here we could reply right here we have to change the stying a little bit but there's a grade out send button here but zachar has sent us a message here he's wondering if wants to collaborate with us but so we can go to the LinkedIn profile I think another thing we want to add is going to the actual thre as well we agreed we don't want to recreate the entire LinkedIn experience or complex stuff you would just go in there but I think is really cool here this a little generate button let's click that now we don't have a loading state yet but vs has just kicked off and work forl in a moment here we're going to get yeah it's correctly identified that there's a decision for us to make reply with yes hey Zach thanks for reaching out about potential collaboration I guess we should make this a little bit longer too definitely curious Theo always open exploring okay great me this is in my voice that it's a hardcoded example is this and then reply with no so the idea here is when we're working on this again if this was a bit taller and stuff I can look at this can reply with us so I could just delete the no part and then we can send it I think you left the reply with yes we did do that so you know what that's a great little filter we can have out the user removes it doesn't change it they forget to remove it removes it that's good ux anticipate that the user can be a bit of an idiot because we can be especially at 11:30 p. m. with that sleep so I didn't manage the rehydrates of the B because is that the fancy term rehydrate I've heard that before I was always like what does that mean see beautiful what I didn't get to yet but the back end is all done is these um Snippets so here's like a kendly snippet hey here's my k c times good over please let me know your times couple other Snippets like that what I intend to have is maybe here they pop out and then you have a list of them and you can just click that so we'll have that maybe little notes for zachar be like oh you know he loves maybe he really loves ice cream cats oh he loves cats love cats hat cats he's afraid of cats example and then we can see their follow count as well I don't think that should be the only reason when you contact someone but if someone hits you up and they 50,000 followers that makes difference yeah 2,000 left so okay let's talk through these workflows where would you like to start between these three wa only new message yeah so that's where it all start yeah so the first thing that happens is the on new message so this is where we use in the unile API to get the newest messages uh unile is sending the messages to this webbook so it's a post webbook and so we get the details about the messages so we bring in so un pile lets us know there's a new event with all that kind of data and they see you've got a switch node here well yeah basically it's I manag the set the not for me or for me to know if for the bubbly heads show in that we show in the thread view for context for everyone um these ones here yeah so it's when it's from someone else then I show the users's head it's when it's from me then it just shows me because I don't need to see my face everywhere I get the user from the pocket Bas instance because I want to enrich the M serum that we're doing so I get their followers name and the last name and the Avatar so to get that I use the unified API and I don't want to abuse the API for nothing so I check first if I save the user in the database if I do then I just updates the messages table with the new message if I don't then I get the profile and then I update the message table mhm got you and I can pick up this part cuzz I added this in this is where we're categorizing the message of the thread now it's just based on the first message so these are the two main cases I'm seeing right now it's a I love your content and then there's a collaboration proposal which also this could get more advanced in the future obviously we could have the ranking and stuff if they're a big deal and whatnot but those are the two things we then set some properties here basically just the string on the category to add and then again we just into pocket base posting that so that's the whole pipeline that ingests new messages right so in here we call inboxes right now we update messages so we got three messages in here right now here we only have two people but that's because we sent a message to Zachariah so that's his reply so that's why we have three messages here right yeah so once it's in this source of Truth this is what we work off of right yeah there's a one to many relationship between people and messages we descoped group threats because I think you just learned about them like last week and I do them in frequently so it's totally fine if I think it's out of scope get us this is the first UI okay so this is for this inbox route right okay so we got another web hook again what's happening in here so this is a get web work that we call to get the messages all right Al so there's no parameters it's just a ping basically just invoking it yes and it's using the header to send the token because this is this is secure this part is secure right okay yeah basically when you sign in using sign in UI this creates a token a valid token that's we're going to use to get the users and the messages of all that stuff so we send that in a better token in uh the Heather I've never seen this pattern I didn't even know that this was possible thank you for showing me that all right get users yeah the get users is using uh the token so that's why I'm passing it through uh through the header uh so it's using the authorization here the to authorization to get the users from the pocket Bas DB no I don't need to verify anything because if the authorization token is wrong it's going to send me away anyway that makes sense yeah and that's the use case if this is an error which means I'm not authorized it just yeah yeah okay yeah so we got an error message no but this is good this is this is MVP and this is clear yeah this is sure scri script so we've fetched the list of users right okay so we've got so if it's successful I there a feature and pocket base that allows you to expend on a table to expand to the other table that you have oh very cool so if they're linked it fetches the link children exactly so I that's such a neat life hack in a database so it's just one quer yeah it's one quer yeah and how do you get that set up in here expend yeah that's it that's so neat yeah pocket base isn't paying us but like maybe we get that yeah so out to create a table so we got three items coming out and I clean it up because I don't need everything yeah so I send what I need to the and that's it okay so we agre in one and we got one in here and then we send it back very cool okay so that's get users very simple so that's what populates this yeah so every time this loads if I refresh this so a quick empty State and boom get messages gu messages the second one so we got to clean the naming conventions yeah we're going to one it so it's easy to follow have sticky notes and all that kind of stuff I'm a big fan of sticking I just fure second one is the get thread or the messages same logic as the other one just for context all these ones here yeah exactly when you click on the user it passes the ID of the user to the yeah in there and that's sent to them to the other workflow with the authorization token like the do same pattern there basic same the only difference yeah is the ID that we said and I use that ID to get the users and I do the same thing I did with the first one I expand it B same pattern Bas same but different okay and then the SL message that's for sending okay this looks uh very simple you know what's funny if I was like in some Enterprise sales call be like as you can see we have an API Gateway wrapper here we got a web hook trigger we make the API call and we return back so we're making a simple call to unile to send the message exactly yeah we're not going to go through the details here guys if you've gten this far you probably know how to do that and if not drop a comment and we'll tell you and then the that's it that's the generate draft as well that's yours as you saw in the demo we like there's two cases I have for now there's either like simple reply which for me is hey love your stuff or something like that or a simple reply a question like hey where can I find your documentation let's say it's on Google but that's also a simple reply there's not a decision to make the one thing what I always tried when I was trying to use like gpts and stuff to help me do this stuff faster it always assumed yes cuz it's trying to be helpful so this text classifier what it does first is categorize it by decision to be made or simple reply there's not that much prompting here but if I open this up a bit just so you can kind of see that for a second these two categories are usually exclusive so that's an assumption we made that might not be case all the time but most of the time that will be the case we are using Haiku here we're going to swap it out for self hos model we have some issues with that and we did not want to spend time on that but that's why I'm using Haiku so we have a bit more parity with something a bit smaller so I've used Haiku in everything here okay so then this outputs and we set the prompt so the simple prompt we give it a roll we give it the message the recipient's full name to examples of my voice so this is hardcoded this is probably the kinds of things we're doing onboarding thing like hey paste in a few LinkedIn messages or I mean we'll grab them with the API and feed them in and stuff right when drafting reply some rules here again check out this template and have a look pause this video always reply in English Respec of the input output I get messages in German sometimes if I reply in German they start replying in a lot more German so you got to stop that at the root and only output the draft reply that's the simple prompt itself so we're just setting a variable for the prompt the decision prompt same structure or the difference is in the tasks I say first analyze and identify the decision that needs to be made I give an example then write a draft for each decision each kind of decision option and then it's more or less the same but then I show that format so yes to meet next week reply and then we have a dynamic prompt now if you're going to do this pattern guys make sure that on these multiple set nodes whatever you have here maybe it's a code node whatever just make sure you have the same key because then in this node you can use a relative reference Absolut reference and that's how it'll work for all cases we respond with a draft or we respond with an error and I think it's in here where we saw in this one case failed to generate a draft so then we see that that's basically it I think um doesn't look like much it's like we're dancing cuz we finished we did not no we have to

Reflecting on project w/ Oumnya

leave by 12 so before we get into this wrap-up I just want to first off say thank you so much you took time from your precious days as a Founder with your team you know on one of the days she was like he I'm just going to finish stand up I'll be right there I'm like right she's like running a business pleasure thank you online is great too but there's nothing like the building out together I agree I thought we were going to finish it for sure yeah me too we had a few trials and tribulations right yeah on each day something happened we were lost two to three hours but I'm really proud of what we built so far and I'm curious like let's say we did this project 5 years ago how far do you think we would have gotten gotten around the same way or has tooling like fundamentally changed like what we were able to do today for sure just two years ago couldn't we could not have done this quickly what do you think was the biggest part of that well AI helps a lot yeah it's actually it's funny how quickly we've gotten used to it as a norm yeah I was never a fun developer I was a script Kitty that would you know as a designer you get involved in stuff but the amount that got done I don't think these are tools are ready for prime time yet but they're useful like I think they're going to get so much better and the bugs and stuff that I see for PC yeah for sure yeah it's more than enough but I think it's not a it's not an if it's a when will mature and it will be the way yeah you build this stuff is there anything you miss from before the AI World anything getting like a bit weak and now that you're relying on this technology no I love it I completely Embrace AI L are those people that say AI is going to take my job for now is AI is just making things easier to do one thought that I had when we're going through this when you know when we were having the caching issues and this kind of thing is I remember feeling a little helpless cuz I was like my AI isn't working I had no idea where it was how it was if it was part of the Cod a part of the infray I felt a little helpless and bewildered at times with that I'm curious how did you feel and we were having those cashing issues and things were changing like for sure so if it happened before I would go to stack Overflow and Google now I just go to Claud or CH P it happened before it's going to keep happening you need to get over it and find the same [ __ ] just a different day but a lot faster yeah same [ __ ] just a different person to ask here we didn't build everything that we wanted if we hit the reset button and it was Monday morning was there anything you would do differently in the project I think this is exactly I if I was going to give advice which I don't really do but if I was going to give any advice I just like to say do it this exactly what we did we don't know how unile a response yeah I think if we wanted to do it better and we started just reading the documentation looking for how to do stuff we would have been still looking for how to do it instead of just doing it and then figuring it out I see your point there working example it's not working example yeah do that get it out in the world even if it's privately to a handful of people and then rebuild it yeah yeah I have no regrets we have a working name right now we came up with it in like 2 seconds it's linked out I didn't participate in that oh you not nice classy mve like no I'm not part of that name so um do you have a better name no I liked it oh you liked it you guys like linked out thank you so much for like inviting me here to Dubai well I kind of invited myself and you said yes though everybody to conversation but thank you for the DU by chocolate I'm very excited for

Fly back to Berlin

that speaking of of speaking foreign languages when I visited the wordware office when I walked into the office the first thing the founder said if I miss this fight my boss is going to have my ass next time around this whole push push thing is cool but obviously there was like that extra pitch I had to do and whatnot but I feel like if I had a half day more of rest we could have gotten 30 40% more done we're get a drop off as a chocolate or some of it I was go some and some of friends as well Lis the Uber is 50 so I'm going to take train all right keep that in mind this is the n office here we've got our esteemed values on the wall we got act with Integrity don't be big work with speed and efficiency not on and Inspire and think huge they said big I said huge this chalky I got to divide it up thank you so much for me and the whole inan team and my girlfriend and any of my mates they going to get a sneaky little taste so this is the freaking incredible experience now I'm not much of the Tik tocker so I just mainly heard about this from other people oh my God there's so much oh my God look at that wow all right so enter in team get to the office some of this could be yours can't get kna of it that's hilarious mind your own W scoff we'll do the dark chocolate one we got some mature esteemed sea s Ley type folks here yeah let's go home quick shower editing slow ground away 3 Days

Final TODOs meeting w/ Oumnya

Later hey how you doing yeah how are you I'm doing well you have a good weekend yeah pretty buy how's your flight was good I made it so that's good the chocolate made it as well it was delicious the team loved it thank you so much it was so sweet of you I've been editing this video down and realizing how much time we actually lost to some of the issues that happened during the video but nonetheless we're going to get this done because I was also looking like what we built is pretty cool Thursday after we left there was an AI Expo in Dubai so I went there I only had my phone on me I didn't have my computer but I did have link out and I get to just Tex my draft and send it on the go with my phone which I never actually do awesome Okay cool so MVP is validated it's Crea value let's create a to-do list is there anything on your list that you of that we still need to get done yeah I need to clean up the authentication because right now I'm using some static data we need to add a log out button because we you can't log out so that needs to be cleaned up okay I need to add some Dynamic the aut appication but basically the bar token that bar token is pass through from one workflow to another I need to make that an environment viable somewhere and so that it's used everywhere aome I guess that's super important cuz of again inbox important stuff and finally I have to document today on work I worked on basic and Workforce which Workforce could we those in the checklist yeah get users on your message and get messages and then we have clean up generate work okay great then from my side on some of the uh UI stuff little things like the text area should be taller I'm happy to do that kind of level of UI polish across the views does that sound good okay also if you can add the snippet thingy to make it yeah no now I'm asking for features and then around the categorization stuff right I can follow up on inbo sorting or functionality what I have to do as well is to export the bucket space configuration and con users can be able to duplicate this how about this then how about you do this stuff right and then export it and Export the end in workflows and then before I do my stuff I import that I try to recreate a pocket base I try to get everything recreated so we test that's all working and then I add the new features so basically a week from now we launch this all right let's do it I mean really excited for this all to come out thanks again for all the work and all the work you're going to still do that you have committed to so on camera yeah thanks you too and send me the

Wrap up

Sni we made some awesome progress on linked out I'm basically just putting the finishing touches on documenting it and testing it all the actual app is done but now I'm thinking through your lens setting it up on a new instance and seeing ways that we can make it bit simpler by the time you see this video linked out will be released 100% free for you to check out and download wherever you're watching this video there's going to be a link to it somewhere we're probably going to release it all in GitHub because there's a few different files and dependencies to set up so it all be in one place on that GitHub I'm going to have a setup video nice read me all the 9 yards it's easy for you to set it up it doesn't have everything for example I noticed that you can Emoji react to something and that won't show up in linked out right now unile does have it in the API but what we're giving you is a really nice Foundation you've got the database you've got threads in the UI you can send messages you can generate AI messages it's got Auto tagging and the Snippets we did all that in a couple days so imagine what you could do if you clone it set it up and Tinker on it here and there on the weekend you're going to have the perfect LinkedIn inbox for yourself now if you do something really cool it'd be nice if you contribute it back to the original GitHub and if you make a non-trivial contribution I'll definitely get you some flow grammar swag between you and me I was really hoping opening that on camera we'd show how in like a day and a half we built an entire app end to end and launched it if you've ever worked with me I am optimistic to a fault um so I do sometimes overestimate that and on the plane Rider I was a little down I kind of felt like ah I failed at that but like we talked with being able to build an app that is actually useful in a couple days sure we had to spend an extra 2 three days getting it nice and again half that time was making it usable for other people but yeah in that short of a Time building what we built I reckon that's a success so job done after I put out the trailer for this video the wonderful folks over at unip pile got wind of my project and they're going to give 50% off unit pile for 3 months uh with code Max from NN this is all going to be in the GitHub when you set it up by the way I'd be remissed to say my coupon code is Max 50 so for NN Cloud Max 50 gets you 50% off to pop the coupon code after your free trial when you're picking a standard plan um but you can also self-host in and I'm really bullish on this documentary style format when I pitched in an I basically said look there's a bunch of really interesting people using some of the coolest tools in the world and I think that's a really cool story and I think we should tell that story when I was watching this video before publishing it I think we did okay but I think we can do way better in my vision we would have showed a bit more of the building itself between you and me I was the flammer the videographer the producer the executive assistants and there was quite a lot to manage so if you like what I'm doing here support this project by setting up linked out drop a comment give it a share because at the end of the day if I can show my boss that the people want more of this want edutainment as I'm calling you like that one then I can do this bigger have more build days get a bit more rest in perhaps even get a videographer so I can focus on more flow gramming basically do more PS this would be a great time to mention that I think I've almost got Louise convinced to do the AI summer Villa in Greece summer 2025 so just keep pushing push push almost got it bra I'm Max the original flow gramar and this has been a special edition of the studio the project where I share the stories of flow gmers across n's Global Community happy happy flamming remember doing with from the street they left me on my own asking me about how I got the P told leing M then ring my phone ringing off my phone CH but mind I got patience light come close but swe with a your my condo TR with a gat for the

Другие видео автора — n8n

Ctrl+V

Экстракт Знаний в Telegram

Экстракты и дистилляты из лучших YouTube-каналов — сразу после публикации.

Подписаться

Дайджест Экстрактов

Лучшие методички за неделю — каждый понедельник