Transcript for:
Automating Messaging with Slack Features

what's going on everybody got a quick and easy video for today on slack specifically how to use Slack's interactive block feature to automate the hell out of your messaging platform um this works really well with Discord as well super similar sort of workflow I'm just going to do it in slack because I have a slack workspace setup uh and I've also built this out a number of times for coaching companies and that sort of thing so as always I'm going to build it for you live this is something that you can actually go out and sell to coaching companies or if you run a coaching company or I mean to be frank any type of agency that just deals with leads through slack uh this is something you're going to want to check out if that sounds like something that's interesed to you then stay tuned and let's get into it okay so to be brief essentially what we're going to do is we're going to build out a flow where when a record is changed in a CRM let's say new lead is generated our sales channel is going to receive a message from slack that looks something like this instead of you have a new request it's going to say you have a new lead um we're going to have a a link that basically goes back to the CRM there's going to be some information about the lead maybe I don't know like the question that they submitted on a form or whatever and then you'll have two buttons you'll have like an either an approve button or a deny button if you approve it then the lead is qualified and you know maybe this triggers the next step of some super intense sales flow maybe it sends them a proposal automatically maybe it adds them to you know a queue where salese on your team call them whatever and then if you click deny then it marks it as no fit and the idea here is essentially you can apply the same approach literally anything um there's just some QA step that needs to be passed before you know the next stage in this transformation of the lead you could use this internally if you had like an article company like I do one second copy um maybe when an article is ready from you know your rough draft writer you receive a new slack message in you know like a QA Channel and then you have to approve or deny a request you could use this in like a graphic design company same sort of idea right new piece of creative is created there's senior person that QA I'm just showing you a lead generation example because I always like to align my stuff uh most with Revenue generation because I find that that's usually the most valuable and uh relevant but just keep in mind that you can use this exact same sort of flow that I'm about to show you for literally anything now let's actually dive into how to build something like this so unfortunately slack is notoriously quite difficult with getting an app up and running and that's why I wanted to make this video uh to show you that you know you can spend 5 million hours trying to figure out the various scopes of permissions that you need how to invite things to your Channel all that stuff or you could just watch me do it once and then you could just use that same sort of approach for any app that you make I spent a lot of time just like waiting through pretty deep Waters trying to figure this stuff out um over the course of the last couple years and slack has unfortunately change their API and the way that they work so I've had to relearn it a few more times but uh my way is probably one of the simplest so if you're building out slack automations or Integrations uh and you need like a custom app or whatever then yeah I'll I'll guide you through it here okay so very first thing that I'm going to do is I'm going to use clickup which is essentially like a CRM or project management tool and then I'm just going to use it to represent like a CRM just so that we have some external Source where data is triggered as opposed to just doing everything in slack I want this to be as relevant to you as possible so whether you're using clickup or whether you're using some other CRM um I'm just going to walk through what what this process looks like for us clickup is similar to the vast majority of other Crums and that you can organize Things based off of um stages you know dates I'm like sorting by date created here what I've done is I have my slack CRM set up and then I have a lead that I've added here called Peter ELO who's definitely a real person I created him today the stage that he's at is called intake this is just the default stage when a new lead enters my system right maybe I'm doing a cold email campaign or maybe this is like an SEO funnel or something um there's no due date let me just get rid of that that's irrelevant but I have his email I have his phone and then I'm just going to add a column here and I'm just going to call it like you know form answer and I'm going to pretend that maybe there's like a form box on my website that he had to fill out in order to get added to the system and maybe here all I'm doing is I'm just asking him you know what it is that he wants so I'm looking for an agency to help me with my graphic design needs right and what we're going to do is we're just going to like have that form answer be the thing that we're going to determine whether or not a lead is qualified from so you know this is just some entry in a CRM um what I'm going to do is I'm just going to set this to to to empty for now and then I'm just going to add an automation inside of clickup so that when I add it to intake it um it automatically gets sent to slack first things first is custom field uh let's just say that when this custom field stage changes anything to intake then we're going to fire a web hook then I'm just going to go into make I'll create a new scenario and this is going to be a multiple scenario type flow but I'm just going to create this web hook custom web hook and then I'm going to say new lead uh what am I doing here slack block kit example lead that'll help me hopelessly organize this it's more like it's already hopeless okay so all this is doing is a very simple clickup automation that when the stage changes to intake we're going to fire a web hook and we're going to catch that web hook in make so what I'm going to do here is just before I do this I'm going to make sure this is running so I'm going to click run once this is now on it's waiting and then I'm going change the status to intake and then click UPS automation Center we see that and then they're going to shoot that over here and what I'm going to do is I'm going to use this payload here just to get a bunch more information about this before I create the slack block message um which will look like this and I'm also going to show you guys how to like format the slack block kit and you know do do everything so stay tuned for that uh but essentially we have all the data about Peter here but what I always like to do is I always like to requery the CRM so if this is coming in on Monday for instance you just do the equivalent task in Monday um what I always do is I always just do the get a task uh feature basically every CRM has a flow where you can just feed in the ID of the task that trigger a web hook and then you can just get more data about that so I'm going to go back here and just pretend that I'm doing all this over again I'm going to run this once one more time and then I'm going to go back here and change my stage to intake this is going to trigger the web hook again but you'll see that now what I'm doing in the second stage is I'm getting that task and so um the reason doing this is because I can access all of the custom fields in this task I can see the stage the email the phone number then I can get this form answer which is nice and sexy uh and then I can use it to feed into my slack um automation okay great so now that I'm done with that let's actually go into slack and let's create a a flow that essentially sends a message into our chat you know this is one of the scenarios where I'm not starting at the end I'm starting sort of at the beginning but that's just because this is quite conceptually simple and the real Secret Sauce here isn't the automations the secret sauces um the stuff you have to do in slack to configure it to make it work I know that my channel type is public what I've done is I've created a channel in slack by going here clicking create and then just typing slack block Automation and I just click next and then I created it you know this one's already been taken so and that's that's what I have over here um what I'm going to do is I'll go to public Channel and then I'll go slack block automation right here and then the slack create a message module offers you two ways to make a message the first is you can make a message just just do plain text and so I could just say like hello how are you if I run this puppy you'll see there's a new message here from integromat which is sort of makes old name uh and it says hello how are you but this isn't really that pretty and obviously there's no interactive functionality here I can't click on this and I can't use it to like trigger a workflow or approve something or deny something so we don't want to use that what we want to do is we want to go down here to blocks and you'll see that you can use blocks to build an interactive message to create blocks use the block kit Builder so slack is very good at educating people on how to use their block Builder if you give that button a click you literally just go straight to like a big template page where you can just select one of like a dozen templates and as you see this is actually the template that we we were using initially and then all we need to do to actually paste this in is just copy this text go back to our flow paste it in let me just zoom out a bit because this uh screen's a little small then if I run this again you'll see that we now have a message in our app uh in slack essentially saying you have a new request here's Fred Enrique new device request y y so that looks pretty good to me obviously if we click approve or deny we're going to get this little app has not been configured for this feature please contact the apps developer that's just because we haven't set up any of the actual slack app on the back end in order to do this you need to set up an app and everything like that which which I'll show you but what I'm going to do right now is I'm just going to change this so that it has the information that we care about so that we could see the form answer and you know the person's name and that sort of thing so first things first the simplest way to do this is always just using the slack block kid Builder itself because when you make a change here it'll actually just immediately be represented over here on the left hand side so instead of you have a new request I'll say you have a new lead then we have a fake link to employee profile what I'm going to do here is uh this format is essentially maybe I'll do it up here it's a smaller or a less than symbol and then it's the link and then it's a vertical bar and then it's like the name of the thing so if I added this in here I would have a link actually why don't I added in here just so you guys can see I would have a link to my website um left click. that reads left click commas space Inc and so this is just the format that we're going to use what I'm going to do here is I'm just going to put a first name so we'll just say Peter Leia I'm just going to hard code it in and then what I want this to be is I want this to be a link to the clickup record click Up's really easy for this if I just click on this record if I just click on this clickup record dog then uh I already like click so I put a click in your click uh I if you just copy this over you'll see that the format of this URL is pretty straightforward it's app. clickup docomo it's actually very straightforward and very simple to do this what I'll do is just paste that in and now I have a button that literally like when I click on this it takes me to my clickup task for that lead you can imagine how this might be valuable to have when you receive a slack message because that way you can just click on it and maybe see all the history of the lead or whatever uh so that's pretty neat um um okay great so what else am I going to do well I see there are all these sections here uh there's Fields field is a an array that's broken down into a number of objects there's type markdown okay text uh type computer when last update whatever so it looks like this is just um yeah this whole section here is just broken down into um like one two three four five things and all I want to do is I guess I need maybe I want his email address so I'll say email then we're just going to do I don't remember what I did here but I'll just do my own email here nice automatically links um when I don't know if we need a when let me just look through here and see what information is actually relevant like don't just put information there because you need information or because you want to fill a space put information there if it's relevant so I'll put the phone number as well so we'll go phone and I'm just going to do some pretend phone number here I did my own phone number again didn't I yeah I did I've gotten some calls whatever I'm putting it back up feel free to ring me if you like getting hung up on um and then last update what I'll do here is I'll say this is form answer and then here I'll just put the form answer and that should be good so let's paste this in that looks pretty good and then um we'll just delete these two and you know it's not the prettiest I kind of wish that I could like have one more thing honestly but whatever it's not a big deal uh and then we have two buttons so we have an approve button and a deny button you'll see that the way that this is laid out their syntax looks like there's a type like to be clear I don't actually know any of the syntax off the top of my head or anything I'm just making this up as I go along um I'm just looking at the syntax I'm looking at like comparing it back to the page then I'm saying hm the text parameter is approve I wonder if I change this to qualify yeah and then it changes it to qualify so I have basically the same level of knowledge as you do about all the stuff on the right hand side of the page but regardless you know I'm able to infer that if I make a change on the right hand side it change the thing on the left hand side I've played around with this probably a little bit more at this point than most of you so um that's why I'm dancing around but yeah you know just try one of these templates play around with it and then um I'm sure you you'll see what I mean it's quite simple and straightforward to to do this yourself but okay I see that there's an elements array inside of it there are two buttons there's one called primary with the text approve and then the value is clickme one two 3 so what I'm going to do is I'm just going to change um this value to qualified and then for the deny button I'm going to change it to unqualified and uh that should be good and I imagine I'm going to feed the value in later or something I don't actually know so we're going to we're going to do it together U but anyway I'm going to copy this now and what we need to do is we need to basically like format our message message so I'm going to paste this back in here and then there's some variables that I want to add so I just did this because um I wanted to know how to like where to replace the variables exactly so the task name is Peter Leo that's where that's going to go I'm going to leave the link the same as it is and I'm going to move this over here so you guys can see this a lot simpler before I start screwing around with this okay so where was I um Peter Leo I'm going to replace this with the task name and then this link I'm going to to put in the task ID so it'll say https app. clickup /t/ whatever this will link us back to the clickup record the email here I'm going to fill with the email record from the record here uh phone number I'm going to fill with the phone from the record here and then the form answer which ISS will be the most important part I'm going to add here and then I have approve uh so I've qualified then I've un qualific that looks good to be I'm going to test so I'm going to see oh never mind I'm not going to test this cuz I have to do like a million things I'm actually just going to run the scenario from the beginning so I'm actually going to catch the web hook and then get the task and then paste it in the way to do that here is I'm going to switch this back to my nothing stage and then I'll push this back to intake we'll just pretend that intake is where we actually just dump all leads to but um you know just want to make it simple uh and then we have our form so you have a new lead Peter Leo if I give this a click this will open up click up wonderful if I go to my email I can email myself I can call myself and then form answer I'm looking for an agency to help me with my graphic design needs if I'm like a sales manager or something and I have like a junior that's generating leads for me whatever the the the format is if I'm a closer and there's a Setter out there that's setting appointments I can forward their information over to a message just like this and then I can at a glance instead of me going into a record or having some daily task at a glance I can just verify that this looks good you know I wouldn't recommend this for all business types obviously I don't like being chained to a messenger personally and I do not really work this way but there are tons of coaching companies where you need to respond to a lead within like a minute and if you don't respond to a lead within a minute that's $115,000 on the table you just lost so that works quite well obviously for that but anyway so we've set this up now where we got the message and the question is what do we do with the message well obviously what we want is we want a system that is two-way not just one way when we click approve something will happen to the clickup CRM when we click deny something else will happen to the clickup CRM and this is where um the rest of the flow becomes less of a make.com flow and it becomes more of just like a slack setup flow uh which is you know quite intimidating to a lot of people and this may differ a little bit from Discord if you're going to use that platform um but I will show you how to do it in such a way that uh makes you not want to tear your eyeballs out okay so first things first uh we need to set up a slack app so what I'm going to do is I'm going to go over to my workspace go to tools and settings and then go to manage apps that'll take me to this page here and then on this page I can go to the top right and click build and what I'm going to do is you can see I've already created one called block kit example earlier when I was screwing around at this but I'll click create new app and then go from scratch the app uh name is going to be NYX super awesome 2way slack NY cool 2way slack automation that's rough man all right that looks good workspace I'm going to develop this in is my own 1 second copy and then I'm going to click create app uh you should call yours Nick super cool slack automation too by the way all right uh now we're confronted with a pretty intimidating looking screen what we need to do is use this interact click on this interactive components button turn this puppy to on and we need to uh go to request URL and then we need to uh let me see so this will send the slack message what I'm going to do is I'll call this scenario number one new le generated send to slack for approval and then I'll go back here and then I'm just going to clone this even though I H that's annoying sometimes when you clone a new scenario um that has a web hook as a trigger It'll ask you to replace the web hook which is just the worst but I'm just going to create a new web hook in a new scenario and I'm going to call this two slack button pressed um change lead status to qualified or unqualified okay and then I'm going to add a new hook I'm just going to call a slack button pressed and then I'm going to copy this address to my clipboard then if we go back here to the app uh you'll see there's a request URL parameter this is the place where we paste in our make web hook and that make make web hook after we do this will receive all of the queries that are coming in so we paste it in like this and we see that we now have um the ability to save the changes which is quite cool I will say um this may require a little bit of playing around with on your end um you know depending on when you watch the video slack may have a slightly different interface they've been discussing changes to this and I think they recently changed the flow here quite considerably that's why I spent a little bit of time mucking around so if it doesn't look exactly like it looks right now just sort of understand the fundamentals of what I'm talking about which is that essentially in order for interactivity to work you're going to need a URL or a web hook to send the request to there's going to be a place to configure that and we're also going to need to do a few other things um probably the most important thing we're going to do is go to ooth and permission and then we're going to have to add a bunch of ooth Scopes um for chat I believe so chat right chat uh I think that's it actually and then I am read I am WR oh there should be a chat read too no no there's no chat read okay so add those here and then I don't actually know if you need to do this but I always do this anyway um I'll do the same thing here on on uh user token Scopes because I find that um when I didn't this just this one time it didn't work so this is my magic um way to ward off the the failure and then we also need what's called a new redirect URL and this is kind of weird and funky um but in order to do this what we have to do is we have to go back here to basic information and then we need to install our app to our workspace so click install to workspace this is now installed on my workspace there's Now app credentials here with a client ID a client secret signing secret all that stuff so what what you're going to do is copy the client ID and then I should have kept the scenario open but we got to go back to the previous scenario here so let's go to slack and then we have to change the connection um I was using an example connection here that I had already set up previously you probably don't even have a connection set up so what you need to do is you need to go to add go slackbot I'm just going to call this slack interactive block kit example and then go down to show advanced settings here and paste in the client ID and then go back and grab the client secret as well paste that in paste that in here okay so what'll end up happening when you try and do the connection um I just give it a try and I had an issue where I wasn't actually logged into the right slack workspace so I had to cut it but what happens when you try and do do the connection to the specific slack workspace that you are supposed to be logged into is you'll get this message redirector URI did not match any configured uis past URI this integrat docomo CBS slack3 and now I've looked long and hard for this documentation I haven't really been able to find it anywhere um but I have as I mentioned mucked around in the mud and I've realized that what you need to do is you need to copy this URL and then you need to go back to install not install app um I think ooth and permissions probably and then you need to go to redirect URLs here then add new redirector Ro and just paste this puppy in and then save what you are basically doing is you're just adding um like an additional layer of verification where the request is now being sent back to make really quickly um just to verify that you know you are who you say you are and all that stuff so what I'm doing now is it's told me the respons is marked is invalid I'm just going to like retract and I'm going to get a little modal here that is now saying hey we are requesting permission to access the 1 second copy slack workspace what can I do um I click allow all right and now by doing so what we've done is you know we basically created a slack app and then that's hosted over on slack essentially and now what we're doing is we're using that slack app and then we're connecting it to our make account so now we're going to send and we're going to receive messages using the slack app as opposed to just using the basic integrat bot like I was doing earlier U most people here are probably just using the basic integrat bot or you know maybe you're just using like a user account that you're authenticating um if you do that you're just not going to get the message from the right person it's not going to be your slack app for one and then for two um you know if you do all of your automations through like a specific user account instead of a bot account or whatnot then um uh like you know if you send a DM or something it'll be receiving a DM from a person as opposed to from a bot which can be sort of tricky um any that's all Nuance you could use whatever method you want but essentially in order for this to work you're going to have to use the slack app that you created and then once you have that now if I send this message oh sorry I'm going to have to redo the whole thing again so let's go to run once let's go back to my CRM let's change the status to nothing let's change the status to intake that's going to run my flow now what we'll see is if we go back here uh we received the message from NY cool two-way slack automations but to integrat right so that's pretty neat and then the other thing is um now when I click approve or deny it's actually going to do something so what's it going to do well it's going to send the request when we click either approve or deny to the URL that we added earlier to our web hook in make so if I go back to make here you'll see that there's this web hook just waiting patiently if I click run once then I go back here and I click approve we'll just have sent the message and so we receive a payload that's basically just a ton of CH in with like a million in one different fields and now we basically have everything we need to be able to um go back to clickup and then update that lead right we have the username of the person that made the change so we can log that we have um the data here including like the the lead name the email we have the phone number we have the form answer we have basically everything that we need in order to to go back and do it with some pretty fancy parsing uh so what do we do now uh we just need to go into click up and we need to um update the update the flow so I'm going to paste this in first I'm just going to C get task and then actually what I'm going to do before then is because this is Json we can actually just parse this all in Json and that's going to be much prettier and it's just going to be a lot easier to use so I'm just going to use the parse Json module here paste that in and then right now for the purposes of this test I'm just going to copy this into the parse Json module is hardcoded I'm going to run this make sure that it's parsed nicely you see now we have a bunch of fields and these fields are very easily accessible and then what I'm going to do here is the field that we want is going to be in message most likely um I guess thinking back we could probably just add the clickup ID as a field we could just say click up ID and then have it um but that's not a big deal we can also just parse it yeah let's just parse it using Rex that'll be fun okay so what I'm going to do is okay we have this message field here right uh if we go back to message then you have a new lead blah blah blah and then we have the clickup ID of the record right over here so what I'm going to do is I'm just going to parse this message so that I can grab the clickup ID again which you know if you think about it logically is just creating more work because I had full control over the uh the pattern earlier and now I'm like going through the more complicated pattern um but that's okay um the pattern is going to be something like this and then the text that I'm going to feed in is going to be message text now anytime I make a Rex I always do I go to Rex 101 then I insert whatever I want my string to be and then I insert all of my test data as well so I'm going to be feeding in all of this data into Rex right and what I want is I want this section right here so what I'll do is in Rex you have to cancel out backs slashes like this and then um whatever the data that you want to extract needs to be within these two little curly brackets so got the curly brackets here and then my group one is the ID which is what I want so this reject should work I think it'll work uh I'm just going to go in and and pump this in give it a try pattern that I'm looking for is here the message that I'm looking for is there um I'm just going to hardcode the message again just because I'm doing testing let me just paste this in make sure that I grab the actual ID of the record and then I'm just going to give this a run we we didn't get anything why didn't we get anything H maybe because Global match was off case sensitive no multi-line it's probably multi-line well actually that doesn't mean anything yes so that that shouldn't matter let's try this again okay we didn't get anything there oh man what was it that I was not doing correctly here again was it the pipe character might be the pipe character yeah okay it was the pipe character so sometimes in Rex you have to like cancel out or Escape various characters um and sometimes the way that that Rex is interpreted by Rex 101 is different from the way that the Rex is interpreted in make that's the tldr there it's not super important if you aren't capable of getting something that you can get in Rex 101 I would just start adding some backslashes randomly like I did and then eventually you'll be able to you know isolate the variable that you want anyway um that's good I verified that this works so I'm going to go back here I'm going to swap this out with the message text then I'll go to click up and then the variable that I'm going to feed in is going to be um this dollar sign one so I think it's going to be four. doll sign one back here I believe we'll see and then once I get that uh I'm going to go back to click up and then I'm just going to update let's edit a task with custom Fields this allows me to access the custom fields that I want to change and then uh I suppose I could add a router here and then I could say if it's approved then we do approve if it's denyed then we do it denied but let me cover that in a second let me just verify that all this stuff works first we'll go to folder lless lists and then uh what you slack CRM here and then the ID of the record that feeding in is just going to be the ID of this get a task module and then the custom field that we're changing is going to be called stage and we're just going to change this to qualified for now okay let me go in and actually add the real data to all this so this is the payload so the pattern we got the task and then we're editing the task custom Fields great I'm going to give this a run and what I'll do is I'll take a close look at this stage then I'll go over to my slack and then I'll click approve then I'll see that the stage was just changed to qualified and it happened when I triggered it in slack which is nice if I go back to the make scenario you'll see that all of these were completed pretty nicely um looks like we found the ID and all that stuff and then um sorry I just realized that I'm hardcoding in an ID which is dumb uh what I'm going to do is I'll go um period and then this and this should now be able to hardcode anything as opposed to just that uh modifier yeah there you go so the Rex previously I was actually just looking for 86 DT g69 H7 which is dumb obviously every ID is going to be different um what you can do is you can just put a dot and then the star symbol and it'll just capture everything up until you know the character outside of this little um uh round bracket if you guys are interested in me doing like an actual breakdown of Rex at some point as opposed to just mumbling my way through various uh builds that include Rex just let me know I'm more than the Habit to like actually focus on Rex maybe give you guys like a brief eli5 I'll be honest I just use chat GPT for probably 70% of my rxes nowadays um it's just a lot faster than me having to memorize every single part of the flow but you know I you can still make it pretty far with just a little bit of procedural knowledge but all right so that's more or less the flow for Approved um why don't we see okay there's a variable here I think it's actions and then it's under value so what we need to do is we need to change the stage that we're updating it to depending on the presence of this value if it's qualified we'll change it to qualified if it's unqualified we'll change it to unqualified what I'll do here um because this is probably just simpler for everybody watching is I'm just going to attach a router I'm not a big fan of routers if you've seen my previous videos you'll probably know why but this will just make it a lot easier for people that are unfamiliar with how switches work to get up and running with this and then what I'm going to do is I'll use filters and then I'll say if this is equal to go to actions and then value and if this is equal to qualified then we'll go the qualified route and then if actions is equal to unqualified then we'll go the unqualified route and then what I'm going to do is down here I'll change this to unqualified so now we should have the ability to dynamically change the status of a lead based on a button click so this is currently qualified I'm going to click deny and now this should move to unqualified and you see that's exactly what's happening there's a little bit of a lag here so it changes twice but this is now unqualified all right that looks great um now that we have both of these up and running why don't I just add one new lead to this flow and then we can just give this thing a quick little test um I'll just pretend that I'm adding a completely new person uh what I think I'll do is I will add the person that requested this video in the first place uh the person that requested this video was named Jason guest 3447 so I'm going to pretend that first of all I need to add a new lead here we'll go Jason guest me just create this um up here um handsome looking fow I'm just going to pretend his email is Jason guest totally reil.com that looks legit his phone number is uh very auspiciously a 604 phone number that's close to mine and he wants hi I want an agency to help me grow my Consulting Biz okay so we have a new lead basically ready to go all we need to do is change the stage and Jason guest should be coming into our slack what I'm going to do is I'm going to add him to intake I'm going to go over here to my slack um Channel and boom we have a new lead from Nick's cool two-way slack automation from Jason guest let me give this a quick click CU I'm not sure if he's qualified H looking through all of his information I don't know about this Jason guest fell man no I'm just kidding he's totally qualified I give him the quick little approve button I go back to my slack what you'll see just happened is assuming that this automation is working oh sorry I didn't actually run this Let Me Wait for new data I go back here I click the deny button and then what ends up happening is he goes down the unqualified route and then Jason's unqualified because we hate him no I'm just kidding um he's probably pretty qualified so if I go back here I run this puppy again and then I click approve um let's make let's make Jason qualified I think he deserves it at this point yeah awesome I hope that makes sense guys um you know if you aren't immediately seeing the value in an automation like this you probably haven't worked at either a coaching business or one that uses slack to manage most of their internal Communications but essentially enabling two-way interactivity between a block component and then a CRM and then a CRM and then you know your slack channel uh can be incredibly powerful especially for faster moving companies that spend most of their time living inside of a little slack message box so I really do uh hope that that helped you guys if you guys have any requests for similar videos on slack or maybe Discord I haven't really played around Discord too much but I'm happy to learn for the purposes of showing it to y'all uh then feel free to just drop a message down below more than happy to walk you through it if you guys have any recommendations for videos that aren't related to this feel free to drop them down below as well I have a lot of fun doing these sorts of builds otherwise thanks so much for watching please like And subscribe do all that fun YouTube stuff and I'll catch you on the next one cheers