<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tanay Pant</title>
    <description>The latest articles on DEV Community by Tanay Pant (@tanay1337).</description>
    <link>https://dev.to/tanay1337</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F23410%2F5dfe672a-ae02-421f-b53b-ab5a2817e7f4.jpg</url>
      <title>DEV Community: Tanay Pant</title>
      <link>https://dev.to/tanay1337</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tanay1337"/>
    <language>en</language>
    <item>
      <title>Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin 🎖</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Tue, 17 Nov 2020 07:53:09 +0000</pubDate>
      <link>https://dev.to/n8n/hubspot-s-hugh-durkin-talks-about-the-importance-of-automation-123c</link>
      <guid>https://dev.to/n8n/hubspot-s-hugh-durkin-talks-about-the-importance-of-automation-123c</guid>
      <description>&lt;p&gt;&lt;a href="https://twitter.com/hughdurkin"&gt;Hugh Durkin&lt;/a&gt;, Director, Product Development at HubSpot, has been using &lt;a href="https://n8n.io"&gt;n8n&lt;/a&gt; extensively in his personal life. We talked to him about how he uses n8n to increase his productivity by automating tasks such as aggregating data for filing his tax returns. Read on to learn how to reclaim your time by automating your life.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gn2nYuJR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AOM7x7zFbdPq5ywMWpFKLWA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gn2nYuJR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AOM7x7zFbdPq5ywMWpFKLWA.jpeg" alt="" width="800" height="416"&gt;&lt;/a&gt;HubSpot’s Hugh Durkin talks about the importance of automation&lt;/p&gt;

&lt;h4&gt;
  
  
  Can you tell me a bit about yourself?
&lt;/h4&gt;

&lt;p&gt;I’ve been building things online since the late 1990s, and the internet has been paying my bills since 2000, when I got my first job as a web developer. In late 2004, I “quit the day job” to set up a variety of internet start-ups focused on the Irish market, including an online babysitting service (not unlike what people call today “gig economy”) that had over 30,000 active babysitters at its peak. I also launched Ireland’s first price comparison service, a wedding planning website, and brought one of the “original” online advertising networks — ValueClick — to Ireland in the mid-2000s.&lt;/p&gt;

&lt;p&gt;In 2012, I joined Facebook as an early member of what we then called the Marketing API Team. A few weeks after I joined, it became the Preferred Marketing Developer Program, and today most people know it as the&lt;a href="https://www.facebook.com/business/marketing-partners"&gt;Facebook Marketing Partner Program&lt;/a&gt;. There, I was lucky to build and manage API partnerships with the likes of Salesforce, Wix, and Shopify. After that, I moved to Intercom, where my remit was to “launch a developer platform” — which was everything from launching a developer portal, app store, integrations with the likes of Facebook and Twitter, and managing our API roadmap and partner program. After that, I moved to Zalando as Head of Product for a Data Science as a Service Platform. Today, I work with Scott Brinker (who most people know as &lt;a href="https://twitter.com/chiefmartec"&gt;@chiefmartec&lt;/a&gt;) building out the&lt;a href="https://www.hubspot.com/partners/app"&gt;HubSpot App Partner Program&lt;/a&gt;. Two or so years ago, we had around 200 apps in the program. Today, there are about 600 apps, and this number continues to grow quickly. It’s a lot of fun!&lt;/p&gt;

&lt;h4&gt;
  
  
  What made you decide that n8n would be the most suitable tool for you?
&lt;/h4&gt;

&lt;p&gt;n8n is one of many tools I use day to day, in my work life and my personal life. I mostly use n8n for personal tasks. For example, a mix of Todoist + Airtable to automate and aggregate everything required to file my tax returns on time. I also use it to automate some of the research I do on an ongoing basis, like keeping tabs on the growth of certain GitHub repositories and sending a blended mix of HackerNews + IndieHackers + ProductHunt updates to me in one email.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TyH_MGTP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AGagjldq3cCygpMQ4T53gKg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TyH_MGTP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AGagjldq3cCygpMQ4T53gKg.png" alt="" width="800" height="287"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The other workflow automation tool I use in my work life is HubSpot. Our Workflows and Custom Workflow Actions tools are powerful, and a huge number of our almost 600-app ecosystem have integrated with them to connect sales, support, and marketing teams and automate various tasks across those teams. I see n8n and HubSpot as very complementary to each other — there are integrations that HubSpot offers that n8n does not, and vice-versa. It’s awesome to see&lt;a href="https://github.com/n8n-io/n8n/tree/master/packages/nodes-base/nodes/Hubspot"&gt;&lt;/a&gt;n8n’s &lt;a href="https://github.com/n8n-io/n8n/tree/master/packages/nodes-base/nodes/Hubspot"&gt;HubSpot nodes&lt;/a&gt; so actively managed, and I’m excited to see how they evolve.&lt;/p&gt;

&lt;h4&gt;
  
  
  What kind of workflows are you building with n8n?
&lt;/h4&gt;

&lt;p&gt;So, my favorite workflow is a bit meta — it’s one which rebuilds and redeploys n8n once a week to make sure the version stays up to date! The magic of Docker makes it pretty easy.&lt;/p&gt;

&lt;h4&gt;
  
  
  Which integrations have you been using the most?
&lt;/h4&gt;

&lt;p&gt;HubSpot, to dog food our APIs and quickly understand how they might interact with other services. I see n8n as a way for potential or existing HubSpot App Partners to create proof of concepts ahead of building full production versions of their apps. The HubSpot Trigger node is pretty powerful, lots of exciting use cases there. I’m also a big fan of the Todoist, Bannerbear, and Airtable integrations.&lt;/p&gt;

&lt;h4&gt;
  
  
  What’s the most useful feature of n8n for you?
&lt;/h4&gt;

&lt;p&gt;The Split In Batches node. For long-running jobs where there may be hundreds or thousands of API calls required to enrich datasets (for example), it’s a pretty neat way to batch up those requests to stay within API limits. The Expression editor is pretty powerful, too, especially so for developers and power users.&lt;/p&gt;

&lt;h4&gt;
  
  
  Have you automated things with n8n for personal use as well?
&lt;/h4&gt;

&lt;p&gt;Absolutely — that’s what I mostly use it for. I’m eager to experiment more with it for home automation purposes. We have a Nest doorbell, for example, and I’m sure there are interesting things we can do to make that even more useful, to send alerts and notifications in different ways. My wife and I have a busy 2.5-year-old boy at home, too, so there are always jobs to be done and reminders to be set 🙂 I’ve also started using n8n to keep track of some stocks I follow and let me know when certain types of share price movements take place.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yK-e4XJn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2A90CwlvcVCNpzWnAknPqfOg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yK-e4XJn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2A90CwlvcVCNpzWnAknPqfOg.png" alt="" width="800" height="216"&gt;&lt;/a&gt;Hugh’s workflow to check on the stocks that he follows&lt;/p&gt;

&lt;h4&gt;
  
  
  What advice do you have for people looking to incorporate n8n in their teams or projects?
&lt;/h4&gt;

&lt;p&gt;Think of it as a complement to your existing stack, understand what’s unique about it, and understand how that unique value could be integrated with what you already have. Although it’s pretty simple to use, it’s a power user type of tool, so there may be certain teams or team members that will embrace it more quickly than others. Also, start with existing nodes before trying to roll your own — the HubSpot nodes are a great example of how much can be done with pre-existing nodes. Last, but not least, choose an easy to manage way to set it up and deploy it.&lt;/p&gt;

&lt;h4&gt;
  
  
  How do you envision using n8n in the near future?
&lt;/h4&gt;

&lt;p&gt;I’d love to use it more to spin up a proof of concept of an app that could potentially get listed in the HubSpot App Marketplace. I’ve not had time to build an app for that myself yet, but maybe over the holidays, I might spin up something simple and useful for HubSpot customers to make the most of.&lt;/p&gt;

&lt;h4&gt;
  
  
  What’s a feature that you are looking forward to or would love to see in n8n?
&lt;/h4&gt;

&lt;p&gt;More nodes focused on home automation and consumer use-cases. These types of nodes and features might be useful as tools to help teach kids programming concepts in a “real-life” environment. It would be cool to see the Expressions editor improve, too, to help non-technical users understand how to make better use of it.&lt;/p&gt;

&lt;h4&gt;
  
  
  Where can readers find more about you?
&lt;/h4&gt;

&lt;p&gt;I blog at &lt;a href="https://www.developerecosystem.com"&gt;developerecosystem.com&lt;/a&gt;, and you can find more details about the HubSpot App Partner Program &lt;a href="https://www.hubspot.com/partners/app"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;n8n users come from a wide range of backgrounds, experience levels, and interests. We have been looking to highlight different users and their projects in our blog posts. If you’re working with n8n and would like to inspire the community, email me at &lt;a href="mailto:tanay@n8n.io"&gt;tanay@n8n.io&lt;/a&gt; to tell your story&lt;/em&gt; 💌&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/"&gt;post&lt;/a&gt; originally appeared on the n8n.io &lt;a href="https://n8n.io/blog/"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>interview</category>
      <category>api</category>
      <category>stockmarket</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why business process automation with n8n can change your daily life 🧬</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Fri, 06 Nov 2020 15:40:00 +0000</pubDate>
      <link>https://dev.to/n8n/why-this-ceo-loves-n8n-4398</link>
      <guid>https://dev.to/n8n/why-this-ceo-loves-n8n-4398</guid>
      <description>&lt;p&gt;&lt;a href="https://www.linkedin.com/in/miquelcolomersalas/"&gt;Miquel Colomer Salas&lt;/a&gt;, founder and CEO of &lt;a href="https://uproc.io"&gt;uProc,&lt;/a&gt; has been using &lt;a href="https://n8n.io"&gt;n8n&lt;/a&gt; extensively both at work and in his personal life. We talked to him about how he uses n8n and how it is changed the way he approaches work in his daily life.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6ot-X6He--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1000/1%2AiVd9jVPRD1W6U2sKwtztig.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6ot-X6He--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1000/1%2AiVd9jVPRD1W6U2sKwtztig.jpeg" alt="" width="800" height="416"&gt;&lt;/a&gt;Why this CEO loves n8n&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Can you tell me a bit about yourself?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I am Miquel, a crazy techie guy who loves everything and anything related to the internet and automation. I have worked as a CTO in several companies where operations related to data are crucial.&lt;/p&gt;

&lt;p&gt;Just a few years ago, I started uProc.io, my side project. It is a platform that provides multiple data tools that help to clean, check, improve, automate or send data from multiple sources like forms, databases, or external services.&lt;/p&gt;

&lt;p&gt;We use several combined techniques in uProc like internet scraping, Robotic Process Automation (RPA), and data curation.&lt;/p&gt;

&lt;p&gt;Additionally, we provide specific products like black boxes that combine existing tools to get the best results with minimal effort.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What made you decide that n8n would be the most suitable tool for you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;We have tested multiple platforms like Huginn, Zapier, and Integromat, to automate a lot of things like sending emails and report generation.&lt;/p&gt;

&lt;p&gt;Some time ago, we saw n8n on ProductHunt. We found it quite interesting, but we only started using it half a year ago for several customers and internal use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OGCx-2Np--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/895/0%2AYRSsqGjXZ-ONJOjh" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OGCx-2Np--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/895/0%2AYRSsqGjXZ-ONJOjh" alt="" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;n8n is useful for creating prototypes quickly at a lower cost. Some familiarity with the tool is needed if you’d like to create complex workflows, but once you acquire that, it’s easy to create complex workflows fast.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What kind of workflows are you building with n8n?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;We are using n8n for a number of different use-cases.&lt;/p&gt;

&lt;p&gt;Customers who do a lot of repetitive tasks and want to automate those tasks like:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Checking overdue invoices at Holded to notify customers that payment has to be made.&lt;/li&gt;
&lt;li&gt;Generating Google Studio reports and updating data in Google Sheets.&lt;/li&gt;
&lt;li&gt;Sending daily status regarding current and forecasted monthly revenue via Telegram.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2rqUu9GR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/0%2A4DYT-RlzGMiJSAQo" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2rqUu9GR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/0%2A4DYT-RlzGMiJSAQo" alt="" width="800" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Internally, we are using n8n to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check activity of MongoDB databases.&lt;/li&gt;
&lt;li&gt;Synchronization of new users between databases and external newsletter systems.&lt;/li&gt;
&lt;li&gt;Autofeeding databases by combining external feeds (like ProductHunt) and internal tools to discover emails and technologies to populate databases automatically.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4NYoQlsS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/633/0%2A0Y6VFdJFtT3tTvEe" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4NYoQlsS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/633/0%2A0Y6VFdJFtT3tTvEe" alt="" width="633" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Which integrations have you been using the most?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Currently, we are using uProc’s custom node to generate complex scenarios to automatically discover new prospective customers using search engines and LinkedIn results. We also apply email guessing as well as sending an email with an excel sheet containing the results.&lt;/p&gt;

&lt;p&gt;This is quite useful because you can generate a massive database of qualified leads with no effort as opposed to doing manual searches in LinkedIn.&lt;/p&gt;

&lt;p&gt;Additionally, we are using n8n to recover requests made by email to our platform and delivering on the requests made by the end-user in a faster way.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What’s the most useful feature of n8n for you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Probably the Webhooks node as well as the Google Sheets, Gmail, and Amazon S3 nodes. These are some of the critical integrations that help us a lot.&lt;/p&gt;

&lt;p&gt;We used to handle a lot of cron jobs manually. n8n easily handles all this without us having to push custom scripts to our servers. That was a very time-consuming task. Now, any tests can run in a moment without any pain.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jrjwpAE4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AqKCqoc5-8Gm0xmCr7djQeA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jrjwpAE4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AqKCqoc5-8Gm0xmCr7djQeA.png" alt="" width="800" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Have you automated things with n8n for personal use as well?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Yes, I use n8n to send emails to customers when they don’t pay the overdue invoices 😉 This is interesting and opens up a lot of ideas to automate your life and make it more productive.&lt;/p&gt;

&lt;p&gt;I have generated and evaluated multiple MVPs very fast instead of developing a custom solution from scratch by myself. And that’s a fantastic way to validate and pivot any solution with your potential customers.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What advice do you have for people looking to incorporate n8n in their teams or projects?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;n8n is useful to automate lots of repetitive tasks in your workday using existing integrations with well-known services. You can even create your custom nodes.&lt;/p&gt;

&lt;p&gt;If you are looking to generate solutions with no effort and extra cost, I recommend you to create your preferred workflows using n8n.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;How do you envision using n8n in the near future?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I think that our solutions using n8n will grow fast in the next few years. I have a feeling that all the people will go this way. It makes no sense to do repetitive tasks manually, and automation fixes this issue.&lt;/p&gt;

&lt;p&gt;Our focus must be oriented to be more productive with less effort and only perform tasks that have a high value. That’s the reason that all of us use n8n intensively.&lt;/p&gt;

&lt;p&gt;It’s a solution that doesn’t tie you to a private platform. It allows you to control your data, and it’s quite useful to create new use-cases in small amounts of time.&lt;/p&gt;

&lt;p&gt;I love tools that make my life easier and n8n is one of them. n8n is changing the way we do things now. Long live n8n 🖖&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What’s a feature that you are looking forward to or would love to see in n8n?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;One of them is probably the learning curve. Some concepts are a bit tricky and technical. A minimum tech level is required to achieve your goals with n8n.&lt;/p&gt;

&lt;p&gt;Another feature would be to create workflows programmatically. This would be useful for a lot of situations such as machine to machine conversation. Instead of building workflows by hand, it would then be possible with an API.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;n8n users come from a wide range of backgrounds, experience levels, and interests. We have been looking to highlight different users and their projects in our blog posts. If you’re working with n8n and would like to inspire the community, email me at &lt;a href="mailto:tanay@n8n.io"&gt;tanay@n8n.io&lt;/a&gt; to tell your story&lt;/em&gt; 💌&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/"&gt;post&lt;/a&gt; originally appeared on the n8n.io &lt;a href="https://n8n.io/blog/"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>workflow</category>
      <category>interview</category>
      <category>automation</category>
      <category>startup</category>
    </item>
    <item>
      <title>Why this Product Manager loves workflow automation with n8n 🧠</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Mon, 07 Sep 2020 15:37:09 +0000</pubDate>
      <link>https://dev.to/n8n/why-this-product-manager-loves-n8n-334c</link>
      <guid>https://dev.to/n8n/why-this-product-manager-loves-n8n-334c</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/hithismani"&gt;Mani Kumar&lt;/a&gt;, co-founder of &lt;a href="https://themindclan.com/"&gt;The Mind Clan&lt;/a&gt;, has been using &lt;a href="https://n8n.io/"&gt;n8n&lt;/a&gt; for both personal and professional purposes. He has been advocating about process automation and how it can bring about a lot of benefits for individuals and companies. We talked to him to learn more about his experience with workflow automation and why he decided to use n8n.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eOlRGYVO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AzXEIjoVw6nzdxLt6n5qXRg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eOlRGYVO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AzXEIjoVw6nzdxLt6n5qXRg.jpeg" alt="" width="800" height="416"&gt;&lt;/a&gt;Why this Product Manager loves n8n&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Can you tell me a bit about yourself?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;My name is Mani, and I’m a product management consultant from Mumbai, India. My day job involves me leading strategy at a design studio called &lt;a href="https://risevertise.com/"&gt;Risevertise&lt;/a&gt; and product consulting at a management consultancy for social impact ventures called &lt;a href="https://helmofeight.com/"&gt;Helm of Eight&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;My venture is &lt;a href="http://themindclan.com/"&gt;The Mind Clan&lt;/a&gt;, which curates effective tools for mental health care in India. We break through the cookie-cutter approach of the current mental health care system and restore the agency of choice of care to people seeking support through our platform. We also run corporate training, workshops, and policy interventions. We have a few SMEs and MNCs in our clientele. As a tech platform, we rely heavily on many tools, and have recently adopted n8n into many parts of our workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_rwrCbCf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AVs5MjGHP8OiRp22y5_yNgw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_rwrCbCf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AVs5MjGHP8OiRp22y5_yNgw.png" alt="" width="800" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I work as a product management consultant to multiple ventures, projects, and initiatives in India and try to act as their (unofficial) EIR, enabling them to solve challenges and scale.&lt;/p&gt;

&lt;p&gt;I’m also into design, website development, and automation. I’ve now started helping my clients across sectors leverage n8n for their automation requirements across the board.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What made you decide that n8n would be the most suitable tool for you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I hate mundane tasks. If I see myself doing the same task multiple times, I automate as much of it as possible. I’ve automated many things from email auto-responders to image compressors, ever since I recognized how much time (and energy) I could save.&lt;/p&gt;

&lt;p&gt;I never had a favorite automation tool before n8n. Zapier/Automate.io and IFTTT were great, but while the former had questionable pricing models, the latter got me worried about data privacy (which as an enterprise you need to take into account). My go-to for any automation work was relying on the APIs of the platform directly using Python and cronjobs. That works beautifully as a local solution but not so much when you are looking to include more stakeholders.&lt;/p&gt;

&lt;p&gt;n8n filled out that void entirely. It helped me not only spend less time worrying about the security and scalability of my API endpoints, but also helped me loop in any stakeholders into the process to hand over responsibilities.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What kind of workflows are you building with n8n?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;One of my favorite workflows (for the pure simplicity with which it worked), apart from the ones mentioned in my next answer, would be the ability to execute shell commands. I have now automated the mundane process of migrating/backing up WordPress sites (database + wp-content) by using the Execute Command node with the Cron node. With another project, I am piloting n8n + &lt;a href="https://github.com/hithismani/syncwp"&gt;my experimental python script&lt;/a&gt; to see what the additional possibilities here could be. Bonus is to email the admin each week to download their backup. It can optionally send the file to Google Drive too. Sounds too simple to work, right?&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Which integrations have you been using the most?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;The hardest part about a microservices architecture is trying to find ways to bring data together seamlessly. This is why I’ve been relying on webhooks, cronjobs, if/then logic, shell script commands, and so many other integrations. I’ve also relied on the Redis, Airtable, and Google Drive integration for a few tasks.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What’s the most useful feature of n8n for you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;The option to seamlessly install n8n using a single line of npm, or Docker. Though I must admit, authentication took me a while to figure out.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Have you automated things with n8n for personal use as well?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Yes! The biggest of them has to be email alerts for my personal expenses tracker. It tracks a Google Sheet with a dump of all my expenses, and shoots me an email each time a subscription is due. I’m also going to expand it soon to include more nodes and eventually replace my local python script.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What advice do you have for people looking to incorporate n8n in their teams or projects?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Though authentication for n8n itself may be tricky to figure out at first, don’t let it stop you from integrating n8n into at least a small part of your daily life. If this is your first time with the tool, it may have a slight learning curve especially with the platform’s nomenclature and workflow triggers but it’s nothing that you can’t overcome. Refer to their &lt;a href="https://n8n.io/workflows"&gt;workflows page&lt;/a&gt; to get a clearer idea of how their integrations work. Start small. Eventually, they’ll win you over. Their team members and &lt;a href="https://community.n8n.io/"&gt;community&lt;/a&gt; are also very kind and responsive if you’re facing any hiccups.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;How do you envision using n8n in the near future?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I firmly believe that n8n as a hosted option (competing directly with the big players in the market) and a desktop/mobile installable app would be a HUGE sell for anyone who’s getting into the automation ecosystem without a tech background. I see everyone from marketing executives at MNCs automating their entire campaign workflows to project coordinators at NGOs and even governments being able to integrate n8n into their daily workflows. I also see many financial and legal compliance teams being able to leverage n8n as well.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What’s a feature that you are looking forward to or would love to see in n8n?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Apart from more interactive documentation (not a feature, I know), I think the only thing n8n is missing right now is integration with all top social media platforms. The team did tell me it’s on its way though, so I’m very excited to see this come in soon. One of my favorite uses of Zapier was to automate my social media calendar through a single Excel sheet. Cannot wait to port that into n8n.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;n8n users come from a wide range of backgrounds, experience levels, and interests. We have been looking to highlight different users and their projects in our blog posts. If you’re working with n8n and would like to inspire the community, email me at &lt;a href="mailto:tanay@n8n.io"&gt;tanay@n8n.io&lt;/a&gt; to tell your story&lt;/em&gt; 💌&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/"&gt;post&lt;/a&gt; originally appeared on the n8n.io &lt;a href="https://n8n.io/blog/"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>productivity</category>
      <category>scaling</category>
      <category>automation</category>
      <category>interview</category>
    </item>
    <item>
      <title>Love at first sight: Ricardo’s n8n journey ❤️</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Thu, 23 Jul 2020 16:11:19 +0000</pubDate>
      <link>https://dev.to/n8n/love-at-first-sight-ricardo-s-n8n-journey-2mn9</link>
      <guid>https://dev.to/n8n/love-at-first-sight-ricardo-s-n8n-journey-2mn9</guid>
      <description>&lt;p&gt;Ricardo has been one of the most active contributors to &lt;a href="https://n8n.io"&gt;n8n&lt;/a&gt; and has created more than 60 nodes. He now works at n8n, and we talked to him about what drives his passion to contribute to n8n.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3XXhKier--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2A1w3DAutjJ4Gwiarbj7piDw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3XXhKier--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2A1w3DAutjJ4Gwiarbj7piDw.png" alt="" width="800" height="416"&gt;&lt;/a&gt;Love at first sight: Ricardo’s n8n journey&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Can you tell me a bit about yourself?
&lt;/h4&gt;

&lt;p&gt;I’m Ricardo Espinoza, I’m a software engineer. I’m originally from Venezuela, where I got my degree in Informatics Engineering In 2014. Came to the US the same year, to visit a friend (for a month) in Gainesville and have been here five years so far (long story).&lt;/p&gt;

&lt;h4&gt;
  
  
  2. How did you first get involved with n8n?
&lt;/h4&gt;

&lt;p&gt;Ever since I was at college I always wanted to contribute to an “Open Source” project. It was fascinating to me how a project can be built from people all over the world with different backgrounds and skill sets. I tried many times, however, never seemed to find a proper fit. The source codes were always too complex for me to understand, making it kind of overwhelming. I probably did not have enough experience back then.&lt;/p&gt;

&lt;p&gt;I had been looking for a tool to automate a bunch of tasks I was doing manually every week at my job, but the tools I found were either not extensible or I could not afford them. In October 2019, I was scrolling through Product Hunt as I used to do every morning and found n8n. I saw the explainer video, and had an AHA moment. I immediately went to the project’s website, downloaded it, ran it locally, and started to play with it. It was love at first sight.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YBWsChQ2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2A1POsaA5wXn1IeSzcMdk7lg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YBWsChQ2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2A1POsaA5wXn1IeSzcMdk7lg.png" alt="" width="800" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My first use-case was to read a bunch of emails from Google Sheets and send transactional emails with Mandrill. This is what I was doing manually with code every week and noticed n8n did not have a Mandrill node yet. This is when I knew that this was my opportunity to make &lt;a href="https://github.com/n8n-io/n8n/pull/94"&gt;my first contribution&lt;/a&gt;. Also, the fact that n8n is written on NodeJS was a huge advantage as I had been working with NodeJS for the last 3 years. It took me a couple of weeks to craft that first node and send my first PR to the project. Once it got merged, after including feedback from Jan (CEO and Founder of n8n), I got addicted to it.&lt;/p&gt;

&lt;p&gt;After this first contribution, I began to work on nodes requested by the community and got a lot of positive feedback. The feeling that you get when you know you are providing value to the broader community got me even more hooked. Next time I knew I had hit 50 nodes.&lt;/p&gt;

&lt;p&gt;I have to mention that this would not have been possible if Jan had not been such a welcoming guy. He always answered all the questions that I had, and provided guidance throughout the process.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. What are you working on these days?
&lt;/h4&gt;

&lt;p&gt;In March 2020, I got the opportunity to work for n8n. I mostly work (as you might have imagined) with nodes and provide support to the n8n community. I’m also one of the co-founders of a mobile app called &lt;a href="https://www.klippedapp.com/"&gt;Klipped&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. What made you decide that n8n would be the most suitable tool for you?
&lt;/h4&gt;

&lt;p&gt;I have used Zapier and Parabola in the past. Here are some of the things that make me stick with n8n:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The source code was open to extending.&lt;/li&gt;
&lt;li&gt;I could deploy whenever I wanted (it’s dockerized).&lt;/li&gt;
&lt;li&gt;Had a lot of integrations implemented by the time I discovered it.&lt;/li&gt;
&lt;li&gt;The overall user experience.&lt;/li&gt;
&lt;li&gt;It’s easy to add your own integrations.&lt;/li&gt;
&lt;li&gt;Friendly and attentive community.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  5. What advice would you like to offer to people looking to get started with contributing to projects on GitHub?
&lt;/h4&gt;

&lt;p&gt;The only advice I would give you is to find a project that you are excited about and is aligned with your skillset. That excitement is what would keep you going no matter what.&lt;/p&gt;

&lt;h4&gt;
  
  
  6. Are you using n8n at work to automate things there? Could you give some examples?
&lt;/h4&gt;

&lt;p&gt;Yes, I have been using it to automate tasks for Klipped. Since I’m the only backend developer there, I try to automate as much as possible. One of the workflows I used the most is ‘Weekly Analytics’’. It consists of a cronjob that runs every Monday, calls the Postgres node, and retrieves the records that meet certain criteria. It then calls the Mandrill node to send an email.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lV79yoIe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/0%2A3i3ohz6dDzgupV-R" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lV79yoIe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/0%2A3i3ohz6dDzgupV-R" alt="" width="800" height="404"&gt;&lt;/a&gt;Ricardo’s first n8n workflow&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FcMYskFX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/0%2ATf2AbOBqy9R_C8uU" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FcMYskFX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/0%2ATf2AbOBqy9R_C8uU" alt="" width="800" height="1073"&gt;&lt;/a&gt;The email generated by the workflow&lt;/p&gt;

&lt;p&gt;I have also built a similar workflow “Blast Marketing SMS” to help my coworkers to send marketing text messages without my help. It consists of two nodes, GoogleSheets node and the Twilio node. Whenever they want to send SMS to our customers, they fetch the customer from our internal tool, which returns an CSV file (with the phone numbers and metadata). Once this CSV file is uploaded to GoogleSheets, they configure the SMS on the Twilio node and to finalize just execute the workflow.&lt;/p&gt;

&lt;p&gt;This is a very simple workflow but saves me tons of times (They like to send tons of marketing messages). I used to do this “manually” writing scripts on NodeJS and consuming REST APIs. Now, I can use that time to work on things that bring value to the customers, like, building new features, fixing bugs, etc.&lt;/p&gt;

&lt;p&gt;Of course it took me some time to get them to learn and use n8n (both are sales guys) but it was totally worth it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fKl8mFMP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/0%2A0uSAomxWR_0VCJY6" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fKl8mFMP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/0%2A0uSAomxWR_0VCJY6" alt="" width="800" height="405"&gt;&lt;/a&gt;‘Blast SMS Marketing’ workflow&lt;/p&gt;

&lt;p&gt;I will definitely use n8n to automate more and more tasks. These are just simple workflows but n8n can do way more complex workflows for a variety of use-cases.&lt;/p&gt;

&lt;h4&gt;
  
  
  7. What advice do you have for people looking to incorporate n8n in their teams or projects?
&lt;/h4&gt;

&lt;p&gt;Download the project locally and start playing with it. As you start working with it, the possibilities of various powerful automations are going to start popping into your mind.&lt;/p&gt;

&lt;h4&gt;
  
  
  8. How do you envision using n8n in the near future?
&lt;/h4&gt;

&lt;p&gt;I envision n8n as we envision it as a company and it’s to be the default automation tool worldwide, enabling people to connect anything to everything.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;9. Where can readers find more about you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;You can find me on Twitter as &lt;a href="https://twitter.com/Ricardo_E105"&gt;@Ricardo_E105&lt;/a&gt; or can reach me at &lt;a href="//mailto:ricardo@n8n.io"&gt;ricardo@n8n.io&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;n8n users come from a wide range of backgrounds, experience levels, and interests. We have been looking to highlight different users and their projects in our blog posts. If you’re working with n8n and would like to inspire the community, email me at &lt;a href="mailto:tanay@n8n.io"&gt;tanay@n8n.io&lt;/a&gt; to tell your story&lt;/em&gt; 💌&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/"&gt;post&lt;/a&gt; originally appeared on the n8n.io &lt;a href="https://n8n.io/blog/"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>inspiration</category>
      <category>workflow</category>
      <category>interview</category>
      <category>automation</category>
    </item>
    <item>
      <title>Automate your customer journey with n8n: An interview with Blent.ai 🚀</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Mon, 15 Jun 2020 08:30:49 +0000</pubDate>
      <link>https://dev.to/n8n/maxime-jumelle-talks-about-using-n8n-at-blent-ai-2aba</link>
      <guid>https://dev.to/n8n/maxime-jumelle-talks-about-using-n8n-at-blent-ai-2aba</guid>
      <description>&lt;p&gt;Blent.ai has been using &lt;a href="https://n8n.io"&gt;n8n&lt;/a&gt; for increasing customer engagement and improving customer experience. We talked with &lt;a href="https://www.linkedin.com/in/maxime-jumelle-06972897/"&gt;Maxime Jumelle&lt;/a&gt;, co-founder of &lt;a href="https://blent.ai/"&gt;Blent.ai&lt;/a&gt; to learn more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M-RmaPri--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2APxV-fDoJZqnxe2hqE44L9w.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M-RmaPri--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2APxV-fDoJZqnxe2hqE44L9w.jpeg" alt="" width="800" height="416"&gt;&lt;/a&gt;n8n at Blent.ai&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Can you tell me a bit about yourself?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Hi, I am Maxime, co-founder and CTO of Blent.ai and former Data Scientist. At Blent, we provide online training in Data Science and Data Engineering. We are 100% committed to propose a fully configured development environment for our customers.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What made you decide that n8n would be the most suitable tool for you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;So far, we have used Zapier. It’s a very good tool that has a lot of integrated apps. However, the workflows were too “simple” in our opinion, and some actions were not automatically triggered. As both our engineering and marketing teams are using it, I was looking for a powerful yet simple-to-use tool. After a bit of research, I discovered n8n, which perfectly fulfilled our needs.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What kind of workflows are you building with n8n?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;We currently have two types of workflows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer engagement, which sends emails and pushes content to warm leads.&lt;/li&gt;
&lt;li&gt;Customer experience, so that we can automatically release new courses depending on their progression.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Which integrations have you been using the most?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;As our infrastructure is mainly on AWS, we mostly use AWS integrated nodes. But we also have several nodes for Stripe and Google since we are using G-Suite.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--19SI0oG6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AiqApEhoicupFxWGdLBGEfA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--19SI0oG6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AiqApEhoicupFxWGdLBGEfA.png" alt="" width="800" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What’s the most useful feature of n8n for you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;As a developer, the most useful feature for me is the workflows’ structure. The fact that you can create conditional paths with loops is essential when it comes to creating complex workflows.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Have you automated things with n8n for personal use as well?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Not at the moment. However, since I love Arduino and Raspberry, I am tempted to integrate n8n in my IoT projects.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What advice do you have for people looking to incorporate n8n in their teams or projects?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;My advice is that it requires low effort in terms of configuration, and the time saved worth it. In my opinion, the best option is to install n8n first locally, explore its capabilities, and then deploy on a remote server where multiple users can create and share their workflows.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;How do you envision using n8n in the near future?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;As our team grows, I will invite all my future colleagues to learn and use n8n, so they don’t lose time on tasks that can be automated.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What’s a feature that you are looking forward to or would love to see in n8n?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;An interesting feature would be subflows, which are a sub-part of the workflow which you can wrap into a single group and insert in any workflows, triggering it as a single node.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;n8n users come from a wide range of backgrounds, experience levels, and interests. We have been looking to highlight different users and their projects in our blog posts. If you’re working with n8n and would like to inspire the community, email me at &lt;a href="mailto:tanay@n8n.io"&gt;tanay@n8n.io&lt;/a&gt; to tell your story&lt;/em&gt; 💌&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/automate-your-customer-journey-with-n8n-an-interview-with-blent-ai/"&gt;post&lt;/a&gt; originally appeared on the n8n.io &lt;a href="https://n8n.io/blog/"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>automation</category>
      <category>interview</category>
      <category>nocode</category>
      <category>workflow</category>
    </item>
    <item>
      <title>Home automation with Raspberry Pi and n8n: An interview with Tephlon 🤖</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Mon, 08 Jun 2020 10:22:28 +0000</pubDate>
      <link>https://dev.to/n8n/tephlon-talks-about-n8n-on-raspberry-pi-50ma</link>
      <guid>https://dev.to/n8n/tephlon-talks-about-n8n-on-raspberry-pi-50ma</guid>
      <description>&lt;p&gt;In the quest of exploring a wide variety of use-cases that are inspiring, I reached out to &lt;a href="https://github.com/TephlonDude" rel="noopener noreferrer"&gt;Tephlon&lt;/a&gt;, who is an active member of the &lt;a href="https://community.n8n.io/u/tephlon/summary" rel="noopener noreferrer"&gt;community&lt;/a&gt; and has been working on &lt;a href="http://n8n-pi.tephlon.xyz/" rel="noopener noreferrer"&gt;n8n-pi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AhFXOQvTIf0Ie10DHiSV57g.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AhFXOQvTIf0Ie10DHiSV57g.jpeg"&gt;&lt;/a&gt;n8n-pi by Tephlon&lt;/p&gt;

&lt;p&gt;I am very excited to share his story with you. His experience working with &lt;a href="https://n8n.io" rel="noopener noreferrer"&gt;n8n&lt;/a&gt; on Raspberry Pi gives us a unique insight into how n8n can be useful in the IoT world.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Can you tell us a bit about yourself?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I grew up on a farm on the Canadian prairies during the 1970s and ’80s and fell in love with technology when the teacher brought an Apple IIe into my grade 3 classroom. I bought my first computer when I was 11 (a &lt;a href="https://en.wikipedia.org/wiki/TRS-80_Color_Computer" rel="noopener noreferrer"&gt;TRS-80 COCO&lt;/a&gt;) and started playing away.&lt;/p&gt;

&lt;p&gt;I got my first real opportunity to show off my skills when my Grade 10 science teacher declared that “computers will never be able to understand human speech” (you have to remember this was the mid 80’s). A week later, I had hacked together an old CB microphone, a broken joystick, and maxed out the 16k of RAM in the TRS-80. I was able to demonstrate that the system could understand 6 specific words that I spoke!&lt;/p&gt;

&lt;p&gt;This led me to do some work that summer for HP in “the big city” where I was able to help with the code that became the firmware for the flatbed scanner. To this day, there is a good chance that there is a bit of code that I wrote in every scanner.&lt;/p&gt;

&lt;p&gt;I found my way back into technology when I got laid off from my desktop publishing job (yes, I’m that old, and yes, that was a real job), and I convinced a college to allow me to work for them for 1.5 months for free. At the end of the time, they would either write me a good letter of reference or hire me. I ended up working for that college for 4 years.&lt;/p&gt;

&lt;p&gt;And that was the beginning of what has become a (so far) 25+ year technology career. Presently, I am the IT manager for a building supply company with one other IT tech, and we run all the infrastructure for 6 branches that are spread across 2 provinces in 4 different cities. I truly do have a passion for all things technology, and I always have a project or 10 on the go at any given time.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What made you decide that n8n would be the most suitable tool for you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I’ve done a lot of work with Node-Red in the past, but something always felt a bit…off. I think it may have been that it was backed by a large corporation, it did not have that strong community which n8n has. You never really knew if the people who were talking about it were truly excited or if they were just on someone’s payroll.&lt;/p&gt;

&lt;p&gt;What I love about n8n is that I am dealing with the people who are making and writing the code. Amazingly, I can ask a question on the forums, get an intelligent answer from one of the senior people within the company, and have my suggestions taken seriously (to the point of them being implemented into the final product).&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Would you mind sharing what kind of workflows are you building with n8n?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F750%2F1%2Af3iuHZwD5DEs11jBvhBWtw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F750%2F1%2Af3iuHZwD5DEs11jBvhBWtw.jpeg"&gt;&lt;/a&gt;Tephlon’s RPi Cluster&lt;/p&gt;

&lt;p&gt;The irony is that I’m so busy doing other things around n8n that I haven’t had much time to use the flows! Most of my time and effort has been around finding better ways to deploy n8n and remove the barriers for people to start using it. For example, my latest contribution to the n8n community has been creating &lt;a href="http://n8n-pi.tephlon.xyz" rel="noopener noreferrer"&gt;n8n-pi&lt;/a&gt;, an easy way to deploy n8n on the Raspberry Pi low-cost computer. You can now take a fresh copy of Raspian and run a command which will reconfigure the card to run n8n. Or, even better, download and install a pre-built image with n8n ready to go.&lt;/p&gt;

&lt;p&gt;I also have a few other n8n adjacent projects that I’m starting to work on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Debian based installation for n8n&lt;/li&gt;
&lt;li&gt;Designing and building a security model for n8n deployments&lt;/li&gt;
&lt;li&gt;Creating best practices for n8n deployment in various environments&lt;/li&gt;
&lt;li&gt;n8n installers for various cloud environments&lt;/li&gt;
&lt;li&gt;Building an n8n management tool&lt;/li&gt;
&lt;li&gt;Designing an n8n web dashboard&lt;/li&gt;
&lt;li&gt;Testing to see if I can build an auto node builder by pointing a tool to an API source that complies with the &lt;a href="https://www.openapis.org/" rel="noopener noreferrer"&gt;OpenAPI&lt;/a&gt; and &lt;a href="https://swagger.io/" rel="noopener noreferrer"&gt;Swagger&lt;/a&gt; specification&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That does not mean that I have completely abandoned building integrations. In fact, the exact opposite. I need to start working on some flows that will connect several different systems so that they all work together like one big organism rather than a pile of separate parts.&lt;/p&gt;

&lt;p&gt;So, for example, I am experimenting with my Raspberry Pi cluster so that I can have one RaspBerry Pi manage and control the other 9 Raspberry Pi systems in a &lt;a href="https://microk8s.io/" rel="noopener noreferrer"&gt;MicroK8&lt;/a&gt; stack so that each RPi comes online or offline as required and can have shifting workloads depending on what is needed at that time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F641%2F0%2Aqfsht_pMn6pZSPAt" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F641%2F0%2Aqfsht_pMn6pZSPAt"&gt;&lt;/a&gt;Installing n8n-pi&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What’s the most useful feature of n8n for you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I think the one thing that I am the most impressed with is that the developers and organization around n8n has had an entrepreneurial aspect to it. By implementing a &lt;a href="https://faircode.io/" rel="noopener noreferrer"&gt;fair-code&lt;/a&gt; software model, not only have they opened the doors to the n8n organization allowing their employees to pay the bills, but they have also allowed others to use n8n in their own ventures as well.&lt;/p&gt;

&lt;p&gt;So many projects out there started as something cool that a group of people wanted to do. But, despite how useful the technology was, people got bored of putting in hours of effort with little to no prospect for reward. Because of the potential for 3rd party licensing, other entrepreneurs can profit from n8n while n8n shares in that profit. A huge win-win that encourages all to keep growing and building n8n.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What advice do you have for people looking to incorporate n8n in their teams or projects?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;If you are looking to bring n8n into your environment, I would suggest using it to tackle a real problem that can have an impact on you. It’s fine to write an integration that does something trivial like making a giggling sound every time someone retweets one of your tweets. You get to use n8n. You get to try something new. But, in the end, this will be nothing more than a party trick and after a short time, you will shut it down and not miss it.&lt;/p&gt;

&lt;p&gt;But, if you put it to use to resolve real business problems, the integration has reason to stick around. It adds value. So, if instead of building the Twitter Giggler™ you build an integration that monitors all of your services that have an SLA associated with them and then sent an email to you and the vendor the moment they no longer were compliant with the SLA so that you could get compensated for it, that integration could be translated into cold hard cash. I guarantee that would be around for a long time to come.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;How do you envision using n8n in the near future?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;It is rare for a day to go by that I do not see a new use for n8n. That is simply how my brain works. I once had a manager tell another manager that I like to do things exactly three times; once to learn it, the second time to perfect it, and the third time to automate it. And he’s not that far off.&lt;/p&gt;

&lt;p&gt;I do have several home automation devices (lights, voice assistants, smart TVs, etc.) and the tools that I have are either too restrictive or lacking in functionality. I hope to implement n8n to fill in the gaps or replace the other tools altogether.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F641%2F0%2ArAXN7rPlO5cN4cE3" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F641%2F0%2ArAXN7rPlO5cN4cE3"&gt;&lt;/a&gt;Installing n8n-pi&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What’s a feature that you are looking forward to or would love to see in n8n?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I would love to see a crawler feature in n8n, where you could specify a computer or network that it would work its way through, identifying service and triggers that it can work with. It could then add these nodes to your n8n configuration or even suggest integrations based on what others have done in the past with these nodes. Just figuring out what you can automate is half the battle.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;n8n users come from a wide range of backgrounds, experience levels, and interests. We have been looking to highlight different users and their projects in our blog posts. If you’re working with n8n and would like to inspire the community, email me at &lt;a href="mailto:tanay@n8n.io"&gt;tanay@n8n.io&lt;/a&gt; to tell your story&lt;/em&gt; 💌&lt;/p&gt;

&lt;p&gt;TV Monitor template by &lt;a href="https://www.behance.net/gomesdaniel" rel="noopener noreferrer"&gt;Daniel Gomes de Souza&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/home-automation-with-raspberry-pi-and-n8n-an-interview-with-tephlon/" rel="noopener noreferrer"&gt;post&lt;/a&gt; originally appeared on the n8n.io &lt;a href="https://n8n.io/blog/" rel="noopener noreferrer"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>raspberrypi</category>
      <category>automation</category>
      <category>workflow</category>
      <category>interview</category>
    </item>
    <item>
      <title>Automating Conference Organization Processes with n8n 🙋‍♀️</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Tue, 02 Jun 2020 09:33:58 +0000</pubDate>
      <link>https://dev.to/n8n/automating-conference-organization-processes-with-n8n-374n</link>
      <guid>https://dev.to/n8n/automating-conference-organization-processes-with-n8n-374n</guid>
      <description>&lt;p&gt;Organizing conferences is hard. Recently, I was chatting with &lt;a href="https://twitter.com/picsoung" rel="noopener noreferrer"&gt;Nicolas Grenié&lt;/a&gt; about the manual processes that conference organizers have to deal with. The automation of these processes can save them time and effort as well as improve the conference experience. Inspired from this brainstorm, we ended up creating this tutorial using tools like &lt;a href="https://n8n.io/" rel="noopener noreferrer"&gt;n8n&lt;/a&gt;, &lt;a href="https://www.typeform.com/" rel="noopener noreferrer"&gt;Typeform&lt;/a&gt;, &lt;a href="https://www.bannerbear.com/" rel="noopener noreferrer"&gt;Bannerbear&lt;/a&gt;, &lt;a href="https://airtable.com/" rel="noopener noreferrer"&gt;Airtable&lt;/a&gt;, and &lt;a href="https://trello.com/" rel="noopener noreferrer"&gt;Trello&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AZFwXkS1T1CYrRdXHjSeubg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AZFwXkS1T1CYrRdXHjSeubg.png"&gt;&lt;/a&gt;Automating conference organization processes with n8n&lt;/p&gt;

&lt;p&gt;In this tutorial, we’ll store the speaker submissions coming via Typeform to Airtable. Then, the reviewers will do a blind review of the submissions and score them in Airtable. The submissions receiving a score greater than 15 (could be anything else) will be added to Trello for a final review. The workflow will also generate promotional assets for your team and add them to the Trello cards.&lt;/p&gt;

&lt;p&gt;After the final review, the speakers whose cards will be moved over to the next column, will receive an acceptance email along with the various promotional assets. We’ll accomplish this through three workflows (these workflows were built using &lt;a href="mailto:n8n@0.111.0"&gt;n8n@0.111.0&lt;/a&gt;) in this tutorial:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Workflow 1 — Gathering speaker data for a blind review&lt;/li&gt;
&lt;li&gt;Workflow 2 — Proposal rating and final review&lt;/li&gt;
&lt;li&gt;Workflow 3 — Notifying accepted speakers&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Workflow 1 — Gathering speaker data for a blind review
&lt;/h2&gt;

&lt;p&gt;In this workflow, we’ll collect the speaking proposals from Typeform and save them to Airtable. The reviewers will be able to perform a blind review of the submissions in Airtable.&lt;/p&gt;

&lt;p&gt;Let’s get started with the nodes of the first workflow. I have also submitted &lt;a href="https://n8n.io/workflows/384" rel="noopener noreferrer"&gt;Workflow 1&lt;/a&gt; on n8n.io, in case you’d like to skim through this workflow. Please note that you’ll still need to configure a couple of things like your credentials as well as the settings of the nodes. You can find information on how to setup n8n in the &lt;a href="https://docs.n8n.io/#/setup" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;. Alternatively, you can sign-up for &lt;a href="https://n8n.cloud" rel="noopener noreferrer"&gt;n8n.cloud&lt;/a&gt; to get access to our hosted service.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Typeform Trigger node: Get data from Typeform
&lt;/h3&gt;

&lt;p&gt;First of all, we need to pull in the new submissions from Typeform. To do that start n8n with the tunnel parameter (if you're hosting n8n on your server):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;n8n start --tunnel&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Make sure that you don’t forget to add the &lt;code&gt;--tunnel&lt;/code&gt; parameter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Add a new node by clicking on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button on the top right of the Editor UI. Under the &lt;strong&gt;&lt;em&gt;Triggers&lt;/em&gt;&lt;/strong&gt; section, select the &lt;em&gt;Typeform Trigger&lt;/em&gt; node.&lt;/p&gt;

&lt;p&gt;You’ll need to create a new form in Typeform, unless you already have one that you’d like to use. I used the Online Event Registration Form Template to get started. I asked the following information in the form:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Full name (&lt;em&gt;Short Text&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Bio (&lt;em&gt;Short Text&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Email (&lt;em&gt;Email&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;URL of a profile picture (&lt;em&gt;Website&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Twitter username (&lt;em&gt;Short Text&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Abstract title (&lt;em&gt;Short Text&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Abstract (&lt;em&gt;Long Text&lt;/em&gt;)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now, head back to the n8n Editor UI and enter the credentials for the Typeform Trigger node. You’ll need to enter your access token. You can follow this &lt;a href="https://docs.n8n.io/credentials/typeform/" rel="noopener noreferrer"&gt;guide&lt;/a&gt; to generate personal access tokens for Typeform.&lt;/p&gt;

&lt;p&gt;Once you have done that, select your form from the dropdown menu for the &lt;strong&gt;&lt;em&gt;Form&lt;/em&gt;&lt;/strong&gt; field. Clicking on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button would activate the test webhook. Now, if you submit the form, you’ll see the data in the Node Editor. Here’s what my first submission looked like.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2A7OANmfYsjLwQlaRsgaUaFg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2A7OANmfYsjLwQlaRsgaUaFg.png"&gt;&lt;/a&gt;Data from the Typeform submission in the Typeform Trigger node&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Test webhooks (which get created when you click on Execute Node) are active only for 120 seconds. For activating the production webhooks, you’ll have to save and activate the workflow. Remember that the Node Editor won’t show any data flowing through the node with a production webhook.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Gngobhhl5X8"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Airtable node: Push data to Airtable
&lt;/h3&gt;

&lt;p&gt;Head over to Airtable and create a new table. Create the fields for the questions that you asked in Typeform. I added a column named Serial No. (type &lt;em&gt;Autonumber&lt;/em&gt;) to be the table’s primary field. This is what my table looked like.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2A_ME9elFoezn_acO_MPb8fQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2A_ME9elFoezn_acO_MPb8fQ.png"&gt;&lt;/a&gt;Table on Airbase for storing data from Typeform&lt;/p&gt;

&lt;p&gt;Once you have the table ready, we’ll create the Airtable node on n8n. Go back to the n8n Editor UI. Click on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button on the top right and select the &lt;em&gt;Airtable&lt;/em&gt; node. You’ll have to enter the credentials (API Key) for the Airtable API. You can follow this &lt;a href="https://docs.n8n.io/credentials/airtable/" rel="noopener noreferrer"&gt;guide&lt;/a&gt; on how to obtain your API Key.&lt;/p&gt;

&lt;p&gt;Now, we’ll select ‘Append’ as the &lt;strong&gt;&lt;em&gt;Operation&lt;/em&gt;&lt;/strong&gt;. For obtaining the Base ID, head over to their &lt;a href="https://airtable.com/api" rel="noopener noreferrer"&gt;API page&lt;/a&gt; and select the correct base. You’ll find the Base ID there.&lt;/p&gt;

&lt;p&gt;Once you enter that, put in the name of the table in the &lt;strong&gt;&lt;em&gt;Table&lt;/em&gt;&lt;/strong&gt; field. For me, it was &lt;code&gt;Main&lt;/code&gt;. Now, click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button, and it will push all the data that was received by the Typeform node to the specified Airtable.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/GyDLBvEHNPQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;A lot of conferences conduct blind reviews to eradicate the unconscious biases of the reviewers. To support that methodology, I went ahead and marked all the columns other than the Abstract Title and Abstract Description as hidden.&lt;/p&gt;

&lt;p&gt;I added the following additional columns:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Score 1&lt;/strong&gt;  — This is a column (type &lt;em&gt;Number&lt;/em&gt;) for the first reviewer (hint: it’s me).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score 2 &lt;/strong&gt; — This is a column (type &lt;em&gt;Number&lt;/em&gt;) for the second reviewer (it’s my friend John Doe).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Total Score&lt;/strong&gt;  — This is a column (type &lt;em&gt;Formula&lt;/em&gt;) which computes the score of the previous two columns.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here’s what it looks like after I followed the steps mentioned above (I took the liberty of scoring the talks).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AVyDMDCJPFzacKhlt9HeP-Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AVyDMDCJPFzacKhlt9HeP-Q.png"&gt;&lt;/a&gt;Blind review of speaker submissions on Airtable&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow 2 — Proposal rating and final review
&lt;/h2&gt;

&lt;p&gt;In this workflow, we’ll automate the export of all the submissions which have a total score greater than 15 for a final review on Trello. The workflow will also generate social media assets for the organizers and add them to the Trello card.&lt;/p&gt;

&lt;p&gt;I have also submitted &lt;a href="https://n8n.io/workflows/385" rel="noopener noreferrer"&gt;Workflow 2&lt;/a&gt; on n8n.io, in case you’d like to skim through this workflow. Please note that you’ll still need to configure a couple of things like your credentials as well as the settings of the nodes.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Airtable node: Pull specific data from the table
&lt;/h3&gt;

&lt;p&gt;Create an &lt;em&gt;Airtable&lt;/em&gt; node and select the credentials that you entered in the previous workflow. For the &lt;strong&gt;&lt;em&gt;Operation&lt;/em&gt;&lt;/strong&gt; field, we’ll select ‘List’. For the &lt;strong&gt;&lt;em&gt;Base ID&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;Table&lt;/em&gt;&lt;/strong&gt; fields, you can enter the same information that you entered in the previous workflow.&lt;/p&gt;

&lt;p&gt;Here, we only want to retrieve the proposals where the total score was greater than 15. Click on the &lt;strong&gt;&lt;em&gt;Add Options&lt;/em&gt;&lt;/strong&gt; button under the &lt;strong&gt;&lt;em&gt;Additional Options&lt;/em&gt;&lt;/strong&gt; section, select ‘Filter by Formula’, and enter the following:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{Total Score} &amp;gt; 15&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now, click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button, and it should retrieve the records that we want. Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/t5QuqA5wnc0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;As an exercise, you can add an &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.if/" rel="noopener noreferrer"&gt;&lt;em&gt;IF&lt;/em&gt;&lt;/a&gt; node (instead of using the Filter by Formula option) to segregate the records based on the total score. Sessions with a score greater than 15 will be passed on through the workflow. Sessions (people) with a score less than 15 will be sent an email thanking them for their submission and informing them that this particular session was not accepted as a talk.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Bannerbear node: Generate promotional banners for the organizers
&lt;/h3&gt;

&lt;p&gt;Bannerbear is a simple REST API that auto-generates social media visuals, e-commerce banners and more. First of all, create a free &lt;a href="https://www.bannerbear.com/" rel="noopener noreferrer"&gt;Bannerbear&lt;/a&gt; account. Now, create a new Project. I named mine ‘Speaker Promotion’. Each project in Bannerbear can house many templates. Select an existing template by clicking on the &lt;strong&gt;&lt;em&gt;Browse Template Library&lt;/em&gt;&lt;/strong&gt; button. Next, select ‘Wikipedia Tutorial’ as your template.&lt;/p&gt;

&lt;p&gt;You can click on &lt;strong&gt;&lt;em&gt;Edit Template&lt;/em&gt;&lt;/strong&gt; to open the template designer. I made some edits to the template to make it a bit more customized. It’s also a good idea to rename the layers so that it’s easy to remember which layer points to which piece of information when you are in the n8n Editor UI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2ACWpVDZ_hc35HTFlgQ-S3jQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2ACWpVDZ_hc35HTFlgQ-S3jQ.png"&gt;&lt;/a&gt;Editing a template on Bannerbear&lt;/p&gt;

&lt;p&gt;Before switching back to the n8n editor, click on the &lt;strong&gt;&lt;em&gt;Settings / API Key&lt;/em&gt;&lt;/strong&gt; button in Bannerbear and copy the &lt;em&gt;Project API Key&lt;/em&gt;. Back in the n8n editor, we will add a Bannerbear node to automate creating variations of our template.&lt;/p&gt;

&lt;p&gt;In the Bannerbear node, add a new credential and paste the &lt;em&gt;Project API Key&lt;/em&gt; there. Select ‘Speaker Promotion’ as the &lt;strong&gt;&lt;em&gt;Template ID&lt;/em&gt;&lt;/strong&gt; from the dropdown. Now, click on the &lt;strong&gt;&lt;em&gt;Add Field&lt;/em&gt;&lt;/strong&gt; button, select ‘Wait for Image’, and toggle the button to activate it. Since Bannerbear takes a few seconds to generate the image, this option makes sure that the node waits until the image has been created and passes the image URL in the result.&lt;/p&gt;

&lt;p&gt;Now, under the &lt;strong&gt;&lt;em&gt;Modifications&lt;/em&gt;&lt;/strong&gt; section, click on the &lt;strong&gt;&lt;em&gt;Add Modification&lt;/em&gt;&lt;/strong&gt; button. We’ll have to add multiple layers and the corresponding data for that layer. For the &lt;strong&gt;&lt;em&gt;Name&lt;/em&gt;&lt;/strong&gt; field, select the ‘talk title’ layer. In the &lt;strong&gt;&lt;em&gt;Text&lt;/em&gt;&lt;/strong&gt; field, click on the gears icon next to the field, and click on &lt;em&gt;Add Expressions&lt;/em&gt; button to open the &lt;em&gt;Variable Selector&lt;/em&gt;. Now, select the following variable:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Current Node &amp;gt; Input Data &amp;gt; JSON &amp;gt; fields &amp;gt; What's the title of your talk?&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Similarly, go ahead and add the other modifications as well. While specifying adding a modification for the profile image, make sure to add the expression in the Image URL field and not the text field. Click on the Execute Node button and it should generate the images for you.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/b-loLkTvd-Y"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Trello node: Conduct a final review
&lt;/h3&gt;

&lt;p&gt;Finally, we want the shortlisted speakers to get added to a column on the Trello board. This will enable the organizers to learn more about the speakers and their experiences and help them make an informed final decision on the sessions.&lt;/p&gt;

&lt;p&gt;I created a Trello board that looks like the following.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2ASMjPYXAHq9lEdNvpTzG6Mw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2ASMjPYXAHq9lEdNvpTzG6Mw.png"&gt;&lt;/a&gt;Trello Board for the shortlisted conference submissions&lt;/p&gt;

&lt;p&gt;In the n8n Editor UI, add a &lt;em&gt;Trello&lt;/em&gt; node. For the credentials, you will need to enter the API Key, API Token, and the OAuth Secret. You can obtain all these details from this &lt;a href="https://docs.n8n.io/credentials/trello/" rel="noopener noreferrer"&gt;page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now, we need to enter the &lt;strong&gt;&lt;em&gt;List ID&lt;/em&gt;&lt;/strong&gt;. This is the ID of the list (column) where the new cards will be added. For us, that’s the &lt;em&gt;Shortlisted Sessions&lt;/em&gt; column. Go to the URL of the current page, add &lt;code&gt;.json&lt;/code&gt; at the end of the URL, and press enter. For example, the URL of the Trello board for me is &lt;a href="https://trello.com/b/HLj5y1gc/conference-cfp" rel="noopener noreferrer"&gt;https://trello.com/b/HLj5y1gc/conference-cfp&lt;/a&gt;. I would then add .json at the end of the URL and open &lt;a href="https://trello.com/b/HLj5y1gc/conference-cfp.json" rel="noopener noreferrer"&gt;https://trello.com/b/HLj5y1gc/conference-cfp.json&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Press ‘Ctrl (command) + F’ and look for the phrase ‘Shortlisted Sessions’. Copy the corresponding ID and paste that in n8n.&lt;/p&gt;

&lt;p&gt;For the name of the card, I added the talk title (using the Variable Selector) and added the following expression as the description of the Trello card.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Abstract: {{$node["Airtable"].json["fields"]["Please share the abstract of your talk."]}}


Name: {{$node["Airtable"].json["fields"]["Great, can we get your full name?"]}}

Bio: {{$node["Airtable"].json["fields"]["Please share a bit of information about you."]}}

Email: {{$node["Airtable"].json["fields"]["And what's your email address?"]}}

Twitter: {{$node["Airtable"].json["fields"]["Your twitter handle"]}}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It would also make sense to attach the promotional banner that was generated by Bannerbear. Click on the &lt;strong&gt;&lt;em&gt;Add Field&lt;/em&gt;&lt;/strong&gt; button under the &lt;strong&gt;&lt;em&gt;Additional Fields&lt;/em&gt;&lt;/strong&gt; section, and select ‘URL Source’. Click on &lt;em&gt;Add Expressions&lt;/em&gt; and select the following in the &lt;em&gt;Variable Selector&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Current Node &amp;gt; Input Data &amp;gt; JSON &amp;gt; image_url&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now, click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button, and it will create the cards on Trello, ready for the organizers to make their final selection. Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/1Kn43sPzQl0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow 3— Notifying accepted speakers
&lt;/h2&gt;

&lt;p&gt;As an exercise, you can create another workflow with the &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.trelloTrigger/" rel="noopener noreferrer"&gt;&lt;em&gt;Trello Trigger&lt;/em&gt;&lt;/a&gt; node, which starts the workflow when a card gets moved to the &lt;em&gt;Final Sessions&lt;/em&gt; list. The workflow can then generate additional promotional banners (for different social media channels) for the speakers to share, as an attachment to the acceptance email.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this tutorial, we discussed how to automate the tasks related to the speaker submissions before the conference. You can also automate a lot of manual tasks during and after the conference to save time and improve the conference experience. Which other processes would you automate in your conference or meetup? Which nodes would you use for your workflows? I’d love to check out what you create. Please consider &lt;a href="https://n8n.io/workflows" rel="noopener noreferrer"&gt;sharing&lt;/a&gt; your workflows with the community.&lt;/p&gt;

&lt;p&gt;In case you’ve run into an issue while following the tutorial, feel free to reach out to me on &lt;a href="https://twitter.com/tanay1337" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; or ask for help on our &lt;a href="https://community.n8n.io/" rel="noopener noreferrer"&gt;forum&lt;/a&gt; 💙&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/automating-conference-organization-processes-with-n8n/" rel="noopener noreferrer"&gt;post&lt;/a&gt; originally appeared on n8n.io &lt;a href="https://n8n.io" rel="noopener noreferrer"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>nocode</category>
      <category>conference</category>
      <category>api</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Running n8n on ships: An interview with Maranics 🛳</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Fri, 29 May 2020 15:43:31 +0000</pubDate>
      <link>https://dev.to/n8n/mattias-larsson-talks-about-running-n8n-on-ships-4d</link>
      <guid>https://dev.to/n8n/mattias-larsson-talks-about-running-n8n-on-ships-4d</guid>
      <description>&lt;p&gt;Somewhere in the world’s oceans, a local &lt;a href="https://n8n.io/" rel="noopener noreferrer"&gt;n8n&lt;/a&gt; instance just ran a workflow on a cruise ship. We spoke with &lt;a href="https://www.linkedin.com/in/mattias-larsson-986a515a/" rel="noopener noreferrer"&gt;Mattias Larson&lt;/a&gt;, co-founder of &lt;a href="https://maranics.eu/" rel="noopener noreferrer"&gt;Maranics&lt;/a&gt; to learn more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2ARc_6vrnhHkrXazwyoKQ6lQ.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2ARc_6vrnhHkrXazwyoKQ6lQ.jpeg"&gt;&lt;/a&gt;Checklist from a bridge on a cruise vessel powered by Maranics operation centric and n8n&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Can you tell us a bit about yourself?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I am the co-founder of Maranics, which is a company that focuses on digitalizing human processes to increase quality and reduce workload. I have a background in commercial and operational management positions in the maritime and energy industry. In the last 8 years, my work has been based on digitalization with a focus on human processes. This is a subject that interests me a lot, and I believe that in the world of automation, humans will become more and more important.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What made you decide that n8n would be the most suitable tool for you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I have used both Zapier and Integromat for quite some time. We decided to go with n8n as the main tool as it can run on the local environment. Also, feature-wise it has a lot to offer. As more and more features become available, we plan to implement n8n workflows even more.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What kind of workflows are you building with n8n?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;We are using it for automating a lot of processes where there is repetitive manual work. We are using it mostly in the maritime industry onboard both big cruise vessels and smaller cargo vessels. We are also planning to use it for other projects.&lt;/p&gt;

&lt;p&gt;We are using n8n as one of the tools to share data from our digital processes to the legacy applications onboard cruise ships.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Which integrations have you been using the most?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;We are mostly using the HTTP and the Webhook node. Other than that, we are also using the MongoDB and Postgres nodes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2A66KfEgodSKQGFmBA1ToqCQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2A66KfEgodSKQGFmBA1ToqCQ.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What’s the most useful feature of n8n for you?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;The possibility to run on EDGE (local environments), to copy nodes and the option to customize quite a lot with custom code are some of the features that are quite useful for us.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What advice do you have for people looking to incorporate n8n in their teams or projects?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I think that tools like n8n will become essential in any business in the future. My recommendation is to put business people who know the processes in the front and combine those with the right technical skilled persons. It’s also important to not just try to replicate the analog ways but also be ready to question current processes and be willing to change. It is essential to focus on the items that create clear values. An example of this is something that gets repeated and done frequently.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;How do you envision using n8n in the near future?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;We are planning to use n8n both for internal operation and also as a key complement to our services. We have a strong belief in the microservice environment, and we believe that n8n will be one of the essential tools in our kit.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What’s a feature that you are looking forward to or would love to see in n8n?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I am looking forward to seeing the OAuth 2 support and also the possibility to map data from other nodes into function nodes.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;n8n users come from a wide range of backgrounds, experience levels, and interests. We have been looking to highlight different users and their projects in our blog posts. If you’re working with n8n and would like to inspire the community, email me at &lt;a href="mailto:tanay@n8n.io"&gt;tanay@n8n.io&lt;/a&gt; to tell your story&lt;/em&gt; 💌&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/" rel="noopener noreferrer"&gt;post&lt;/a&gt; originally appeared on the n8n.io &lt;a href="https://n8n.io/blog/" rel="noopener noreferrer"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>workflow</category>
      <category>n8n</category>
      <category>automation</category>
      <category>interview</category>
    </item>
    <item>
      <title>Creating Error Workflows in n8n</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Thu, 07 May 2020 08:16:01 +0000</pubDate>
      <link>https://dev.to/n8n/creating-error-workflows-in-n8n-4h56</link>
      <guid>https://dev.to/n8n/creating-error-workflows-in-n8n-4h56</guid>
      <description>&lt;p&gt;Errors can always creep up while working with software. It’s important to get notified about it so that it can be timely fixed. &lt;a href="https://n8n.io"&gt;n8n&lt;/a&gt; allows you to set an ‘Error Workflow’ for your workflows. When your workflow runs into an error, the error workflow is triggered. This workflow can do anything that other workflows can like send an SMS or &lt;a href="https://slack.com"&gt;Slack&lt;/a&gt;/[Mattermost(&lt;a href="https://mattermost.com"&gt;https://mattermost.com&lt;/a&gt;) notification to alert you about the error.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rPofO4v_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AE7fbLnTdVkVCzelSfTXRRg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rPofO4v_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AE7fbLnTdVkVCzelSfTXRRg.png" alt="" width="800" height="416"&gt;&lt;/a&gt;An error workflow in n8n&lt;/p&gt;

&lt;p&gt;In this tutorial, I’ll teach you how to create an error workflow and use the &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.errorTrigger/"&gt;&lt;em&gt;Error Trigger&lt;/em&gt;&lt;/a&gt; node. We’ll create two workflows (these workflows were built using &lt;a href="mailto:n8n@0.111.0"&gt;n8n@0.111.0&lt;/a&gt;) in this tutorial to learn about error workflows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Workflow 1:&lt;/strong&gt; This will be an error workflow with an &lt;em&gt;Error Trigger&lt;/em&gt;, a &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.mattermost/"&gt;&lt;em&gt;Mattermost&lt;/em&gt;&lt;/a&gt; node, and a &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.twilio/"&gt;&lt;em&gt;Twilio&lt;/em&gt;&lt;/a&gt; node. This workflow will be triggered when Workflow 2 encounters an error. It will then send a notification about the error to a Mattermost channel and an SMS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workflow 2:&lt;/strong&gt; This will be a bare minimum two-node workflow which will encounter an error when it is run.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can find information on how to set up and start n8n in the &lt;a href="https://docs.n8n.io/#/setup"&gt;documentation&lt;/a&gt;. Alternatively, you can sign-up for &lt;a href="https://n8n.cloud"&gt;n8n.cloud&lt;/a&gt; to get access to our hosted service.&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow 1: Creating an error workflow
&lt;/h2&gt;

&lt;p&gt;In this workflow, we need to get the information of the workflow that has failed, notify us about it in the ‘Incidents’ channel on Mattermost, and send an SMS about it to the specified person using Twilio.&lt;/p&gt;

&lt;p&gt;I have also submitted &lt;a href="https://n8n.io/workflows/359"&gt;Workflow 1&lt;/a&gt; on n8n.io, in case you’d like to skim through this workflow. Please note that you’ll still need to configure a couple of things like your Mattermost and Twilio credentials as well as the settings of the node.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Error Trigger: Start the error workflow
&lt;/h3&gt;

&lt;p&gt;First of all, start n8n with the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;n8n start&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you're using n8n.cloud, click on the &lt;strong&gt;&lt;em&gt;Open&lt;/em&gt;&lt;/strong&gt; button on your dashboard.&lt;/p&gt;

&lt;p&gt;In the Node Editor view, add a new node by clicking on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button on the top right of the Editor UI. Select the &lt;em&gt;Error Trigger&lt;/em&gt; node under the &lt;strong&gt;&lt;em&gt;Triggers&lt;/em&gt;&lt;/strong&gt; section. Now, click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button and it will generate an example result for you.&lt;/p&gt;

&lt;p&gt;Now, save the workflow. As opposed to other workflows with a trigger node, you won’t have to activate the workflow when using the &lt;em&gt;Error Trigger&lt;/em&gt; node. Once a workflow fails, this node automagically gets details about the failed workflow and the error workflow gets triggered.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/nAPFyfua2AQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Mattermost node: Inform the incidents channel about the error
&lt;/h3&gt;

&lt;p&gt;Now, we want to post a message that informs the members of the ‘Incidents’ channel that the workflow has encountered an error.&lt;/p&gt;

&lt;p&gt;Add a &lt;em&gt;Mattermost&lt;/em&gt; node by clicking on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button on the top right and selecting the &lt;em&gt;Mattermost&lt;/em&gt; node. In the Node Editor, enter your Mattermost credentials. Here’s some detailed &lt;a href="https://docs.n8n.io/credentials/mattermost/"&gt;information&lt;/a&gt; on how to create an access token for the credentials. I have used an access token from a bot account, but you can also use the access token from your account.&lt;/p&gt;

&lt;p&gt;Now we need to enter the &lt;strong&gt;&lt;em&gt;Channel ID&lt;/em&gt;&lt;/strong&gt;. Since this is not a dynamic piece of information (the Incidents channel would always be there and hence, the ID will remain the same), we need to grab its &lt;em&gt;Channel ID&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;If you don’t already have a channel like this for the tutorial, you can manually create a new channel on Mattermost. To get its ID, click on the down arrow next to the channel name and click on the &lt;strong&gt;&lt;em&gt;View Info&lt;/em&gt;&lt;/strong&gt; option. This will reveal the ID of the channel. You can then copy and paste that in the &lt;strong&gt;&lt;em&gt;Channel ID&lt;/em&gt;&lt;/strong&gt; field in the node.&lt;/p&gt;

&lt;p&gt;Finally, we will enter the Message. Since this would be a dynamic piece of information, click on the gears icon next to the field and select Add Expression. I have entered the following expression using the &lt;strong&gt;&lt;em&gt;Variable Selector&lt;/em&gt;&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The workflow named '{{$json["workflow"]["name"]}}' with the ID {{$json["workflow"]["id"]}} has encountered an error. The last node that was executed was {{$json["execution"]["lastNodeExecuted"]}}.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button and that will send a message to the ‘Incidents’ channel on Mattermost. Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/zHHc9gKAJQQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Twilio node: Send an SMS about the error
&lt;/h3&gt;

&lt;p&gt;As the last step of the error workflow, we want to send an SMS to the person responsible for the workflow. We’ll accomplish that with the help of the Twilio node.&lt;/p&gt;

&lt;p&gt;First of all, you’ll have to create a &lt;a href="https://www.twilio.com/"&gt;Twilio&lt;/a&gt; account. You can create a free trial account and once you have done that, go to the &lt;a href="https://www.twilio.com/console"&gt;console&lt;/a&gt; and create a &lt;em&gt;Trial Number&lt;/em&gt; for yourself. On that page, you can also acquire the &lt;em&gt;Account Sid&lt;/em&gt; and &lt;em&gt;Auth Token&lt;/em&gt; that you’ll need for the credentials.&lt;/p&gt;

&lt;p&gt;Once you have done that, add a &lt;em&gt;Twilio&lt;/em&gt; node in n8n. Create new credentials for the Twilio API and enter the details. Now, enter the trial number that you created in the &lt;strong&gt;&lt;em&gt;From&lt;/em&gt;&lt;/strong&gt; field and your number (the one that you verified your Twilio account with) in the &lt;strong&gt;&lt;em&gt;To&lt;/em&gt;&lt;/strong&gt; field. In the message field, we want to include dynamic pieces of information. To do that click on the gears icon next to the &lt;strong&gt;&lt;em&gt;Message&lt;/em&gt;&lt;/strong&gt; field and select &lt;em&gt;Add Expression&lt;/em&gt;. I entered the following in that field:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The workflow named '{{$node["Error Trigger"].json["workflow"]["name"]}}' with the ID {{$node["Error Trigger"].json["workflow"]["id"]}} has encountered an error.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button and that will send a message to the number specified in the node. Here’s a screenshot of how that looked for me.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KpMLFqvo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/706/1%2A4tJ4CdPVQxd4-pVitwpguA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KpMLFqvo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/706/1%2A4tJ4CdPVQxd4-pVitwpguA.jpeg" alt="" width="706" height="301"&gt;&lt;/a&gt;Error notification SMS from the Twilio node&lt;/p&gt;

&lt;p&gt;Congratulations on creating your first error workflow! 🎉&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/4Ug8tcKBI58"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow 2: Creating a workflow with an error
&lt;/h2&gt;

&lt;p&gt;Now, we need to create a flawed workflow which throws an error upon being activated. We’ll use a &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.cron/"&gt;&lt;em&gt;Cron&lt;/em&gt;&lt;/a&gt; node as the Trigger and a &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.function/"&gt;&lt;em&gt;Function&lt;/em&gt;&lt;/a&gt; node which is wrongly configured and will give us an error.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Cron node: Trigger the workflow
&lt;/h3&gt;

&lt;p&gt;In the Node Editor view, add a new node by clicking on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button on the top right of the Editor UI. Select the &lt;em&gt;Cron&lt;/em&gt; node under the &lt;strong&gt;&lt;em&gt;Triggers&lt;/em&gt;&lt;/strong&gt; section. Click on the &lt;strong&gt;&lt;em&gt;Add Cron Time&lt;/em&gt;&lt;/strong&gt; button and select ‘Every Minute’ as the &lt;strong&gt;&lt;em&gt;Mode&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Now, save the workflow. Saving the workflow will enable you to set an ‘Error Workflow’. Go to the &lt;em&gt;Workflow&lt;/em&gt; icon on the left side of the screen and click on &lt;strong&gt;&lt;em&gt;Settings&lt;/em&gt;&lt;/strong&gt;. In the dialogue box, select the error workflow that you created above for the &lt;strong&gt;&lt;em&gt;Error Workflow&lt;/em&gt;&lt;/strong&gt; field and click on the &lt;strong&gt;&lt;em&gt;Save&lt;/em&gt;&lt;/strong&gt; button. This will assign the &lt;em&gt;Workflow 1&lt;/em&gt; as the error workflow which will be triggered when this workflow encounters an error during execution.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Ng6ZVc-d2KQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Function node: Wrongly configured node which gives an error
&lt;/h3&gt;

&lt;p&gt;Last but not the least, we need to create a wrongly configured node that gives an error upon execution. For that, add the &lt;em&gt;Function&lt;/em&gt; node and change &lt;code&gt;items[0]&lt;/code&gt; to &lt;code&gt;items[1]&lt;/code&gt;. Don’t click on the &lt;strong&gt;Execute Node&lt;/strong&gt; button yet. If you get the error now, n8n will not allow you to activate the workflow.&lt;/p&gt;

&lt;p&gt;Activate the workflow by clicking on the &lt;strong&gt;&lt;em&gt;Activate&lt;/em&gt;&lt;/strong&gt; toggle on the top right. Voila, our workflow with an error is now live (never thought I’d say this) and will run every minute. You can keep an eye on the executions by clicking on the &lt;strong&gt;&lt;em&gt;Executions&lt;/em&gt;&lt;/strong&gt; icon on the left side of the screen. For me, it looks like the following after the first execution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--be6DpSlg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AkoYE6DpmRk7-hiV5-dKoHA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--be6DpSlg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AkoYE6DpmRk7-hiV5-dKoHA.png" alt="" width="800" height="313"&gt;&lt;/a&gt;Monitoring the workflow executions&lt;/p&gt;

&lt;p&gt;In the image above, you can see how the Error Workflow got triggered once the Workflow 2 encountered an error.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You might want to deactivate the workflow after a couple of Error Workflow executions (or deactivate the Twilio node) otherwise you might run out of your free Twilio credits soon 😉&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is how the notifications from the &lt;strong&gt;&lt;em&gt;Mattermost&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;Twilio&lt;/em&gt;&lt;/strong&gt; nodes looked like after the Error Workflow got executed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7HpmIIPM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AwdRINmrElYcBZzfLKMgExA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7HpmIIPM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AwdRINmrElYcBZzfLKMgExA.png" alt="" width="800" height="314"&gt;&lt;/a&gt;Workflow error notification in the Mattermost Incidents channel&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OnBZfdDg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/697/1%2A2J_UZXTUQ3YzPABTQNaJsg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OnBZfdDg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/697/1%2A2J_UZXTUQ3YzPABTQNaJsg.jpeg" alt="" width="697" height="281"&gt;&lt;/a&gt;Workflow error notification sent as an SMS&lt;/p&gt;

&lt;p&gt;In case you feel that this is an ideal error workflow for you, you can set this as the error workflow for other workflows too. You can do that by following the same steps that you followed in &lt;em&gt;Workflow 2, Step 1&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/m6gZdwq0eG0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Today we learned about the &lt;em&gt;Error Trigger&lt;/em&gt; node as well as learned to create and assign an error workflow. This helps us to ensure that all our workflows are running well and if any of them encounter an error for some reason, we get notified about them as soon as possible to fix them.&lt;/p&gt;

&lt;p&gt;I am curious to learn what kind of nodes you’d use for an error workflow. Would that tie in with your incident response playbook? I’d love to check out what you create. Please consider &lt;a href="https://n8n.io/workflows"&gt;sharing&lt;/a&gt; your workflows with the community.&lt;/p&gt;

&lt;p&gt;In case you’ve run into an issue while following the tutorial, feel free to reach out to me on &lt;a href="https://twitter.com/tanay1337"&gt;Twitter&lt;/a&gt; or ask for help on our &lt;a href="https://community.n8n.io/"&gt;forum&lt;/a&gt; 💙&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/creating-error-workflows-in-n8n/"&gt;post&lt;/a&gt; originally appeared on n8n.io &lt;a href="https://n8n.io/blog"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>tutorial</category>
      <category>twilio</category>
      <category>nocode</category>
      <category>errors</category>
    </item>
    <item>
      <title>Database Monitoring and Alerting with n8n</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Wed, 06 May 2020 13:01:22 +0000</pubDate>
      <link>https://dev.to/n8n/database-monitoring-and-alerting-with-n8n-b6n</link>
      <guid>https://dev.to/n8n/database-monitoring-and-alerting-with-n8n-b6n</guid>
      <description>&lt;p&gt;In the past few months, I have been playing around with different kinds of IoT devices and sensors. I quite enjoy how these can be used to monitor different things like humidity, temperature, pressure among other things in the house. In this tutorial, I want to show you how you can monitor sensor readings in a database and send alerts when it crosses a threshold value using &lt;a href="https://n8n.io/"&gt;n8n&lt;/a&gt; workflows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t9QnbKi9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AvU8pW6v8lZj-1dTLzujZTg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t9QnbKi9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AvU8pW6v8lZj-1dTLzujZTg.png" alt="" width="800" height="416"&gt;&lt;/a&gt;Database monitoring and alerting workflow in n8n&lt;/p&gt;

&lt;p&gt;We’ll be using &lt;a href="https://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt; as the database and &lt;a href="https://www.twilio.com/"&gt;Twilio&lt;/a&gt; for sending SMS alerts. We’ll divide the tutorial in two workflows (these workflows were built using &lt;a href="mailto:n8n@0.110.0"&gt;n8n@0.110.0&lt;/a&gt;):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Workflow 1:&lt;/strong&gt; This would be the data generator workflow, which will create a database record for us every minute. We will create this workflow to simulate sensor readings being ingested by a database. In case you already have an IoT device pushing data to a database, feel free to skip this step. Nonetheless, I’d recommend skimming through this section to check how to add the database credentials.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workflow 2:&lt;/strong&gt; This workflow will check for the threshold values every minute and in case of a value that crosses the specified threshold, it will trigger an alert with an SMS.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can find information on how to set up and start n8n in the &lt;a href="https://docs.n8n.io/#/setup"&gt;documentation&lt;/a&gt;. Alternatively, you can also sign-up for n8n.cloud to get access to our hosted service.&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow 1: Ingesting data in the database
&lt;/h2&gt;

&lt;p&gt;In this workflow, we’ll use a &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.cron/"&gt;&lt;em&gt;Cron&lt;/em&gt;&lt;/a&gt; node to trigger the workflow ever minute, a &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.set/"&gt;&lt;em&gt;Set&lt;/em&gt;&lt;/a&gt; node to generate timestamp and a random value, and a &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.postgres/"&gt;&lt;em&gt;Postgres&lt;/em&gt;&lt;/a&gt; node to insert the generated data to the database. If you haven’t already, you can find and install the database from their &lt;a href="https://www.postgresql.org/download/"&gt;website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For this tutorial, create a table called &lt;code&gt;n8n&lt;/code&gt; and use this SQL statement to create a table:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE n8n (id SERIAL, sensor_id VARCHAR, value INT, time_stamp TIMESTAMP, notification BOOLEAN);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I have also submitted &lt;a href="https://n8n.io/workflows/356"&gt;Workflow 1&lt;/a&gt; on n8n.io, in case you’d like to skim through this workflow. Please note that you’ll still need to configure a couple of things like your Postgres credentials.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Cron node: Trigger the workflow every minute
&lt;/h3&gt;

&lt;p&gt;In the Node Editor view, add a new node by clicking on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button on the top right of the Editor UI. Select the &lt;em&gt;Cron&lt;/em&gt; node under the &lt;strong&gt;&lt;em&gt;Triggers&lt;/em&gt;&lt;/strong&gt; section. Click on the &lt;strong&gt;&lt;em&gt;Add Cron Time&lt;/em&gt;&lt;/strong&gt; button and select ‘Every Minute’ as the &lt;em&gt;Mode&lt;/em&gt;. Here’s a video of me following the steps above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/p4W82EExLe4"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Set node: Generate timestamp and random value
&lt;/h3&gt;

&lt;p&gt;Add a new node by clicking on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button and select the &lt;em&gt;Set&lt;/em&gt; node. Click on ‘Add Value’, under the &lt;strong&gt;&lt;em&gt;Values to Set&lt;/em&gt;&lt;/strong&gt; section, and select ‘String’. Enter &lt;code&gt;sensor_id&lt;/code&gt; in the &lt;strong&gt;&lt;em&gt;Name&lt;/em&gt;&lt;/strong&gt; field and &lt;code&gt;humidity01&lt;/code&gt; for the &lt;strong&gt;&lt;em&gt;Value&lt;/em&gt;&lt;/strong&gt; field. To add a new value, click on ‘Add Value’ and select ‘String’. Name this as &lt;code&gt;value&lt;/code&gt;. Click on the gears symbol next to the &lt;strong&gt;&lt;em&gt;Value&lt;/em&gt;&lt;/strong&gt; field and select &lt;strong&gt;&lt;em&gt;Add Expression&lt;/em&gt;&lt;/strong&gt;. Paste the following expression &lt;code&gt;{{Math.ceil(Math.random() * 100);}}&lt;/code&gt;. This will create a random value between 1 to 100. We will also create a time uptime value.&lt;/p&gt;

&lt;p&gt;Click on ‘Add Value’ and select ‘String’. In the &lt;strong&gt;&lt;em&gt;Name&lt;/em&gt;&lt;/strong&gt; field enter &lt;code&gt;time_stamp&lt;/code&gt;. Click on the gears symbol next to the Value field and select &lt;strong&gt;&lt;em&gt;Add Expression&lt;/em&gt;&lt;/strong&gt;. Paste the following expression &lt;code&gt;{{new Date().toISOString()}}&lt;/code&gt;. This will return the timestamp of when the data was generated.&lt;/p&gt;

&lt;p&gt;Click on ‘Add Value’ and select ‘Boolean’. Enter &lt;code&gt;notification&lt;/code&gt; in the &lt;strong&gt;&lt;em&gt;Name&lt;/em&gt;&lt;/strong&gt; field. Set the value to &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/MWaZz3MXoIQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Postgres node: Insert data to the database
&lt;/h3&gt;

&lt;p&gt;Add a new node by clicking on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button and selecting the &lt;em&gt;Postgres&lt;/em&gt; node. Create new credentials by clicking on &lt;em&gt;Create New&lt;/em&gt; under the &lt;strong&gt;&lt;em&gt;Credentials&lt;/em&gt;&lt;/strong&gt; section. Enter the details for your database here and click on the &lt;strong&gt;&lt;em&gt;Save&lt;/em&gt;&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;Now, enter &lt;code&gt;n8n&lt;/code&gt; as the name of the &lt;strong&gt;&lt;em&gt;Table&lt;/em&gt;&lt;/strong&gt;. Enter &lt;code&gt;sensor_id, value, time_stamp, notification&lt;/code&gt; in the &lt;em&gt;Columns&lt;/em&gt; field. Here, I skipped the &lt;code&gt;id&lt;/code&gt; as it is a SERIAL datatype and would be generated by the database. Click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button and the record will be inserted to your database.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/BRoIr1VzHCw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Don’t forget to save and activate the workflow before moving on to the next workflow. Once you have done that, every minute a new record will be inserted into the database&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Workflow 2: Monitoring the database and sending alerts
&lt;/h3&gt;

&lt;p&gt;In this workflow, we’ll use a &lt;em&gt;Cron&lt;/em&gt; node to trigger the workflow every minute, a &lt;em&gt;Postgres&lt;/em&gt; node to fetch the threshold values, and a &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.twilio/"&gt;&lt;em&gt;Twilio&lt;/em&gt;&lt;/a&gt; node to send us an SMS about them. Finally, we’ll use a &lt;em&gt;Set&lt;/em&gt; and &lt;em&gt;Postgres&lt;/em&gt; node to mark the records which we have already been alerted about.&lt;/p&gt;

&lt;p&gt;I have also submitted &lt;a href="https://n8n.io/workflows/357"&gt;Workflow 2&lt;/a&gt; on n8n.io, in case you’d like to skim through this workflow. Please note that you’ll still need to configure a couple of things like your Postgres and Twilio credentials as well as the settings for the &lt;em&gt;Twilio&lt;/em&gt; node.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Cron node: Trigger the workflow every minute
&lt;/h3&gt;

&lt;p&gt;You can create the &lt;em&gt;Cron&lt;/em&gt; node following the same steps as you did in &lt;em&gt;Workflow 1, Step 1&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Postgres node: Get all the records with the outlier values
&lt;/h3&gt;

&lt;p&gt;Create a &lt;em&gt;Postgres&lt;/em&gt; node following the same steps as &lt;em&gt;Workflow 1, Step 3,&lt;/em&gt; and select the same credentials that you entered there. Select ‘Execute Query’ for the &lt;strong&gt;&lt;em&gt;Operation&lt;/em&gt;&lt;/strong&gt; field and enter the following SQL query:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM n8n WHERE value &amp;gt; 70 AND notification = false;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This query returns the records where the value is greater than 70 (feel free to change this to something else) and the notification is marked as &lt;em&gt;false&lt;/em&gt;. Click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button. If you have the other workflow running or an active IoT device sending data into the database, you’ll likely have records as the result.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/8J05pt3ngU4"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You might want to turn off the other workflow or device at some point otherwise you ‘might’ end up using all your Twilio free credits during the first run &lt;em&gt;😉&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  3. Twilio node: Send an SMS alert about the threshold value
&lt;/h3&gt;

&lt;p&gt;First of all, you’ll have to create a &lt;a href="https://www.twilio.com/"&gt;Twilio&lt;/a&gt; account. You can create a free trial account and once you have done that, go to the &lt;a href="https://www.twilio.com/console"&gt;console&lt;/a&gt; and create a &lt;em&gt;Trial Number&lt;/em&gt; for yourself. On that page, you can also acquire the &lt;em&gt;Account Sid&lt;/em&gt; and &lt;em&gt;Auth Token&lt;/em&gt; that you’ll need for the credentials.&lt;/p&gt;

&lt;p&gt;Once you have done that, add a &lt;em&gt;Twilio&lt;/em&gt; node in n8n. Create new credentials for the Twilio API and enter the details. Now, enter the trial number that you created in the &lt;strong&gt;&lt;em&gt;From&lt;/em&gt;&lt;/strong&gt; field and your number (the one that you verified your Twilio account with) in the &lt;strong&gt;&lt;em&gt;To&lt;/em&gt;&lt;/strong&gt; field. In the message field, we want to include dynamic pieces of information. To do that click on the gears icon next to the &lt;strong&gt;&lt;em&gt;Message&lt;/em&gt;&lt;/strong&gt; field and select &lt;em&gt;Add Expression&lt;/em&gt;. I entered the following in that field:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🚨 The Sensor ({{$node["Postgres"].json["sensor_id"]}}) showed a reading of {{$node["Postgres"].json["value"]}}.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In case you have a large number of threshold values, I would recommend waiting on the execution, as you might end up using all your free credits.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once you are done, click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button and it’ll send an SMS alert to you. I got three alerts here since I had three threshold values in my records.&lt;/p&gt;

&lt;p&gt;Here’s what I got:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LaiHypDK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/713/1%2AlxSaA7noBgrTPZyH9SaRWw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LaiHypDK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/713/1%2AlxSaA7noBgrTPZyH9SaRWw.jpeg" alt="" width="713" height="676"&gt;&lt;/a&gt;Alert SMS sent using Twilio&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Set node: Set the notification to true
&lt;/h3&gt;

&lt;p&gt;Add a new node by clicking on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button and selecting the &lt;em&gt;Set&lt;/em&gt; node. Open the Node Editor and click on &lt;strong&gt;&lt;em&gt;Keep Only Set&lt;/em&gt;&lt;/strong&gt; toggle. We do this because &lt;em&gt;Twilio&lt;/em&gt; node overwrites data and we want to pass along the data that is generated only by this node.&lt;/p&gt;

&lt;p&gt;Under the &lt;strong&gt;&lt;em&gt;Values to Set&lt;/em&gt;&lt;/strong&gt; section, click on the &lt;strong&gt;&lt;em&gt;Add Value&lt;/em&gt;&lt;/strong&gt; button and select ‘Number’. Enter &lt;code&gt;id&lt;/code&gt; as the &lt;strong&gt;&lt;em&gt;Name&lt;/em&gt;&lt;/strong&gt;. Since the &lt;strong&gt;&lt;em&gt;Value&lt;/em&gt;&lt;/strong&gt; is a dynamic piece of information, click on &lt;em&gt;Add Expression&lt;/em&gt; and select the id in the &lt;em&gt;Variable Selector&lt;/em&gt; by clicking on:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Nodes &amp;gt; Postgres &amp;gt; Output Data &amp;gt; JSON &amp;gt; id&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now, click on &lt;strong&gt;&lt;em&gt;Add Value&lt;/em&gt;&lt;/strong&gt; again and select ‘Boolean’. Enter &lt;code&gt;notification&lt;/code&gt; as the &lt;strong&gt;&lt;em&gt;Name&lt;/em&gt;&lt;/strong&gt; and click on the &lt;strong&gt;&lt;em&gt;Value&lt;/em&gt;&lt;/strong&gt; toggle. Click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button and you’ll see that it will set the value of the notification to &lt;em&gt;true&lt;/em&gt; for all the corresponding ids. Once we make this update in the database with the help of the next node, the SMS alerts will not go through twice for any given record.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/83OaA7AqWkw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Postgres node: Make update to the notification in the database
&lt;/h3&gt;

&lt;p&gt;Add a new &lt;em&gt;Postgres&lt;/em&gt; node, select the Credentials and select ‘Update’ as the &lt;strong&gt;&lt;em&gt;Operation&lt;/em&gt;&lt;/strong&gt;. In the Table field, enter &lt;code&gt;n8n&lt;/code&gt; and enter &lt;code&gt;notification&lt;/code&gt; in the &lt;strong&gt;&lt;em&gt;Columns&lt;/em&gt;&lt;/strong&gt; field.&lt;/p&gt;

&lt;p&gt;Click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button and this will make an update to the notification value in the database. Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/7csi5KAOCu4"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Today we created a workflow to continuously monitor a database and alert us about an abnormal reading by sending an SMS. You can also use other databases such as MongoDB or MySQL. You can even use other Postgres compatible databases like &lt;a href="https://crate.io/"&gt;CrateDB&lt;/a&gt; using the Postgres node. I am curious to learn what kind of workflows you’ll create using these or other nodes. I’d love to check them out, please consider &lt;a href="https://n8n.io/workflows"&gt;sharing&lt;/a&gt; those workflows with the community.&lt;/p&gt;

&lt;p&gt;In case you’ve run into an issue while following the tutorial, feel free to reach out to me on &lt;a href="https://twitter.com/tanay1337"&gt;Twitter&lt;/a&gt; or ask for help on our &lt;a href="https://community.n8n.io/"&gt;forum&lt;/a&gt; 💙&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/"&gt;post&lt;/a&gt; originally appeared on n8n.io &lt;a href="https://n8n.io/blog"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>tutorial</category>
      <category>twilio</category>
      <category>monitoring</category>
      <category>postgres</category>
    </item>
    <item>
      <title>Creating Custom Incident Response Workflows with n8n</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Sun, 03 May 2020 14:29:52 +0000</pubDate>
      <link>https://dev.to/n8n/creating-custom-incident-response-workflows-with-n8n-38ic</link>
      <guid>https://dev.to/n8n/creating-custom-incident-response-workflows-with-n8n-38ic</guid>
      <description>&lt;p&gt;I’ve been involved in the DevOps world for a while and yet, I finished reading &lt;a href="https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/0988262592"&gt;The Phoenix Project&lt;/a&gt; only recently. This piqued my interest in how teams execute their incident response playbooks. It’s enlightening to see the different approaches teams take, to hone what works best for them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gs3cISMn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2A9TfFECFPp-Pm5leShq9pIg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gs3cISMn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2A9TfFECFPp-Pm5leShq9pIg.png" alt="" width="800" height="416"&gt;&lt;/a&gt;Incident response management in Mattermost powered by n8n and PagerDuty&lt;/p&gt;

&lt;p&gt;I wanted to test how automating a minimalist incident response playbook would look like and I decided to test it out with three of my favorite tools &lt;a href="https://n8n.io/"&gt;n8n&lt;/a&gt;, &lt;a href="https://www.pagerduty.com/"&gt;PagerDuty&lt;/a&gt; and &lt;a href="https://mattermost.com/"&gt;Mattermost&lt;/a&gt;. Here’s a quick introduction to the three tools, in case you aren’t aware of them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;n8n is a &lt;a href="https://faircode.io/"&gt;fair-code&lt;/a&gt; licensed tool that helps you automate tasks, sync data between various sources, and react to events all via a visual workflow editor.&lt;/li&gt;
&lt;li&gt;PagerDuty is a SaaS incident response platform for IT departments in companies.&lt;/li&gt;
&lt;li&gt;Mattermost is a flexible and open-source messaging alternative to Slack.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To avoid panic during an incident, a lot of companies have an incident response playbook. I created a minimalist six-step playbook for this tutorial. Whenever, a service goes down or something unexpected happens, the on-call team would follow this high-level protocol:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Triage issue in Jira&lt;/li&gt;
&lt;li&gt;Create auxiliary channel&lt;/li&gt;
&lt;li&gt;Invite the on-call team to the channel&lt;/li&gt;
&lt;li&gt;Acknowledge the issue&lt;/li&gt;
&lt;li&gt;Fix the issue&lt;/li&gt;
&lt;li&gt;Resolve the ticket&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We will automate this playbook with three workflows (these workflows were built using &lt;a href="mailto:n8n@0.111.0"&gt;n8n@0.111.0&lt;/a&gt;) in n8n and this is how the result shall look like once we are done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pi1vmXLb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://cdn-images-1.medium.com/max/640/1%2Abv7T0z4uVHKxrCUfpLOomQ.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pi1vmXLb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://cdn-images-1.medium.com/max/640/1%2Abv7T0z4uVHKxrCUfpLOomQ.gif" alt="" width="640" height="242"&gt;&lt;/a&gt;Incident response workflow in play&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow 1 — Make sure everyone knows what happened
&lt;/h2&gt;

&lt;p&gt;Our first workflow will cover the first three steps of the playbook. Whenever a service goes down and creates an incident report on PagerDuty, we want the workflow to automate the following tasks for us:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A webhook gets triggered and informs a general incidents channel on Mattermost that something is wrong.&lt;/li&gt;
&lt;li&gt;Create an auxiliary channel for the specific incident, invite the on-call team to it and share its link for those interested in the incident.&lt;/li&gt;
&lt;li&gt;Triage an issue on Jira.&lt;/li&gt;
&lt;li&gt;Share the links of the auxiliary channel, PagerDuty incident and the Jira issue in the Incidents channel, and the auxiliary channel.&lt;/li&gt;
&lt;li&gt;Share action buttons in the auxiliary channel to acknowledge and resolve the incident.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let’s get started with the nodes of the first workflow. I have also submitted &lt;a href="https://n8n.io/workflows/353"&gt;Workflow 1&lt;/a&gt; on n8n.io, in case you’d like to skim through this workflow. Please note that you’ll still need to configure a couple of things like your credentials, channels on Mattermost as well as the settings of the nodes. You can find information on how to setup n8n in the &lt;a href="https://docs.n8n.io/#/setup"&gt;documentation&lt;/a&gt;. Alternatively, you can sign-up for n8n.cloud to get access to our hosted service.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Webhook node: Get data from PagerDuty
&lt;/h3&gt;

&lt;p&gt;First of all, we need to pull in the new incident reports from PagerDuty. To do that start n8n with the tunnel parameter:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;n8n start --tunnel&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Make sure that you don’t forget to add the &lt;code&gt;--tunnel&lt;/code&gt; parameter. If you’re using n8n.cloud, click on the Open button on your dashboard&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Add a new node by clicking on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button on the top right of the Editor UI. Select the &lt;em&gt;Webhook&lt;/em&gt; node under the &lt;strong&gt;&lt;em&gt;Triggers&lt;/em&gt;&lt;/strong&gt; section.&lt;/p&gt;

&lt;p&gt;In the Node Editor view, set the &lt;strong&gt;&lt;em&gt;HTTP Method&lt;/em&gt;&lt;/strong&gt; to &lt;code&gt;POST&lt;/code&gt;. Now, you’ll need to save the workflow. I named it ‘Incident Response Workflow’. Once the workflow is saved, click on &lt;strong&gt;&lt;em&gt;Webhook URLs&lt;/em&gt;&lt;/strong&gt;, select &lt;strong&gt;&lt;em&gt;Test&lt;/em&gt;&lt;/strong&gt;, and then click on the URL to copy it to the clipboard.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Don’t forget to save the workflow first before copying the Webhook URLs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/ZCNXpUvUXfQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Now that we have our &lt;em&gt;Webhook&lt;/em&gt; node ready on n8n, we’ll need to configure the settings on PagerDuty, so that it sends the new incident reports to the webhook.&lt;/p&gt;

&lt;p&gt;Unless your team already uses PagerDuty, you can create a free trial account on PagerDuty. If you are creating a new account, you’ll also have to create a service that PagerDuty will be monitoring.&lt;/p&gt;

&lt;p&gt;PagerDuty has integrations with a lot of services, to monitor them, in case something goes wrong. Once you have created your service, let’s configure the webhooks for the service.&lt;/p&gt;

&lt;p&gt;To do that, click on &lt;strong&gt;&lt;em&gt;Services&lt;/em&gt;&lt;/strong&gt;. Click on the &lt;strong&gt;&lt;em&gt;More&lt;/em&gt;&lt;/strong&gt; button on the right side and select &lt;strong&gt;&lt;em&gt;View Integrations&lt;/em&gt;&lt;/strong&gt; from the menu (do this for the service that you want to configure the webhook for). Now, under the section called &lt;strong&gt;&lt;em&gt;Extensions&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;Add-Ons&lt;/em&gt;&lt;/strong&gt;, click on &lt;strong&gt;&lt;em&gt;Add or manage extensions&lt;/em&gt;&lt;/strong&gt;. Click on the &lt;strong&gt;&lt;em&gt;+ New Extension&lt;/em&gt;&lt;/strong&gt; button and select 'Generic V2 Webhook' as the &lt;strong&gt;&lt;em&gt;Extension Type&lt;/em&gt;&lt;/strong&gt;. I entered &lt;code&gt;n8n&lt;/code&gt; as the name and entered the URL that I copied from the &lt;em&gt;Webhook&lt;/em&gt; node. Click on the &lt;strong&gt;&lt;em&gt;Save&lt;/em&gt;&lt;/strong&gt; button and we are done!&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/yTHOCy9Tcx0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Now, click on the &lt;em&gt;Execute Workflow&lt;/em&gt; button to register the webhook. Once you’ve done that, you can create a new incident at PagerDuty. Your Webhook node will receive all the details. Keep in mind that the Test webhooks are only valid for 120 seconds. It should look something like in the following image.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1W1ppCEl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://n8n.io/blog/content/images/size/w1600/2021/03/webhook-node-output.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1W1ppCEl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://n8n.io/blog/content/images/size/w1600/2021/03/webhook-node-output.png" alt="" width="800" height="349"&gt;&lt;/a&gt;Response received by the Webhook node upon creation of an incident on PagerDuty&lt;/p&gt;

&lt;p&gt;At times, when you are sending too many requests from PagerDuty, it will disable the webhook. You’ll have to re-enable it by going to the list of extensions and clicking on the &lt;strong&gt;&lt;em&gt;Re-enable&lt;/em&gt;&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oN0NnVHS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://n8n.io/blog/content/images/size/w1600/2021/03/enable.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oN0NnVHS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://n8n.io/blog/content/images/size/w1600/2021/03/enable.png" alt="" width="800" height="249"&gt;&lt;/a&gt;Re-enabling the webhook on PagerDuty&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Mattermost node: Create an auxiliary channel
&lt;/h3&gt;

&lt;p&gt;Now, we need to create a &lt;em&gt;Mattermost&lt;/em&gt; node that will create an auxiliary channel so that the on-call team can coordinate on a fix for the incident.&lt;/p&gt;

&lt;p&gt;To do that, click on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button and click on the &lt;em&gt;Mattermost&lt;/em&gt; node. In the Node Editor, enter your Mattermost credentials. Here’s some detailed &lt;a href="https://docs.n8n.io/credentials/mattermost"&gt;information&lt;/a&gt; on how to create an access token for the credentials. I have used an access token from a bot account, but you can also use the access token from your account.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; Throughout the tutorial, please make sure that the nodes are connected properly before you start the configuration in the Node Editor. If you don’t do this, the variables mentioned in the tutorials might not be visible to you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once you are all sorted out with the credentials, select ‘Channel’ as the &lt;strong&gt;&lt;em&gt;Resource&lt;/em&gt;&lt;/strong&gt; in the Node Editor. Now select your team as the &lt;strong&gt;&lt;em&gt;Team ID&lt;/em&gt;&lt;/strong&gt; (in case you are unable to acquire that, please check with your system admin). We now need to enter a &lt;strong&gt;&lt;em&gt;Display Name&lt;/em&gt;&lt;/strong&gt; for the channel. Since this would be a dynamic piece of information, click on the gears icon next to the field and select &lt;strong&gt;&lt;em&gt;Add Expression&lt;/em&gt;&lt;/strong&gt;. Select the following in the Variable Selector:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Current Node &amp;gt; Input Data &amp;gt; JSON &amp;gt; body &amp;gt; messages &amp;gt; [Item: 0] &amp;gt; log_entries &amp;gt; [Item: 0] &amp;gt; incident &amp;gt; summary&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Quite some indentation, I know! This will make sure that the display name of the channel would be the same as the incident summary on PagerDuty to keep things coherent. Now you need to enter a &lt;strong&gt;&lt;em&gt;Name&lt;/em&gt;&lt;/strong&gt;. This needs to be a unique value, so we’ll select the &lt;code&gt;id&lt;/code&gt; from the Incident report. Click on &lt;strong&gt;&lt;em&gt;Add Expression&lt;/em&gt;&lt;/strong&gt; and select the following in the Variable Selector:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Current Node &amp;gt; Input Data &amp;gt; JSON &amp;gt; body &amp;gt; messages &amp;gt; [Item: 0] &amp;gt; id&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Perfect, now click on &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; and this will create an auxiliary channel on Mattermost. Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/hlSWUcY2UHA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Mattermost node: Add on-call team to auxiliary channel
&lt;/h3&gt;

&lt;p&gt;Once the auxiliary channel has been created, we need to make sure that all the on-call team members have been added to the channel. However, right now we‘ll add a single user to the channel.&lt;/p&gt;

&lt;p&gt;To do that create another &lt;em&gt;Mattermost&lt;/em&gt; node. Select the credentials that you entered earlier. Select ‘Channel’ as the &lt;strong&gt;&lt;em&gt;Resource&lt;/em&gt;&lt;/strong&gt; and click on ‘Add User’ for &lt;strong&gt;&lt;em&gt;Operation&lt;/em&gt;&lt;/strong&gt;. Now we have to specify the &lt;strong&gt;&lt;em&gt;Channel ID&lt;/em&gt;&lt;/strong&gt; where the user should be added. Since this is another dynamic piece of information, click on &lt;em&gt;Add Expression&lt;/em&gt; and in the Variable Selector, select the following:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Current Node &amp;gt; Input Data &amp;gt; JSON &amp;gt; id&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now we will specify a user by selecting ourselves from the dropdown list for &lt;strong&gt;&lt;em&gt;User ID&lt;/em&gt;&lt;/strong&gt;. Click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button and you will notice that you will be added to the channel. This node ensures that the specified user is always added to the auxiliary channel created by the workflow.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/BN6PXD6FwpA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;As an exercise, try using the PagerDuty API to pull a list of the email IDs of the people who are on-call and add them to the auxiliary channel in Mattermost. Feel free to pick this up once you are finished with the tutorial.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Jira Software node: Triage the issue in Jira
&lt;/h3&gt;

&lt;p&gt;Since the playbook specifies that the issue should also be triaged in Jira, we’ll need to add a node that creates a ticket in Jira. To do that, create a Jira node by clicking on the + button on the top right.&lt;/p&gt;

&lt;p&gt;In the Node Editor, enter the &lt;em&gt;Credentials&lt;/em&gt; for Jira. Here’s detailed &lt;a href="https://docs.n8n.io/credentials/jira/"&gt;information&lt;/a&gt; on how you can create a new API Token for the credentials.&lt;/p&gt;

&lt;p&gt;Once you are sorted out with the &lt;em&gt;Credentials&lt;/em&gt;, select the &lt;em&gt;Project&lt;/em&gt; where the tickets would be created. I selected a test project that I created specifically for this tutorial. In the &lt;strong&gt;&lt;em&gt;Issue Type&lt;/em&gt;&lt;/strong&gt;, I selected ‘Bug’ but feel free to select something else. &lt;strong&gt;Summary&lt;/strong&gt;* is a dynamic piece of information, select &lt;em&gt;Add Expressions&lt;/em&gt; and pick the &lt;code&gt;summary&lt;/code&gt; variable just like you did for the &lt;strong&gt;&lt;em&gt;Display Name&lt;/em&gt;&lt;/strong&gt; section while configuring the &lt;em&gt;Mattermost&lt;/em&gt; node to create a channel.&lt;/p&gt;

&lt;p&gt;Click on &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; and this will create a Jira ticket for you. Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/SdlmxP-Q5vc"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Mattermost node: Post details in the Incidents channel
&lt;/h3&gt;

&lt;p&gt;The next thing that needs to be done is to post the details of the incident in the Incidents channel. We will need to share the following information in the channel:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Summary of the incident&lt;/li&gt;
&lt;li&gt;Link to the Auxiliary channel&lt;/li&gt;
&lt;li&gt;Link to the PagerDuty incident&lt;/li&gt;
&lt;li&gt;Link to the Jira ticket&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sharing these pieces of information will ensure that if someone outside of the on-call team is interested to check out what is going on, they can get this information from the Incidents channel.&lt;/p&gt;

&lt;p&gt;To do this, create a new &lt;em&gt;Mattermost&lt;/em&gt; node. In the Node Editor, select your &lt;em&gt;Credentials&lt;/em&gt;. Now we need to enter the &lt;strong&gt;&lt;em&gt;Channel ID&lt;/em&gt;&lt;/strong&gt;. Since this is not a dynamic piece of information (the Incidents channel would always be there and hence, the ID will remain the same), we need to grab its &lt;strong&gt;&lt;em&gt;Channel ID&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you don’t already have a channel like this for the tutorial, you can manually create a new channel on Mattermost. To get its ID, click on the down arrow next to the channel name and click on the &lt;strong&gt;&lt;em&gt;View Info&lt;/em&gt;&lt;/strong&gt; option. This will reveal the ID of the channel. You can then copy and paste that in the &lt;strong&gt;&lt;em&gt;Channel ID&lt;/em&gt;&lt;/strong&gt; field in the node. In the message section, I entered the following expression to include the information that we mentioned in the list above.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🚨 New incident: {{$node["Webhook"].json["body"]["messages"][0]["incident"]["summary"]}}

Auxiliary Channel -&amp;gt; https://mattermost.internal.n8n.io/test/channels/{{$node["Mattermost"].json["name"]}}

PagerDuty Incident -&amp;gt; {{$node["Webhook"].json["body"]["messages"][0]["incident"]["html_url"]}}

Jira Issue -&amp;gt; https://n8n.atlassian.net/browse/{{$json["key"]}}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button to send this information to your Incidents channel. Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/KWYOn2RKg7U"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Mattermost node: Post details and action buttons in the auxiliary channel
&lt;/h3&gt;

&lt;p&gt;As a last step of this workflow, we need to provide the information that we talked about in the previous node to the auxiliary channel as well. Moreover, we will need to provide the following two buttons in the channel:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Acknowledge:&lt;/strong&gt; Clicking this button will change the status of the incident on PagerDuty from ‘Triggered’ to ‘Acknowledged’.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolve:&lt;/strong&gt; Clicking this button will change the status of the incident on PagerDuty from ‘Acknowledged’ to ‘Resolved’ and mark the ticket in Jira to ‘Done’.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To do this, create a new &lt;em&gt;Mattermost&lt;/em&gt; node and connect it to the &lt;em&gt;Jira&lt;/em&gt; node. This will ensure that this and the previous Mattermost node can run in parallel. In the Node Editor, select your &lt;strong&gt;&lt;em&gt;Credentials&lt;/em&gt;&lt;/strong&gt;. Next, you’ll need to enter the &lt;strong&gt;&lt;em&gt;Channel ID&lt;/em&gt;&lt;/strong&gt; of the auxiliary channel. You can follow the steps mentioned in &lt;em&gt;Workflow 1, Step 3&lt;/em&gt; to do that. In the &lt;strong&gt;&lt;em&gt;Message&lt;/em&gt;&lt;/strong&gt; section, I entered the following expression (this is quite similar to the &lt;em&gt;Message&lt;/em&gt; from the previous node):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;⚠️ {{$node["Webhook"].json["body"]["messages"][0]["log_entries"][0]["incident"]["summary"]}}

PagerDuty incident: {{$node["Webhook"].json["body"]["messages"][0]["log_entries"][0]["incident"]["html_url"]}}

Jira issue: https://n8n.atlassian.net/browse/{{$json["key"]}}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, we need to create the buttons which will trigger the actions that we talked about. To do that, under &lt;strong&gt;&lt;em&gt;Attachments&lt;/em&gt;&lt;/strong&gt;, click on the &lt;strong&gt;&lt;em&gt;Add Attachment&lt;/em&gt;&lt;/strong&gt; button, click on &lt;strong&gt;&lt;em&gt;Add Attachment Item&lt;/em&gt;&lt;/strong&gt;, and select &lt;strong&gt;&lt;em&gt;Actions&lt;/em&gt;&lt;/strong&gt;. Then click on the &lt;strong&gt;&lt;em&gt;Add Actions&lt;/em&gt;&lt;/strong&gt; button and name it &lt;code&gt;Acknowledge&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now click on the &lt;strong&gt;&lt;em&gt;Add Integration&lt;/em&gt;&lt;/strong&gt; button. This will allow us to give the URL of the webhook this button will trigger on being clicked. We’ll leave this empty for now.&lt;/p&gt;

&lt;p&gt;We’ll also need to send details (to the next workflow) about the PagerDuty incident to mark as resolved when the button is clicked. To do that, click on the &lt;strong&gt;&lt;em&gt;Add Context to Integration&lt;/em&gt;&lt;/strong&gt; button under the &lt;strong&gt;&lt;em&gt;Context&lt;/em&gt;&lt;/strong&gt; section. We’ll enter &lt;code&gt;pagerduty_incident&lt;/code&gt; as the &lt;strong&gt;&lt;em&gt;Property Name&lt;/em&gt;&lt;/strong&gt;. Since the &lt;strong&gt;&lt;em&gt;Property Value&lt;/em&gt;&lt;/strong&gt; is a dynamic piece of information, click on &lt;strong&gt;&lt;em&gt;Add Expression&lt;/em&gt;&lt;/strong&gt;. In the Variable Selector, select the following:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Nodes &amp;gt; Webhook &amp;gt; Output Data &amp;gt; JSON &amp;gt; body &amp;gt; messages &amp;gt; [Item: 0] &amp;gt; incident &amp;gt; id&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now, add another button called &lt;code&gt;Resolve&lt;/code&gt; and following the same steps mentioned above. For this button, we’ll need to add the context of the pager duty incident and the Jira ticket key. I’ll leave this as an exercise for you. For the sake of uniformity, you can name the &lt;strong&gt;&lt;em&gt;Property Name&lt;/em&gt;&lt;/strong&gt; &lt;code&gt;jira_key&lt;/code&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In case you were wondering, it is important to send the context with the buttons as there might be multiple auxiliary channels at any given time and multiple people clicking on different Acknowledge and Resolve buttons. We need the correct context so that we don’t close up the wrong PagerDuty incidents and Jira tickets by mistake.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button to send all this information to the auxiliary channel. Here’s a GIF of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/5WznYDhhwF0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow 2 — Make sure that the incident is acknowledged
&lt;/h2&gt;

&lt;p&gt;Our second workflow will cover the fourth step of the playbook. Once all the people responsible get notified that an incident has occurred, we need to make sure that there is a quick and easy way to acknowledge the incident so that it is clear that someone in the on-call team has got it.&lt;/p&gt;

&lt;p&gt;Let’s get started with the nodes of the second workflow. I have also submitted &lt;a href="https://n8n.io/workflows/354"&gt;Workflow 2&lt;/a&gt; on n8n.io, in case you’d like to skim through this workflow. Please note that you’ll still need to configure a couple of things like your credentials as well as the settings of the nodes.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Webhook node: Get data from the Acknowledge button
&lt;/h3&gt;

&lt;p&gt;We now need to set up a Webhook node that listens to the event when somebody clicks on the &lt;strong&gt;&lt;em&gt;Acknowledge&lt;/em&gt;&lt;/strong&gt; button in the auxiliary channel.&lt;/p&gt;

&lt;p&gt;Create a Webhook node the same way you did in &lt;em&gt;Workflow 1, Step 1&lt;/em&gt;. Now copy the link of the &lt;em&gt;Test&lt;/em&gt; webhook from this Webhook node, go to the node from &lt;em&gt;Workflow 1, Step 6&lt;/em&gt; and paste it in the &lt;strong&gt;&lt;em&gt;URL&lt;/em&gt;&lt;/strong&gt; field in the &lt;strong&gt;&lt;em&gt;Integration&lt;/em&gt;&lt;/strong&gt; section of the Acknowledge button under &lt;strong&gt;&lt;em&gt;Actions&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Once you are done with that, click on the &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; button to register the webhook and test it by clicking on the Acknowledge button in the auxiliary channel. Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/9-069p0Q9Co"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  2. PagerDuty node: Acknowledge the incident on PagerDuty
&lt;/h3&gt;

&lt;p&gt;Now we need to get the ID of the incident from the webhook node to know which incident to mark as acknowledged. We get this information from the context that we added to the &lt;em&gt;Integration&lt;/em&gt; of the button.&lt;/p&gt;

&lt;p&gt;Add a &lt;em&gt;PagerDuty&lt;/em&gt; node by clicking on the '&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;' button on the right side. In the Node Editor view, first of all, you’ll have to enter the &lt;em&gt;Credentials&lt;/em&gt; for PagerDuty. Here’s detailed &lt;a href="https://docs.n8n.io/credentials/pagerDuty/"&gt;information&lt;/a&gt; on how you can create a new API Token for the credentials. Once you are done with that, select ‘Update’ as the &lt;strong&gt;&lt;em&gt;Operation&lt;/em&gt;&lt;/strong&gt;. Since the &lt;strong&gt;&lt;em&gt;Incident ID&lt;/em&gt;&lt;/strong&gt; is a dynamic piece of information, click on &lt;em&gt;Add Expression&lt;/em&gt; and select the following in the Variable Selector:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Current Node &amp;gt; Input Data &amp;gt; JSON &amp;gt; body &amp;gt; context &amp;gt; pagerduty_incident&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;&lt;em&gt;Email&lt;/em&gt;&lt;/strong&gt; field, I have just entered my email. In the &lt;strong&gt;&lt;em&gt;Update Fields&lt;/em&gt;&lt;/strong&gt; section, click on the &lt;strong&gt;&lt;em&gt;Add Field&lt;/em&gt;&lt;/strong&gt; button and select &lt;em&gt;Status&lt;/em&gt;. From the dropdown list in the &lt;strong&gt;&lt;em&gt;Status&lt;/em&gt;&lt;/strong&gt; field, select ‘Acknowledged’. Now, click on the &lt;strong&gt;&lt;em&gt;Execute Workflow&lt;/em&gt;&lt;/strong&gt; button. Go to the auxiliary channel and click on the &lt;strong&gt;&lt;em&gt;Acknowledge&lt;/em&gt;&lt;/strong&gt; button. This will change the status of your incident report from ‘Triggered’ to ‘Acknowledged’. Here’s a video of me following the steps mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/muTOqpLTVbk"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Mattermost node: Confirm the acknowledgment
&lt;/h3&gt;

&lt;p&gt;Now we just need to confirm the change of status of the PagerDuty incident by sending a message to the auxiliary channel. I’ll leave this as an exercise for you. In case you run into any troubles, here’s a GIF of me creating this node.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/5pem8UUwR64"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow 3 — Make sure that everything is marked resolved after the fix
&lt;/h2&gt;

&lt;p&gt;Our third workflow will cover the sixth step of the playbook. Once the issue has been fixed, we need to make sure that the incident on PagerDuty has been marked as ‘Resolved’ and the ticket on Jira has been marked as ‘Done’. We also need to ensure that everyone in the Incidents and the auxiliary channel is aware of the resolution as well.&lt;/p&gt;

&lt;p&gt;Let’s get started with the nodes of the third workflow. The nodes of this workflow have been left as an exercise for you. I have added GIFs for the nodes and have also submitted &lt;a href="https://n8n.io/workflows/355"&gt;Workflow 3&lt;/a&gt; on n8n.io, in case you run into any troubles. Please note that you’ll still need to configure a couple of things like your credentials as well as the settings of the nodes.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Webhook node: Get details from the Resolve button
&lt;/h3&gt;

&lt;p&gt;Just like in the last workflow, we need a &lt;em&gt;Webhook&lt;/em&gt; node that listens to the event when somebody clicks on the &lt;strong&gt;&lt;em&gt;Resolve&lt;/em&gt;&lt;/strong&gt; button in the auxiliary channel. Here’s a video of me creating this node.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Rm6SiK8PpqQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  2. PagerDuty node: Resolve the incident on PagerDuty
&lt;/h3&gt;

&lt;p&gt;Now we need to change the status of the PagerDuty incident from ‘Acknowledged’ to ‘Resolved’. This is very similar to the &lt;em&gt;Workflow 2, Step 2&lt;/em&gt;. Here’s a video of me creating this node.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/qxPaCWBDzns"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Jira Software node: Resolve the incident on Jira
&lt;/h3&gt;

&lt;p&gt;Now we need to update the status of the Jira ticket to ‘Done’. Here’s a video of me creating this node.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/PJDrH--SWRo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Mattermost nodes: Announce the resolution in the auxiliary and Incidents channel
&lt;/h3&gt;

&lt;p&gt;Lastly, we need to create two &lt;em&gt;Mattermost&lt;/em&gt; nodes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;To acknowledge in the auxiliary channel that the incident report on PagerDuty and the ticket on Jira have been resolved.&lt;/li&gt;
&lt;li&gt;To announce in the Incidents channel that the incident has been resolved.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here’s a video of me creating this node.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/W8Ly-jVwLj0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Congratulations, you successfully built an automated incident response workflow using n8n, PagerDuty and Mattermost 🎉&lt;/p&gt;

&lt;p&gt;Let’s run the whole system end to end. First of all, you’ll have to click on the &lt;strong&gt;&lt;em&gt;Execute Workflow&lt;/em&gt;&lt;/strong&gt; button on all three workflows to register the Webhook nodes. Go ahead and get started by creating a new incident on PagerDuty.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/dwpdW5kJdSU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Now, to make sure that the workflow runs permanently without you having to press the &lt;em&gt;Execute Workflow&lt;/em&gt; on all three workflows before each incident creation, we’ll need to use the &lt;em&gt;Production&lt;/em&gt; webhook.&lt;/p&gt;

&lt;p&gt;To do that, you’ll just need to get the Production webhook URL from the different Webhook nodes, update the URLs on PagerDuty and the Mattermost node from &lt;em&gt;Workflow 1, Step 6&lt;/em&gt;, save the workflows and finally activate the workflows. This will make your workflows ready to use.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Note:&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;When working with a&lt;/em&gt; Production &lt;em&gt;webhook, please ensure that you have saved and activated the workflow. Don’t forget that the data flowing through the webhook won’t be visible in the Editor UI with the&lt;/em&gt; Production &lt;em&gt;webhook.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Today we created an automatic incident workflow using a variety of n8n nodes. The first-class support for webhooks and APIs allows n8n to integrate a very wide array of services and products, to create powerful workflows in a simplified way. This was an example of automating a minimalist incident response playbook. Which other services are you using for managing incidents in your organization? In case you have created other workflows with n8n that use different nodes, I’d love to check them out, please consider &lt;a href="https://n8n.io/workflows"&gt;sharing&lt;/a&gt; those workflows with the community.&lt;/p&gt;

&lt;p&gt;In case you’ve run into an issue while following the tutorial, feel free to reach out to me on &lt;a href="https://twitter.com/tanay1337"&gt;Twitter&lt;/a&gt; or ask for help on our &lt;a href="https://community.n8n.io/"&gt;forum&lt;/a&gt; 💙&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/creating-custom-incident-response-workflows-with-n8n/"&gt;post&lt;/a&gt; originally appeared on n8n.io &lt;a href="https://n8n.io/blog/"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>devops</category>
      <category>pagerduty</category>
      <category>mattermost</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Creating Telegram Bots with n8n, a No-Code Platform</title>
      <dc:creator>Tanay Pant</dc:creator>
      <pubDate>Tue, 28 Apr 2020 07:56:03 +0000</pubDate>
      <link>https://dev.to/n8n/creating-telegram-bots-with-n8n-a-no-code-platform-5elj</link>
      <guid>https://dev.to/n8n/creating-telegram-bots-with-n8n-a-no-code-platform-5elj</guid>
      <description>&lt;p&gt;I am a big fan of &lt;a href="https://telegram.org/"&gt;Telegram&lt;/a&gt; because of its great &lt;a href="https://core.telegram.org/bots"&gt;bot-ecosystem&lt;/a&gt;. I have been planning to make a bot for a while and have been looking for some nice workflow tools that can help me accomplish handling the back-end workflow of the bots visually. Recently, I started working with &lt;a href="https://n8n.io/"&gt;n8n&lt;/a&gt;, a &lt;a href="https://faircode.io"&gt;fair-code&lt;/a&gt; licensed tool that helps you automate tasks, sync data between various sources and react to events all via a visual workflow editor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4_PqnVN2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://miro.medium.com/max/2000/1%2ApkY07mr71Z5huHwHho-cOA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4_PqnVN2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://miro.medium.com/max/2000/1%2ApkY07mr71Z5huHwHho-cOA.png" alt="" width="800" height="416"&gt;&lt;/a&gt;Finished Telegram weather bot workflow on n8n&lt;/p&gt;

&lt;p&gt;It's springtime in Berlin and the weather is unpredictable. One day it's 6°C and the next day, it's 21°C 🤯 A good first use-case for me would be to create a bot that can send me the weather information whenever I ask for it. In this tutorial, I will teach you how to create your very own Telegram weather bot with n8n.&lt;/p&gt;

&lt;p&gt;To accomplish this, we’ll go through five steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Creating the Telegram bot&lt;/li&gt;
&lt;li&gt;Adding commands to the bot&lt;/li&gt;
&lt;li&gt;Creating a Telegram trigger node on n8n&lt;/li&gt;
&lt;li&gt;Creating a weather node on n8n&lt;/li&gt;
&lt;li&gt;Creating a Telegram node on n8n&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Creating the Telegram bot
&lt;/h2&gt;

&lt;p&gt;To create the Telegram bot, I downloaded the &lt;a href="https://macos.telegram.org/"&gt;Telegram application for macOS&lt;/a&gt;. However, you can also use the web client or the mobile app for this. We have to use the master of all bots that the team at Telegram created, aptly called BotFather. You can open a chat with BotFather by clicking &lt;a href="https://telegram.me/BotFather"&gt;here&lt;/a&gt;. You can get a list of all the commands that you can issue with &lt;code&gt;/help&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;First of all, issue the &lt;code&gt;/newbotcommand&lt;/code&gt;. It will ask you to name your bot. I named it ‘n8n bot’, cause why not? You will then be asked to choose a username for the bot. This has to be a unique username which has to end in ‘bot’. I went with &lt;code&gt;n8n_weather_bot&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This created my bot, gave me the link to access it (you can also search for your bot by the username that you gave it) and the API key that we’ll need later. Just click on the API key to copy it to the clipboard. Here’s a video of me following the steps above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/3hhOrszbU4Q"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding commands to the bot
&lt;/h2&gt;

&lt;p&gt;Let’s create a command to our bot before adding some functionality to it. You can skip this section for the tutorial, if you’d like. However, if you plan to create more commands for the bot, later on, it might make sense to try this on for size.&lt;/p&gt;

&lt;p&gt;To set a new command for our bot, go to the BotFather chat window again. Issue the &lt;code&gt;/setcommands&lt;/code&gt; command and you’ll be asked to select the bot for which you want to set a command. Select the bot that you just created and enter a command in the suggested format. I went ahead and entered the following:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;weather — Tells you about the weather&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Here’s a video of me setting a command for my bot.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/inOSIs8iuAU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Now, if you go back to the bot that you created and start typing ‘/’, it will show you the list of commands that you have prepared for the bot. Very well, now we have a bot and a command. Now it’s time to add some functionality to the bot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a Telegram trigger node on n8n
&lt;/h2&gt;

&lt;p&gt;Our bot needs a back-end. To get started with creating the back-end of the bot, you’ll need access to n8n. You can sign-up for &lt;a href="https://n8n.cloud"&gt;n8n.cloud&lt;/a&gt; to get early access to our hosted service. Alternatively, install n8n using &lt;a href="https://npmjs.com"&gt;npm&lt;/a&gt; with the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install n8n -g&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You can also run n8n using &lt;a href="https://github.com/n8n-io/n8n/blob/master/docker/images/n8n/README.md#start-n8n-in-docker"&gt;Docker&lt;/a&gt;. Once you have installed n8n, you can start it using the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;n8n start --tunnel&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We started n8n using the &lt;code&gt;--tunnel&lt;/code&gt; parameter to be able to use webhooks trigger from Telegram as it has to be reachable from the web. To learn more about this, check out the &lt;a href="https://github.com/n8n-io/n8n/blob/master/docker/images/n8n/README.md#start-with-tunnel"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Typing “o” in the terminal will open the Editor UI for us.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PHdBiSlX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AGcvrrU9WFp16Cmhy6hh8xg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PHdBiSlX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/1024/1%2AGcvrrU9WFp16Cmhy6hh8xg.png" alt="" width="800" height="347"&gt;&lt;/a&gt;Editor UI of n8n&lt;/p&gt;

&lt;p&gt;Let us now create a &lt;a href="https://docs.n8n.io/reference/glossary.html#trigger"&gt;Trigger node&lt;/a&gt;, which starts a workflow when the &lt;a href="https://docs.n8n.io/reference/glossary.html#webhook"&gt;webhook&lt;/a&gt; gets some data. In our case, it is the &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.telegramTrigger"&gt;*Telegram Trigger&lt;/a&gt;* getting webhook data via the bot.&lt;/p&gt;

&lt;p&gt;Create the Trigger node by clicking on the ‘&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;’ button on the top right of the screen. Select the &lt;em&gt;Telegram Trigger&lt;/em&gt; node under the &lt;strong&gt;&lt;em&gt;Trigger&lt;/em&gt;&lt;/strong&gt; nodes menu to create the node.&lt;/p&gt;

&lt;p&gt;Now you’ll have to configure this node. First of all, we have to add the credentials for the Telegram API and give the &lt;em&gt;Telegram Trigger&lt;/em&gt; node access to that. If you forgot to copy the API token, go to the BotFather chat window and retrieve it from there. Add a new credential by clicking on &lt;strong&gt;&lt;em&gt;Create New&lt;/em&gt;&lt;/strong&gt; under the &lt;strong&gt;&lt;em&gt;Credentials&lt;/em&gt;&lt;/strong&gt; section of the node.&lt;/p&gt;

&lt;p&gt;After that, you’ll need to configure that the node gets triggered every time a message is sent to the bot. To do that, select the option ‘message’ for the &lt;strong&gt;&lt;em&gt;Updates&lt;/em&gt;&lt;/strong&gt; field. Lastly, click on &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; on the top right of the dialog box. And voilà, our &lt;em&gt;Telegram Trigger&lt;/em&gt; node is ready.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/7J58ppyxbOo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a weather node on n8n
&lt;/h2&gt;

&lt;p&gt;Now it’s time to add the &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.openWeatherMap"&gt;&lt;em&gt;OpenWeatherMap&lt;/em&gt;&lt;/a&gt; node. This node will pull in the weather information for our bot.&lt;/p&gt;

&lt;p&gt;To do that, click on the ‘&lt;strong&gt;&lt;em&gt;+&lt;/em&gt;&lt;/strong&gt;’ button on the top right of the screen and select the &lt;em&gt;OpenWeatherMap&lt;/em&gt; node. We again need to add the credentials for the API. To get the API key for OpenWeatherMap, you’ll need to register for a free account and you’ll find your API keys &lt;a href="https://home.openweathermap.org/api_keys"&gt;here&lt;/a&gt;. Once, you have the key, create a new credential just like you did for the &lt;em&gt;Telegram Trigger&lt;/em&gt; node.&lt;/p&gt;

&lt;p&gt;For me, the node’s default settings were ideal. I just added &lt;code&gt;berlin,de&lt;/code&gt; as the city. You can check the code for your city &lt;a href="https://openweathermap.org/find"&gt;here&lt;/a&gt;. Finally, click on create &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt; and we are ready!&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/WIP0jfNI7fE"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a Telegram node on n8n
&lt;/h2&gt;

&lt;p&gt;First, you should save your workflow by clicking on ‘Save as’ under the &lt;strong&gt;&lt;em&gt;Workflow&lt;/em&gt;&lt;/strong&gt; menu on the top left. Toggle &lt;strong&gt;&lt;em&gt;Active&lt;/em&gt;&lt;/strong&gt; to &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now, send a message to the bot and you’ll see that it will be received by the trigger.&lt;/p&gt;

&lt;p&gt;Our final component is adding a &lt;em&gt;Telegram&lt;/em&gt; node that will send a message with the weather details back to the person who queried it.&lt;/p&gt;

&lt;p&gt;Add a &lt;a href="https://docs.n8n.io/nodes/n8n-nodes-base.telegram/"&gt;&lt;em&gt;Telegram&lt;/em&gt;&lt;/a&gt; node like you added the nodes before. Before moving on to configure the node, make sure that you connect it to the &lt;em&gt;OpenWeatherMap&lt;/em&gt; node before continuing. This will ensure that the node receives the data from the &lt;em&gt;Telegram Trigger&lt;/em&gt; and &lt;em&gt;OpenWeatherMap&lt;/em&gt; node for setting the configuration.&lt;/p&gt;

&lt;p&gt;Now it’s time to configure the node. We already have the Telegram credentials that we entered early on and they can be re-used. Once you have selected the credentials, click on the pencil icon next to the credentials and make sure that you move the &lt;em&gt;Telegram&lt;/em&gt; node from &lt;strong&gt;&lt;em&gt;No Access&lt;/em&gt;&lt;/strong&gt; column on the left to the &lt;strong&gt;&lt;em&gt;Access&lt;/em&gt;&lt;/strong&gt; column on the right. Once you are done with that, it should look like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ejbk331b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/4000/0%2AJGirHGbMy7432Z4G.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ejbk331b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/4000/0%2AJGirHGbMy7432Z4G.png" alt="" width="800" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You have two fields left to configure now: &lt;strong&gt;&lt;em&gt;Chat ID&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;Text&lt;/em&gt;&lt;/strong&gt;. Since we need to send the message to the person who queried the bot, we can get their chat ID from the &lt;em&gt;Telegram Trigger&lt;/em&gt; node. Since this is a dynamic piece of information, we’ll click on the gears icon next to the ‘Chat ID’ field to add &lt;a href="https://docs.n8n.io/#/node-basics?id=expressions"&gt;expressions&lt;/a&gt;. There you can select:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Nodes &amp;gt; Telegram Trigger &amp;gt; Output Data &amp;gt; JSON &amp;gt; message &amp;gt; chat &amp;gt; id&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For the &lt;strong&gt;&lt;em&gt;Text&lt;/em&gt;&lt;/strong&gt; field, since we need to add more dynamic information again, we’ll select the output from the OpenWeatherMap in a similar way:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Current Node &amp;gt; Input Data &amp;gt; JSON &amp;gt; main &amp;gt; temp&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This will give us the current temperature reading. Finally, click on create &lt;strong&gt;&lt;em&gt;Execute Node&lt;/em&gt;&lt;/strong&gt;, which will make the bot send a message to you on Telegram.&lt;/p&gt;

&lt;p&gt;Here’s a video of me following the steps above.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/4dy2t_gBXCo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I recommend you to play around with the different output values from the node to create your own message. I ended up adding the following expression for the ‘Text’ field:&lt;/p&gt;

&lt;p&gt;Now, when I go back to my Telegram app, it runs like this.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/b7P9dlb-W9g"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Once your workflow is saved, you can activate it by toggling the button marked &lt;strong&gt;&lt;em&gt;Active&lt;/em&gt;&lt;/strong&gt; on the top right. The bot will continue to work as long as the workflow is active on your computer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;p&gt;This tutorial contained a Telegram bot powered with a basic n8n workflow. n8n has tons of integrations that can simply enable very complex workflows. As a next exercise, you can also look into getting daily dashboard data from maybe Google Sheets or Airtable. You can create another command and add an IF or Switch node in front of the Telegram Trigger node to handle different commands. You can also look into how you can create your own nodes &lt;a href="https://docs.n8n.io/#/create-node"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Did you decide to create a different bot and used other nodes? Don’t forget to submit your workflow &lt;a href="https://n8n.io/workflows"&gt;here&lt;/a&gt;. You can find the workflow that I created for this tutorial &lt;a href="https://n8n.io/workflows/346"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Telegram Bots are fun to create and can open a gateway to quickly retrieve any kind of information. Designing the back-end of such bots require knowledge of handling APIs and can be tough if you have just entered the world of programming or if you lack the time. Using no-code solutions like n8n makes it efficient to create the back-end workflow of such systems without having to delve deeper into the mechanics.&lt;/p&gt;

&lt;p&gt;I’d be really excited to check out what you’ve built using n8n! In case you’ve run into an issue while following the tutorial, feel free to reach out to me on &lt;a href="https://twitter.com/tanay1337"&gt;Twitter&lt;/a&gt; or ask for help on our &lt;a href="https://community.n8n.io/"&gt;forum&lt;/a&gt; 💙&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This &lt;a href="https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform"&gt;post&lt;/a&gt; originally appeared on the n8n.io &lt;a href="https://n8n.io/blog/"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>tutorial</category>
      <category>beginners</category>
      <category>telegram</category>
      <category>api</category>
    </item>
  </channel>
</rss>
