Community Hangout, Friday, April 12: Creating custom integrations for n8n
54:42

Community Hangout, Friday, April 12: Creating custom integrations for n8n

n8n 18.04.2024 1 849 просмотров 26 лайков

Machine-readable: Markdown · JSON API · Site index

Поделиться Telegram VK Бот
Транскрипт Скачать .md
Анализ с AI
Описание видео
Community Hangout, Friday, April 12: Creating custom integrations for n8n With close to 500 native integrations, chances are you that you can use n8n straight away. But what if you need an app that’s not supported natively, or something that’s very specific to your company? ​This month, we’re looking at how you can use n8n beyond the native integrations. Planned presentations include: ​- Using the HTTP node: learn how to set up the requests and credentials for almost anything. - ​Creating custom n8n nodes: a high-level overview of the possibilities and limitations of creating your own nodes - hosted by @BramKn ​As always, we’ll wrap up with a round of questions and answers. Chapters: 0:00 Welcome 0:40 Agenda 1:24 Community Updates 5:13 Jobs 6:18 Product Updates 16:46 Session 1: Using the HTTP Node 37:17 Session 2: Custom n8n Nodes

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

Welcome

hello everyone thanks for joining us again in this April hangout and um today we have a couple of interesting updates for you uh we have some product updates we have some stuff going on in the community um and we have two great speakers who are going to be talking about extending n8n by creating custom Integrations so you may have run into that point where either we do not have a node for the app that you need or we do have a node and it doesn't have the method or the operation you need well after today you will know exactly how to fix that and how to build your own Solutions and just move your project along um

Agenda

so uh what is it going to look like I'm going to be starting with some Community updates today first then I have a word from our uh hiring Department we have a couple of interesting jobs that I want you guys to be aware of product updates I have a couple of things that are live and in production now and I can give you a glimpse of some stuff that we are working on so I think that's going to be exciting and then Aman Community member is going to be speaking about using the HTTP node for custom API requests and Brum is going to talk a bit about creating custom NM noes so that's not going to be an in-depth Workshop but it's going to show you about like the pros and cons and when to use it and like what's the the strengths and weaknesses are

Community Updates

are um so first point um I would like to introduce to everyone the n8n Navigators we've been working together for a couple of weeks now and um what happened is we realized that we had a uh a group of Highly active users on the Forum who are providing uh support to each other um and we wanted to to encourage them and to support them as well by uh giving them a more direct link to the uh to the n8n team by giving them a more direct link to each other and by giving them a bit more uh a few more tools on the Forum to make it easier to see what needs to be uh solved and what not and um the for members that we have in this team right now are barck Brum who's also here ortom I'm not sure if ior is here today and Liam who is here I just saw him so that's great so uh you have probably already noticed a lot of questions from them and uh and yeah you will uh continue seeing them too we're also developing uh bit of extra exclusive Swag Like merchandise for them so we hope to have that in the next in the course of this quarter um everyone gets a free Pro Plan and uh if you are interested in joining this team or if you if this is something that you like doing uh just become active on the Forum and we'll pick up on it and we'll see you um I need to switch setting here for myself okay um right so next hang on I'm missing one slide it's not doing what I want yeah here we go stuff that's in progress in the community team uh this quarter we're going to be launching a community newsletter so we have a lot of cool stuff to talk about to you guys and we haven't been really great at doing that and so we want to have a monthly update sharing new features and new uh new solutions for things you can work on with Na and we will be sharing Community stories sharing like featured templates Etc um so it's going to be really uh really interesting mix of community and product uh updates um and I think you're going to enjoy it uh we're currently implementing everything and I think we'll have something in the next month and a half or so keep an eye out for that then we are uh developing an ambassador program and that's bit of like a nebulous words right it could be all kinds of things and we're trying to figure out what it could mean for us but some things that we definitely have in mind is uh the Navigators could be part of that uh we're also thinking about physical meetups so we would like to have local events where you could meet up with interested people uh and we'd like to do that worldwide so we'll be looking for people who can assist us in hosting these things and we will support that with uh suggested program with like merchandise with some uh being able to expense some costs like drinks and snacks for your people Etc so um yeah more about that this quarter as well um and also for our shop uh we want to have a bit of new merchandise so we've had t-shirts and uh some things for a long time and we would like to expand that range with some cool stuff um and uh if you have anything that you are really eager about and I've heard a couple of things like people would like to have coffeee cup and I would like to have a nice cap uh just let us know and we we'll see what we can do with for you then um next Point uh hiring so uh NN is

Jobs

growing quite fast this year um and if you look at nn. com careers you will see like almost monthly changing list of job positions that we have for you at the moment we are for people to help us in sales and uh products we're looking for a senior finance manager looking for two AI engineers and a backend engineer and now all of these roles are remote and based in Europe except for the uh sales development representative that's a job that's based in Berlin um yeah and if I can I sell this a little bit more uh Anan is a great team to work for so if you're interested you should definitely do it uh we're about to leave for a couple of days of offsite in Berlin with the entire team um so you might also notice that we might be a little bit slow responding to questions for the next couple of days um but yeah you'll hear more about what we did afterwards I suppose with that said and I'm probably jumping to yeah this is right product

Product Updates

update time so um last Meetup in March Nick was talking to you guys about the Creator Hub and there was a lot of interest in paid templates um and I'm happy to say that this is live now you if you're a Creator on the Hub you now have the option to add a purchase URL to your products and a price and so when people find your template and they click on the button what happens is we take you to that destination site so it could be gumroad it could be any kind of like digital content platform where you can make sales um and the transaction takes place there so n10 is not taking a cut out of your sale uh in any way uh but it's up to you to set the price and to negotiate terms with the provider there the um we are still thinking about giving guidance about uh prices or good products Etc so uh stuff like that will come naturally but for now we'll be looking at what's happening uh who is selling at what price point uh what the volume is ETC until we can start giving you some advice about that um also realize that if you want to sell something it's really is up to you to promote that as well so we might feature your template and it might pop up in social media but that's not a given so if you want to be successful you need to do your own marketing right and share it on your social media or your website or wherever you're active and you uh you meet people that's the first one then second update is our new affiliate platform is live so we have moved from tap affiliate to partner stack and this means we have a much more robust affiliate platform in place so uh tap affiliate sometimes had issues where it missed transactions and we would manually fix that but it was annoying and it was a little scary for the Affiliates and uh we find that partner dech is much more robust and it's giving us some more options for future growth as well um as always you get 50% Commission on the first year of revenue from any new clients that you refer so it is very profitable very interesting uh proposition I think and if you are interested you can visit nn IO affiliat Affiliates to see more information also if you're an existing affiliate um we have already migrated your accounts and we have communicated to you about that there is a migration guide that's also a available on the link that I'm just showing here um and so everything should work pretty smooth okay so um okay then um further product updates uh over the last month we implemented three new trigger nodes so now you can use one drive Salesforce and twilio to trigger your work uh workflows these were the nodes that were in high demand uh and we saw a lot of uh users using HTTP nodes for example uh or web hooks to drive these automations um and so this made sense for us to uh to fix that hang on there you go next product update um we implemented a couple of usability improvements uh you may have already noticed it since these are in production already but we improved the autocomplete for Expressions so now is much smarter giving you the right suggestions for the type of data that you are uh are looking at it will give you the right uh the right functions to use and better documentation and we have also added a way to view earlier notes in your workflow so it's easier to get data from previous notes there and we gave it the general uh touchup as well so everything looks a bit uh bit more clean um and also we improved the error display so we're adding more information uh we are uh showing for example your n8n version uh your node version Etc and that's relevant because there's now a little copy button and here if you copy that it will copy the entire error report so you can share it with support or on the Forum so that's going to be a lot easier to uh to get help your issue and it's going to save us a lot of time uh asking for stuff as well rearrange my screen okay now to the stuff that's in progress so this is not available yet this is still under construction um the HTTP notes that we're going to be talking about later as well is one of our most popular not because it allows you to extend n10 but it's also kind of a barrier for people who are not that technical uh and so we we've been thinking about ways to use AI to improve the experience here and what you're seeing here is currently in developments so basically how it works is on the HTTP request node there will be an Ask AI button and if you click it will ask you which service you want to work with so in my case notion and what kind of request you want to make and you can just describe write that in natural language so here I'm saying search for Pages containing B and then it will think for a little bit and come up with the following settings here uh and you will notice that it's it adds the right uh request method URL it adds the authorization fields that it needs um and the request itself um and so it's pretty reliable it doesn't just make this up we trained it on 600 supported services so the we actually it knows what it's uh talking about if you ask outside of these Services things get a little wonky but you know that's what AI does um another thing that we did is if I was to click test this step right now without setting the uh the bearer token for example I would obviously get an error like here authorization fails that makes sense right and we also added an Ask AI feature here because now we know that we're working with notion it's can give you ta advice here so after thinking for a little bit AI will come up with this text explaining that you need to add a token and how to do it and if you scroll down it will link you to the right page on the notion website to get the uh the token Etc so I think that's very exciting and it's going to make uh working with this note a lot easier um as I said it's still uh in development so I do not have a timeline for you when this will be available so for now it's still up to you to figure out how to use the HTTP noes and how to uh structure your H your AP API requests and that is exactly what our next speaker will be talking about but before I switch to him I'm curious if there's any questions um and I saw a lot of chat here but I do not have any questions here Louis do you have anything for me I was looking at it probably the main one is uh if we can add training to our own apis which I think the answer is not for now we are just exploring this for internal use cases and from the HTTP node no right yeah I had this discussion before today and I I feel that if you are if you understand the API well enough to train your own API on it you probably don't need to ask AI to fix your HTTP requests anymore does that make sense the uh make. com to NN converter or any kind of service to N I suppose um I know we've done a couple of experiments with that uh it would be really interesting but it's also really hard to do it well and I think what we learned so far is that converting entire scenarios is quite complex and converting nodes one by one is going to give you more success so maybe that will be a first step at some point yeah there is a list of supported Services as I said there's about 600 and I I saw that list today um and uh I suppose that will be published right now you need to manual like the name of the service is a text field and I think it probably makes more sense to make that like a selection at some point so that you can only select from the data has been trained on um and if it will continue to be added to I can I can only assume we will keep improving that it becomes a successful feature yeah and the aski on community versions that is the we had the same question for the code note where you also have ask AI currently only on the cloud um I know the team has been discussing it uh there's a couple of questions around it still I mean you could of course enter your own uh open AI API key for example but then you would still need to have the vector database with the trained information right so it's not just the API key we need to provide more information so you can insert it into your own database before you could use the AI um so there's always more questions when you think about features like this like how can we make this easy affordable for people Etc but it is a point of uh discussion and I assume that at some point we'll consider the same thing for aski in other areas of the tool yeah um using injecting Swagger J someone ask a I probably I don't know any other questions no more question bar for no more questions all right well um then that means it is time for our next speaker or our first Speaker hudan are you here um hiber hey there you go yeah I will stop sharing my screen now uh and you can take over um okay so let me just Begin by sharing my screen here um is it visible yep there you go y uh so hello everyone I am Amin

Session 1: Using the HTTP Node

and uh I have been uh a long time user of n since the early days and so I think one of the most versatile nodes is the HTTP node right um You can do a lot with it but um today we are specifically going to look at uh two different uh problems or two different cases where the HTTP node becomes really useful and that's when um that's when you want to use it to implement or you know add a function to your workflow that an existing node does not already have and also when you want to say you know bring some data in or talk to another application for which you know there is no native n node right and the HTTP node is obviously not limited to this functionality and you can do other things with it like web scraping but today this is what we're focusing on um so let's jump in but before we go in um one thing quick thing that most of you may already be familiar with but is worth mentioning is a quick refresher on apis so very simply put an API is uh is a way for you know different applications to talk to each other and usually it is you know through a standardized format which these days tends to be you know Json and um there's of different types of apis but what is most relevant here today is http or you know restful HTTP apis and there are some methods that you can use to interact with apis and I have listed some most common ones that you know are most frequently used and um you can see them listed here so there's get which is normally used to read data from an API post which is used to kind of you know ask a question or send data or write data using an API and often you reer response you know for the data that you send uh a put and a patch are both very similar a put request is used to replace existing data that is you know that the API is serving to you uh a patch is to a patch request can be sent to update data and delete is very self-explanatory it can be used to you know delete data and this becomes important because um standards compliant apis all follow these um these request patterns and those are what we will be using uh in our examples and when you build a workflow you will need to set these up you know to talk to these different services that you want to connect with your workflow right and so I think uh it's easy to break this down into a set of Steps A playbook for you to follow if you will uh so the first thing that you want to do uh say you have um you have an application and you want to do something with it that you know n10 does not currently support the first thing you want to do is find out if there is an API right and uh you can do this by simply going in to the uh application documentation uh or the website of you know the service that you're trying to connect to and you know start looking for um API documentation and the next thing you want to do is once you've determined that there is an API for you to connect to an0 you want to make sure that um there is some kind most apis Implement some kind of authentication so you want to understand how to authenticate with that API in case it is necessary the third thing is find the specific function that you need say for example um you know you want to you want to send a message or you want to pause Spotify and right now na10 has it but if you want you know you have to make sure that the function or the thing you're trying to do is supported by the API and then you just create that request in N1 and we're going to look at uh examples and screenshots for each of these steps and then we're going to look at an example uh that uh adds uh functions to na for a node that already exists and for a function for to talk to an application that does not have a native note for an1 right um so uh the first so like I mentioned before the easiest way to find out if there is an API is you can check the website you can read the application documentation and normally you will find U things about the API under the developer section or uh you know the integration section uh and often more often than not you can just you know do a Google search for the name of whatever you want to connect and just add API or API documentation and you know Google should just find it for you um here is uh a quick video of me finding uh the API for an application called outline uh it's a Wiki app that I tend to use and this is something that you will see in other examples as well so you can see that I was able to go to the website and find the developer section and I've also done a Google search outline wi key API and the first result takes me directly to you know all of the documentation about the API so from there I can start to read it and you know find the functions that I need right um so but before we do that we need to make sure we have access to the API and um there's two ways right now in n81 HTTP request node that you can do this so if you are accessing the API of an application for which na10 already has a node then there is an option that says used predefined uh credentials and you can just select that and pick from your existing credentials an example of this that you will see later in this uh presentation is Matos you can just uh use the those credentials to make a request to that API um if you're trying to connect to an app that does not have a node then you have to find the authentication information in the API documentation and then replicate that setup in an nen so here I have a screen recording of me again with outline Wiki creating uh finding the authentication and you know demonstrating how to create um the authentication in the HTTP request node um so you can see I'm highlighting the relevant information as you can go it says that you it needs header authentication using a bearer token and that you can create that key in the account settings uh so I'm going to go into the wiki app go into the preferences API tokens and I'm going to create a token I'm going to give it a name and I've created that I'm going to copy that token and then go into na10 and create a new HTTP request node and under authentication select generate credential type header authentication because that's what we saw in the documentation and I'm going to give it a friendly name and you can authorization and you can um see that you need it to be authorization and then it's I'm typing in here Bearer space and I'm pasting the API key that I copied from the application and that's it right and you can follow similar steps for any application that you want to connect with an10 just select the appropriate authentication method here it was header o select the appropriate one and then just take the information from the app and you know put it in um and then the next step of course is then to go through the API documentation and find out the function that you want it to do so in the example I'm showing today since I'm demonstrating with a Wiki application I'm going to search for a document with keywords right and I'm looking for in my Wiki a branding guideline that was written a while ago and so this is the API documentation for uh searching uh all of the documents in my Wiki and these are all the options that you can use and you can see at the end of the screenshot that it's a post request uh and the end point is documents. search and the endpoint is the URL that you make the HTTP request to for that specific function and you'll see me do that um in this uh in this example here uh so in this workflow I implementing not one but two requests uh from for the same app one which searches for all results and then uh retrieves the first search result from the wiki right so let's take a look so you can see that it's uh it should say documents. search and there's the endpoint URL I'm using and I'm selecting the API credential I've already created and I'm making sure that I'm specifying a query parameter that's as you know mentioned in the API documentation and I'm searching for the word brand guideline and you can see that I'm getting search results and then I'm using another API call to the same API to retrieve that document and I've taken the document ID from my previous request and passed it on to this one so this is a good example of when you can also connect multiple HTTP request nodes to accomplish you know a series of things say there is an app that you really need multiple functions with that no node is available for this is something that you can do right um so this is an example of how to utilize an HTTP request node uh for an application that does not have a node at all uh it is rather straightforward and simple as you can see and I hope that you all give it a try the next example is going to be um for using um HTTP request to perform a function uh for which that's not available in the native na1 node so like I have talked about it earlier so here what I'm doing is uh I have a slack workspace uh that we use and I have we also have a mattermost chat application that we talk on but uh sometimes you know when we when say I take a lunch break I update my slack status to say that I'm away but uh I may not do so in the other app rate and it can be quite a hassle and an does have a MOS node but it does not support the function to update your uh status right so this is a workflow that will uh copy that will mirror my slack status uh into mattermost every five minutes and so if I'm away for lunch in the next five minutes this workflow should run and automatically let people know that um I'm you know aware right so let's take a look at that so you can see the workflow already here I'm showing here the API request let me just pause it so um this is uh this URL is the mattermost um API Endo for setting uh for set setting a custom status right and if you go down you can see that I am passing an emoji and a text so which is you know the icon and the message that is displayed in your status and the other one is presence so that's basically the little green circle that says you're online or offline interestingly in slack and Mos these are two separate things and you can see here that um I'm demonstrating here that the statuses are you know different and online on either application and I'm going to go ahead now in slack update my status to say um going to rest and change my icon to a bed I'm going to save that and then I'm going to change my little online green thing to you know say that I'm away and then when I run this workflow it should get that status and presence from slack and then replicate on mattermost and if you see that it says the same thing and says that I'm away right so this is an example of using um uh the HTTP request node to just extend an existing nodes function and one key thing that I want to demonstrate here that I may not have pointed out before is if you can see this HTTP request node that I'm using for mattermost as opposed to the first example here I am using authentication as the predefined credential type so I'm not manually creating any authentication but rather I'm using what if the authentication and the credentials that I have already saved for the built-in Matos node so that's one key thing that I want to point out here I have not um I have not here you know shown uh demonstrated you know pulling the M most API documentation or you know finding that endpoint but it is very straightforward for most apis that are documented and you can just run a similar search and then try a similar workflow for yourself right and for the last example this is more of a um an edge case so to speak um done one comment we're running a little bit out of time so if you could speed this part up a little bit that would be great yes of course um so this is about dealing with pagination and rate limiting U so sometimes apis don't return you know all the possible data and they return it in smaller chunks uh because it would be impossible to return a huge data set and the way they handle this is by returning chunks of data and this is called pagination and this video is an example of uh of a workflow that pulls you know posts under from the na10 community Forum that says you know the tag cloud and um and just you know displace them it uh it iterates through them different pages and pulls those uh posts out and there's a time out for 5 seconds uh to prevent the community Forum itself from blocking us uh with something that's called rate limiting uh but let's just uh Jump Right In here and you can see that there's the request that's created and I the query parameter is Page and you can specify the item that you need to iterate upon you maximize the for us oh yes sorry um I think sorry yep here we go that's and yeah so I'm just going to skip through the execution part because that's just a lot of waiting and Skip here through the output and you can see that you know there it has fetched six different times from the API which is why it says there are six items and it has fetched you know uh different U users and posts that have been made under the cloud tag on the community Forum so this is an example of you know something that's a little more uh Advanced or complicated uh like an edge case that you may have to deal with which is pation and rate limiting but I think I'm running out of time now so let's end you can find me as sman on the community forum and feel free to ask me any questions uh but do we have any question yes we do thanks Mudan this was really great examples too I like the synchronization of the the statuses there um we have two questions I think you you kind of touched on the second one already the first one um hang on let me just go back to sharing my screen yes first you need me to stop okay oh no that's fine first question is can we use HTTP node with apis that uses oos and I think it's kind of related to the second one right the difference between generic and predefined authentication yes um yes you can use HTTP node with uh apis that use oath and if you're use doing it for a node that already uses oat you can do the predefined authentication and if you are not then you can go into generic and then you can select oath and oath 2 as a type and then you can put in your client ID client secret and you have to of course configure na10 with n1's call back you that is provided in the other site and you can totally do that and connect your account that's possible and you can find the documentation uh on the N website it's quite uh clear um the next question I'm seeing is what is the difference between generic and predefined authentication uh predefined authentication is a way for you to reuse uh saved credentials from existing nodes so in my example I had a matamos node but I also used the HTTP request node to make a request to Matos API but instead of configuring a separate credential again just for that HTTP request I just used those same credentials that was saved for the mattermost note that's predefined authentication generic authentication is when you configure something uh that for a note that's not already there and you might have to do it for every single h GTP request node and there is not much reusability um any other questions no I think that's it Louis any last minute additions no new ones some conversations in the threads there in the chat but I think those were the main on okay all right wellan this was a great introduction thanks for this overview and I'm sure we can reuse this video for a lot of people afterwards as well um with that said uh let's switch over to our second speaker Brum who's going to be looking at how to create custom nodes and why you should or shouldn't do it I'm gonna stop my share now hello or is yours let's see if this is going to work and of course it will um so you have seen how to use the

Session 2: Custom n8n Nodes

HTTP node seems complicated if you're not that technical um so what do you do if there's no native apps uh or no native nodes uh for your app um of course you can not automated not we we'll skip that um you can find a community note there's uh 563 at least when I created this uh this thing um that's plenty I think um there's also uh more nodes coming uh pretty much every day so maybe it's more you can use the HTP Noe like was just shown uh that's a little bit complicated for some things uh but sometimes the API is fine and can easily be used depends on documentation of course and on your level of expertise which you can also develop your own node um you can do this for apis but you can also do it for logic so for example if you have a little bit of code where you do uh some modification of the data or stuff like that um you can also just create a note for that one example is for example the uh knowde that we created to compare two sets of Json uh where you actually just yeah you push into data sets and then the comparison is revealed uh that was made with an external package making it very easy and if you do not have um the capability or the time to create your own nodes you can also hire someone like me or one of the other partners or developers that are available uh to create your nodes so of course always a choice now as you can see there's uh a lot of notes uh you can find them on mpm uh pretty much all of them should be o open because that's npm of course uh there's also some duplicates so for example at Discord we'll probably have more than one note probably more than five actually um so then you have to choose what works best for you of course you can just test them out and see how it works and if it's doing what you want or even install multiple if one has the one function the other has some other function that you want to use um there's plent to choose I get asked a lot um if uh they should develop a note for my clients there are some pros and cons of course um and it's basically these things so the usability is of course a lot better if you have just node then almost everyone can use it so you don't have to do all those things like uh was just shown it makes a lot simpler for the less technical people um and of course you can then reuse it and make and use it easily uh you only have to research the API once as you have seen with amadan um if you have to search the API if you if you need a new functionality uh and for example if it's like 3 months later uh good luck because then you have to pretty much start from scratch at least I don't remember a lot of things three months later uh so if you create a note you only have to research everything once because you're diving into it you're creating the node and everything is in it right uh of course maybe not with all the functionality but probably that you're actually going to use and as well the credentials Amon also showed you uh that you can use predefined uh credentials it's very nice to just create your own node have your credentials in there and everything works um sometimes an API is uh fairly annoying with their credentials and then it's very easy to just have it in the node and it works instead of having your generic credentials even some options are not possible in a generic uh credentials and then you can add those things in the custom credentials as well uh there's of course some uh cons uh yeah it takes a lot of time to create a node uh depends on on your skill level and experience with creating nodes of course and also um how much functionality you're going to put in it but of course you can um uh just have it uh be done by someone else and then it might take less time of your own time at least um and you cannot start automatic directly because of course the node needs to be created so if you need something quick then you'll just use the HTP node um and it will be fine um so the flexibility is also of course an issue uh or at least not an issue but uh if you need to add some functionality that's going to be annoying to um to add cu the guy that created the node has to add it them um so that's a bit of an annoyance but you can use the HTTP request node as amadon showed uh to use at least the same credentials and everything is set up and then you just have to do that one thing with um with the HTP request node and of course if it's something that you need to do once and it's not too big of a deal you cannot have it be uh put into the node itself uh that's of course a choice uh you can make and for the logic nodes there's pretty much the basic uh or the same uh pros and cons but you have um also the reusability because of course if you use code and for example with parameters that you can change and then reuse the code somewhere or whatever uh for a less technical person having them going into the code changing something and then uh moving ahead with that uh that's not going to happen probably uh or at least it will only cause issues uh at least in my experience uh which cause causes more time to fix it and and debuging and stuff like that so that's very annoying so for the logic as well it's a very nice to just create a note out of it doesn't have to be very difficult like I just uh said as well with the J compare node there's simply an external package um you can just make sure that's installed with the node that you would just have the options for that and then you can just use that so the uh Json compare notes I think was created in like two or three hours um and that was while also talking to the person I was making it for um talking and explaining how it works and stuff like that it can go very fast uh and it's very useful so if you have stuff like that then it can be worth it to just create it and then use that and of course flexibility again but yeah uh you can just go no that and stuff sadly um and then Cloud doesn't support Community notes I had to include it I'm sorry for the NN team but uh I have to do it um it's fair we know I I really want to promote Cloud more but yeah I I'm a big user of community noes and stuff so and we are aware of course right so we are having conversations about how to fix this there's obviously some security issues around this that's that give us pause however we are working on a lot of in infrastructure improvements and with luck we can actually support custom Lo Cloud later as well that would be perfect because then I can finally push some of my clients to Cloud because they don't need their own server but yeah all well so how do we get started if you have a note you want to create I'm not going through the whole thing because there's enough documentation and there's a video of Marcus uh doing it and everything um so I'm just going to do a few little things and some tips there isn't note starter which is uh actually perfect because I've always used it uh when I started creating notes there wasn't a notes s but now there is uh so since it was there I've used it uh you can just go to the G page and then use this templates then you get a copy of the repo uh there's two different nodes in there as an example so the programmatic style one and a declarative style one I've never used a declarative Style so I cannot even help you with that uh because when I started creating notes it wasn't an option so I stick with what I have learned in the past um so you basically get this template and then remove the one that you don't want uh so for example if you want the programmatic style one then you keep the example note and remove the HTTP bin note after that make sure to go with baby steps uh so for example if you start with starter just make sure to delete everything you don't need so the other node and maybe if you're doing a logic node uh remove the credentials stuff like that and change the names of the node and the parameters that needs to be changed uh and just test if it works because the example node should work uh out of the box with the template of course um so make sure it still works after you change the names and stuff like that and the logo maybe uh just make sure it works before you even start building the node itself um and then design the node before you actually start building the functionality inside it because if you just start coding away you might recognize it if you have coded anything uh it's going to get messy very fast so just make sure you know what to build and then uh build it I always start with the UI because then you get a feeling of all the things that you want to be able to do with it makes you also think about those things so if you are not uh designing it per se at the start then the UI will force you to still think about uh the actual functionalities and after that you can just uh create the functionality like the API calls or the logic or whatever you need and do not reinvent the wheel I am not actually a programmer I used to be a bi consultant uh know a lot of scripting and stuff like that but I'm not a programmer I can do it a bit um you just grab whatever you need because all the source code is available uh so you can just uh Peak into the code of the nodes uh that have the certain um options uh that you need so for example if you need the button with options with M multiple options that you can um select and stuff like that just grab it from a note that you already know that it has it um you don't have to reinvent the wheel and saves a lot of time and Hassle and stuff like that are there any questions there are I have two questions here on the list so far uh well one is a suggestion um let me start with a question can I create private Community nodes as well so do you always need to publish them to mpm or are there other delivery methods you don't have to publish them uh you just have to make sure you install them with NAD then when you want to use them uh that's a question I always ask my clients um do you want to publish them and I always recommend just publish them because it's easier to install them if you do and it's also just giving back to the community uh so like 90% just want me to publish them after nice that's really cool yeah and second one is a suggestion which I think is interesting um that says would be very nice if you could simply convert the code node into a custom node so that you could use you could predefine inputs the moment I make do with creating a corresponding workflow and executing it either via HTTP node or execute workflow FL Noe so that's kind of an interesting idea so you could like convert it into a uh a ready to use or share yeah I actually created a node which started as a logger node where you can put uh parameters in and then it will run um a sub workflow and then you can choose if it Returns the data from the sub worklow or it doesn't and you let it not do that if you just log it cuz then it will just continue the flow and it has logged some data for example but you can use that sort of a function node where you can just put the parameters in and then move to a sflow and then grab those parameters do something with a code for example and if you make that smart enough with expressions and stuff like that you can basically uh create whatever you want inside that Z workflow and then it's also not bound to the code no so it's already doable then I if you are not in Cloud yes yes yes I know uh okay um next question it's bit long um regarding custom nodes are there any plans to add JS doc strings to the different interfaces and properties in the n8n base because it can be difficult to understand what the different property values are Etc um that's really a question for our uh product and engineering team I do not have an answer for you but we can definitely look into that and share more information one for the form yeah exactly um unless there is someone from those teams online who can jump in real quick now not even John knows it happens he still in my shed okay last question I have here is there documentation for the API to custom nodes for example node API error is documents apart from in the n8n doio code sor what I don't really follow this question is there documentation for the API to custom for custom nodes for example node API error again let's look into that and we can post about it on the Forum afterwards if it's about the code that you have to use for the errors um you can just steal it from other nodes that's basically how I do it all right that's the questions I have here and there's more Louis are we all we all good y all good those are all the ones okay well BR this is where you do your pitch for your services no I just have it on screen and you can email me if you need me all right well everyone already knows you I suppose right so awesome thanks uh to both the speakers you were amazing and you gave really great information for everyone um so with that said um where did my screen go I here um all right so that's it for today uh this is the end of the official part of the Meetup I'll stop the recording after this and then we can have a bit of uh chat time after that um if you would like to speak on this uh hangout next time contact me at Bart nn. or if you have a suggest for topics or any other ideas we'd love to hear them so let me know and um that's it for now thanks again speakers amazing thanks for your hard work there uh and we'll see you guys again next month

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

Ctrl+V

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

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

Подписаться

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

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