Hookdeck - Full Product Demo

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi everybody my name is eric i'm a co-founder at hook tech in this video i'll explain how hook deck works and i'll walk you through a quick demo to show you how hook deck can help you quickly build test and deploy your web hook integration as well as reliably monitor and manage them at scale but before we jump in i'll take 30 seconds to quickly explain how hook deck works so what is hook deck well hook deck acts as your message queue between the webhook provider and your services it's our responsibility to ingest everything your web hook provider sends and safely deliver them to you so what are the benefits of using hug deck as your message queue well that's simple you gain control of your event stream that means you can set rate limits to specify the delivery pace and avoid spikes you can even pause webhook's delivery by queuing them up until you decide to unpause what's interesting is hook deck isn't just a queue you also get the tooling for visibility so such as traceability logging and error recovery alerts can retry so if i had to recap this it boils down to hug it helps you enjoy reliable web hooks and a simple to use solution it means more time for you to spend on building your product not infrastructure so now that we have a better idea of how hook deck works let's jump in the demo in our demo i'm going to focus on using hook decks ui but everything that i mentioned is also doable using the api so let's start with webhook management at scale here i'm in my workspace and the screen you see is the connections page this is the page you'll be using to configure hook deck by specifying your webhook connections the connection is the link between your source and destination a source is where you expect your web hooks to come from and for each source hook deck will generate a source url hug deck is a platform agnostic which means that with it works with any webhook provider you can see the stripe shopify and later in the demo we are going to be adding github webhooks then we have a destination which represents an endpoint and its rate limit you're telling hectic where you want your web hooks to go and what's the maximum pace it can be delivered at in our example of a shopify you can see that i've added hook decks source url as the callback url which would normally be your own endpoints by doing so congratulations you have just successfully offloaded the burden of building and scaling an ingestion service by telling the api provider to send their web hooks to hook deck instead after ingesting the web hooks hook deck will then deliver those webhook to you in a safe and reliable manner okay so now that you know what's a connection let's look into managing webhook connections as you can see i use the same source url to subscribe to two of my shopify topics but i have three connections linked to my shopify source and hug deck what does this mean well first of all it's important to know that the default behavior when hook deck receives a web hook on the source url is to deliver that web hook to every connection associated to the source this means your web hooks are being fanned out if you have multiple use cases for the same webhook or you want the same webhook delivered to multiple endpoints all you have to do is create new connections for example with my stripe source i have two use cases that uses the exact same webhook so i create two connections okay but if you're using the same source url for many webhook subscription like with this shopify example i'm assuming you don't want let's say your inventory web hooks to reach your order endpoints this is where hook deck comes in by making routing extremely simple with hook deck you can define criterias to filter and decide what web hooks you want and where will be delivered you control routing by creating filters for each connection based on the payload of the body header query and or the path for example in this connection i have to receive i'm sorry i'm receiving webhooks that has store 134 in its query and the slash order path on the url while in this connection i specified that i only want webhooks that are less or equal than one in inventory and that has a header of product inventory something to keep in mind is on top of their routing purposes the more specific you are with filters the more relevant the web hooks your you are going to receive this makes working with webhooks at scale much easier when i specify my inventory level to be equal or less than one in this connection well one i'm not receiving the 99 of web hooks for inventory changes that aren't relevant to me and two it reduces the amount of resources my server needs because it would have been spent using processing the 99 anyways so the last few details that will help you manage webhook at scale once you've set up your connection and been receiving webhook is you can pause delivery of webhooks by connection this will limit and eliminate the risk of dropping webhook during downtime that means that if you are or will have downtime for a destination simply pause the connection and hook that will cue and hold your web hook until the moment you click on pause and then we safely deliver the queued up web hook to your destination in this scenario setting a rate limit is highly suggested if you're using a web connection or you're not using web connection in this example you can archive it it allows you to focus on relevant information in the connection screen so just to quickly recap how connection will help you manage webhooks at scale well one you only manage one url per source because it can be used for multiple subscriptions two you receive all your webhooks safely hookdeck takes care of webhook ingestion for you behind the scenes and safely deliver them by taking account your rate limit and three you are in control of the how and the what of receiving web hooks by that i mean routing filters pausing and archiving of connections now let's look at monitoring webhooks at scale the first thing you want to know when you monitor something is to be alerted when there's an error in hook deck you can create and customize the alert strategy per connection it allows you to never miss anything and be able to act on it quickly for example i'm going to customize the alert strategy for my subscription creation connection i'm going to set this to receive an alert every time there's a failure and i'll set a limit of one alert for 30 minutes on this connection once you've been alert of an error let's go to the dashboard where you can see every web hooks that's been delivered to destinations the dashboard allows you to get access to information that helps you understand what's happening and troubleshoot errors for example you can see the status of your server response the event date the header and the body of the request and the server response on top of having all this information by using filters you're able to search and find specifically the web hooks you're looking for sometimes you want to search for webhooks by date or an event id in the body but in our case i'll take a look at webhooks from the shopify to no inventory connection with a failed status great we can see our web hooks and having this visibility is great but hotdeck also gives you the ability to recover from errors for example we can manually retry any web hooks just like this or you can bulk retry based on the filters we've just used again just like this and you can set an automatic retry strategy per connection this is what you see right here in the next attempt column so if we go back to the connections page and select this connection to create and customize the automatic retry strategy let's click edit and then let's click retry customizing is great for the reason that not all use cases are created equal for some use cases you might want to have a strategy with a shorter time interval and other strategy other times you might want with a higher number of maximum talent with hook deck you're able to choose what's best for you so just to recap how hug deck helps you monitor webhooks at scale one you can create alerts to get notified of failures in a timely manner two you have visibility and search ability of all your web hooks to help you troubleshoot and three you can recover from errors much faster with automatic manual and bulk retry after watching how hooked helps you manage and monitor web hooks at scale you might think it will take a lot of time to set up and get the ball rolling the truth is it takes less than one minute to get started and to show you how quick it is i'll create a new connection on hook tag for github webhooks then with our new connection i'll walk you through how hook deck can help with building testing and deploying web hooks integration faster so let's get started the first thing i'll do is to create a connection in hook deck here i'll write github for source then for my destination i'll select http endpoints i'll be explaining what a cli destination is a bit later in the video so for my endpoint i'll be writing the mock destination and i'll add a path for github and as for my rule set i'll select the no rule let's click create now all i have to do is copy this url and go into githubs to create my web look so first i'll add webhook then paste the url for the content type i'll select json but hookdeck supports form url encoded in xml then for my events i'll click select individual events and click create a branch let's scroll down and click add webhook so let's go back in to the dashboard and filter for github we can see that i received their test webhook with that we're done that's it we've set up a connection and it took less than a minute now let's go through a few things that makes hook deck build test and deploy web hook integrations faster the first thing to know is with web with hook deck you can actually work locally without any live endpoint so if you're developing on a local server all you have to do is install the hook deck cli and to show you how simple what that would look like i'll show you a quick example here i have my local server running on port 9001 and in the terminal the first thing i'll do is log into my account next i'll launch the cli and choose my connection in our case it's going to be the github connection now let's go create a branch in a github to trigger a webhook i'm in my repo and here i'm creating a branch called demo let's go back and check our local server there as you can see it you can see we received it and if we go back into hotdeck first i'll change the view to cli view and as you can see here there's my web hook that was forwarded to my local server with all this relevant information that will that could help you with building or troubleshooting so two little details with the hook deck cli just to clarify how working with your local server works with hook deck is that what we just did is to listen on a live endpoint which means the web hook was delivered to the endpoint associated with the destination as well as forwarded to my local server a bit earlier during our setup i mentioned the cli destination so this is the destination type you want to choose if you want to only receive the web looks to your local server no live endpoints the second little detail is historically working with locally with a tunnel meant you can't work on the same endpoints for your teammates because you'll both be receiving each other's web hooks well with hook deck that doesn't really happen because you can simply work by cli users and here you can see that you can also look at other users cli events if they were connected what about testing is there something more annoying that mainly triggering an event every time you want to test well instead of having to re-trigger an event with hub deck you can create a bookmark so let's take this example here i'll save the event as create branch and once that's done all you can all you have to do is go into the booksmart page to see all your saved events let's replay the create branch event and here in my local server you see i received the event the more bookmark you save the simpler testing becomes alright so let's say you're ready for deployment create a connection and pause it it gives yourself time to add filters alert automatically try update your destination without stressing about dropping a web hook and all you have to do once you're done is unpause and then and there you go you're fully deployed without having to touch a line of code well to quickly recap how hug deck helps you build test and deploy webhook's integration faster first you can create a connection in less than a minute secondly you can work on a local server using the hook deck cli third you can test by replaying bookmark events instead of manually triggering the action every time and third and fourth i met when you want to deploy you can pause your web hook connection to safely do the changes for production setup and when you're done just unpause and keep and then you're fully deployed there we have it in this demo we've started by looking at how hook deck helps with managing and monitoring web hooks at scale and then we did a walkthrough of a setup to illustrate how hook deck also helps you build test and deploy your web hook integration faster what you saw today is hook deck's effort to deliver a web hook infrastructure that developers can love but that's only the beginning we imagine a world where the needless complexities of an event-based communication are simply abstracted away sending developers and their teams free to focus on building the things they love rather than the infrastructure around them i hope the video was helpful if you want to share your feedback or have questions leave a comment below i'll make sure to answer them personally
Info
Channel: Hookdeck
Views: 41
Rating: undefined out of 5
Keywords:
Id: k90jeftUjQw
Channel Id: undefined
Length: 15min 16sec (916 seconds)
Published: Tue Sep 14 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.