Live stream🔴 Just Automate It!
Join us for a hands-on demonstration of Contentstack's Automate and how to configure it to set content teams up for success. Take a deep dive with special guest, Sr. Product Manager - Christine Master, into Automate and learn how to use it for copying content from an external source, translation, taxonomy, and analysis.
Transcript
[Music] Hey everybody. How's it going, Tim? All good. We have such a good stream today. It's going to be fun. Yeah, I'm so excited. Welcome everyone to um Content Stack Polls for developers. Today we have a fantastic stream for you. We're going to be talking about all things Automate. Um, and we have a very special guest, senior product manager for Automate and Brand Kit and AI assistant, Christine Masters. Everyone, welcome Christine Masters to the stage. I want an applause sound. We just don't have it. I wish we had an applause sound, but there we go. Welcome. Very good. Very good. So excited to be here and talk to you guys. This is super cool. Oh, this is going to be a whole lot of fun. So, we just you up like a lot. So, we Let's deliver now. Let's Sorry, that was really serious. I didn't mean that, Christine. We're just going to have fun. So, this is like a webinar. We're just gonna have We're going to show you some stuff. And so, maybe one question before we kick it off. Can you explain like for the folks that don't know what automate is because it's very generic term like maybe give us the elevator pitch and then it's all yours. Yeah, let me show I have a couple of slides and I know developers are kind of allergic to slides but um Oh, it's great. Um but so so yeah so we'll we'll try to do this really really quick but I think you know as a product person I think in slideshows so it you know you have to kind of get on my page a little bit as as we're talking about this but I'll go through this very quickly. Um so just to sort of get started I wanted to talk a little bit about practical use cases with automate and AI. Um we started off obviously a couple years ago working on automation and then you know chat GPT came out and we built it into the automation platform and the two things together are obviously really really powerful. Um taking an automation and adding AI as kind of like the brains behind it is just really really cool and we'll show a lot of that today. Um I'm super excited to to share some some of those examples but I wanted to talk for just a second just about some of these use cases like so over here we have sort of the traditional idea of generative UI of generative AI where you're writing a blog post redoing the headline you know that kind of very external facing stuff right but then over here I want to make sure people understand that there's a whole bunch of stuff that you can do with AI and automation that isn't putting AI content on the site. It's much more behind the scenes helping you with efficiency, helping you get stuff done, but without if if you're a maybe a financial company or a certain kind of company where you feel that AI is too risky for you right now, you can still do a whole bunch of stuff behind the scenes, right? QA testing of links, um adding keywords and metadata in a certain way, you know? So like all of those things can be done with this um and but not necessarily putting like a new blog post on your site. Does that make sense? It does. We we did however went from what is automate to talking about AI. How does that connect at all? Yeah, that's that's a very good point. Like both things together. So just as an example of um using automation to autotag something that's like use the AI is the thing that actually does the autotagging the it's part of the automation. So they're they're both kind of the the same thing. But but yeah, but just to explain that even for people who are um you know maybe not interested in doing a lot of AI work, there's still a lot of things that you can do with automation or automation and AI to really help you you know get get more stuff done and get rid of all the boring parts of your job. That is kind of the the goal that we have. That's the result. No more boring parts. I'm good. That's Yeah, I mean that's that's kind of the goal. I know I've talked to some customers where, you know, somebody spends four hours a week putting tags on images, you know, yeah, the tax, let's get rid of all of that stuff and just focus on the the more fun stuff of the job, right? Um, so let's talk for just a minute about the automate platform itself. And I think for developers, they'll very much understand this. It's, you know, it's essentially just the system of APIs and web hooks. You always start with a um you start with a trigger which is just a web hook and then you have kind of like steps that go sequentially after that that are just either you know functions or APIs or something like that. You can have conditionals, you can have um loops of things, you can have like multiple steps, you can have steps that trigger other steps. So you can kind of build these really relatively complex workflows but without a lot of code, right? So um this is something where again like I said a product manager can build some of these things without necessarily getting into a lot of code. For a developer we do have code blocks and you know serverless functions and things like that. So you can still do a lot of stuff that looks like code to a developer but for someone like me who isn't a coder um you know there's still a lot of stuff that you can do in here and and actually get a lot of stuff done without having to get into code. Yeah. And like particularly like internal stuff, right? Like like if you want to work within like the content stack management API, you can do that in here versus like also being able to do like external sources, right? Yes. Yes. Exactly. And you know this was started one of the reasons why we built this is a platform. This isn't just like a simple tool. You can actually have a trigger in a third party that does an API thing in another third party that has an output into another third party. None of it actually using content stack specifically. Um so it's very much a robust um endtoend platform um that you can it's not necessarily just like you know only you can only do stuff in content stack. It is a true like robust system. Um but that being said, you know, it it is something where we do have a lot of features where it's built into the system. Um you can do things like and we'll show that today. You can actually trigger an automation inside of the editorial interface, things like that that make it very very powerful and that makes make it more powerful than just kind of web hooks and APIs alone. So um the the very last thing I wanted to say is we kind of were just talking about this before before the call. What are some things that we want the developers to understand about the product? Um, the first thing is, you know, and I'll let you guys talk about this a little bit, but just kind of the idea of putting all of your code into one place. I know I've heard from other developers that sometimes, you know, you know that there's a script on some Amazon server somewhere, some Lambda function that is adding keywords to something, but you're not sure exactly where it is. Frank set it up two years ago. You don't know. Like I had someone saying that they weren't sure what like AWS region it was in. um and you know like all of those kind of things it makes it difficult to find this. That's a really great thing about this is that it's always in the same place as your website content, right? So everything can be you can still have like web hooks that go off to other places but it starts here so you can always log in with your SSO. You can always see it and have have a starting point of where it is so that you are you have it under control. Yeah. You don't have to play detective. Right. Exactly. Exactly. So when I I use this if I like like you just give this example, right? Our management ASDK or API like I always dread having to code yet another serverless function somewhere that then does something with our management API and does something to another service and then gets some data back and like I'm like okay I'm just going to have to code this write unit test all that blah and now I realized I can actually just do that in an automation and then have it return some data to me. So I am now putting all my code into automations that return data to me. So there's no real complex code in my front end anymore. That's very interesting. Yes. And I' I've heard that from a couple of developers actually that they after they sort of get used to the automate tool for like rapid prototyping. It's like really nice. Someone gives you an API and says, "Oh, like we're going to do a PC for of this vendor or whatever." You plug it in, you see what it does. You plug it in, you put it over there, you and you're like, "Oh, yeah. I can, you know, do this, you know, um without having to set up a lot of, you know, again, serverless functions or whatever to make it." You can just like rapid setup is basically nothing. You just go Yeah. Yeah. Yeah. Yeah. Awesome. So, yeah, I think that that's like kind of the the basic intro. Is there anything that uh I want to see basically? Yeah, let's go. Let's get into some examples. Well, look, we commented on our own stream. I love it. It's like like magic. I can do it again. Okay. Sorry. This is too much. I I'll fine. It's fine. I'm just showing we have the power. What's going on? Let's talk about some fun stuff. Let's do some automations. Let's set some things up. Yeah. Yeah. So, um, one one really interesting thing that I want to talk about. So, first off, what we're seeing here is the the automate, um, kind of entry page, and you can set up a bunch of different projects to kind of organize and, um, you know, group together your different automations. Um, one cool thing about this is that each of these folders has different permissions. So you can actually have, you know, a production folder that only one person has access to because you don't want anybody messing with those keys or whatever. And then you have another one that has all of your your dev projects in it. Um, and then when you're ready to go live, you can kind of clone it into production, set it up, and then again, nobody can go in there and mess with it. So um, I think that's kind of a a neat strategy. Um and um yeah and then essentially in here we have um just a list of all the different automations in these ca in this case the the new thing that we have launched in um a couple months ago is this concept of ondemand automations and this is where essentially this is the editorial interface. I have an automate kind of toolbar over here where I can launch automations while I'm working in the editorial interface. And so it used to be that we would set up like workflows that we'd have like a review workflow and a um governance workflow or whatever and those workflow stages might trigger automations which you can still do. But this is actually nice because a user can see it on the page and then approve it like with their own eyeballs and look at it and then save it if they're if they're good with any of those changes. So I think that that's a really nice paradigm that if you're doing any kind of reviewing and editing within content stack, that's a nice way to be able to look at those things. So you generally have an automation in a sidebar that works on the entry you're dealing with, I imagine. Yes. Exactly. Sorry. I was just going to say like that's a great like user experience, right? Because then you don't have to switch back and forth. You can just have it right there while you're working on your content. Yep. Exactly. Exactly. And the the one really cool thing that we actually have a a feature where it will write to and I actually I'm not sure how to explain this um but it's like writing to the user session or the the draft of the user's page, right? So it will um it will you can you can see it change and then you will say like um then you read it and then you can save it, right? So it's not actually ch making a version of it that's saved. you're actually able to do it like as a draft update on the page and then you can save it. So, which is again another feature that I I really like because people again want to have that kind of review. It's just like they did it but just a lot faster. Yeah, exactly. So, um so I I wanted to kind of explain one really quick thing. Um and I think that and I was I'll just show this. It's a little bit different than your uh than your order, Lo. So, I just want to show this very quickly. Oh, that's all good. We always go rogue. We're good. Yeah. I'm going a little rogue. I'm going a little rogue. Makes it spontaneous and fun. Yeah. Yeah. Or a nightmare, but we'll see. We'll see. No, we're good. We're good. Yeah, this is just something that I've been just really excited about where there especially with um ChatGpt has this, Gemini has it sort of a lot of the newer LLMs have this capability of they call it structured output mode where it will write in compliant a specific compliant JSON schema that you define. Right? So, let me show you really quickly what that's like and then why we kind of like that. So I'm going to turn this off really quick so we can kind of edit it. But now, so you can see here the very first thing in the list is my trigger. So in this case, my trigger is the the sidebar. So this is going to be a user triggered this event, right? I see. And over here we can have this is where I'm kind of defining what kind of event this is. Um, one thing that we when we very first launched this capability of having the user kind of click to start the automation, the very first thing we wanted to do was to be able to gather information from the user at the point of them invoking that trigger. So, this is kind of an option here where I'm I can build almost a little form to ask them questions about stuff. So, in this case, I'm asking for them to write in basically a command to AI. Okay? So I'm saying you know what what kind of custom command do you want to give? I'm going to collect that information from them and I'm going to send it to AI in the next step. Oh, cool. Okay. Okay. And so any any kind of thing that they want to ask the um the the AI to do, they can just type it into this little box at the point of invocation of the automation. Um but just just note here that I can add a number of things as input options here. I can add like if I wanted to say, you know, what's your name, right? Um, then I can add either a string, a boolean, a select field, a text area. I can have like a little description area here. You can have as many of these form fields as you want and that you're basically creating like a little mini form that the user can fill out again at the point of invocation. And then you're able to gather that data and pass it to the next steps of the automation. And can that automation like the next step can it also get the information from the entry that this was invoked on? Yes, absolutely. Any anything that you're doing in terms of so I'm going to delete this um anything that you're doing in terms of uh you know building these automations, you can always like click and see all of the data and it will actually have the data from all of the previous steps that you can pull into any place in the automation. So I'll jump over here. This one is the This is kind of the chat GPT interface and you can see like here's where I'm selecting my model of chatgpt. Um in here I'm I'm filling out you can have your your system assistant and user fields here. Um, now for those of you who have worked with, you know, kind of the LLM APIs, um, there's a, you know, a bunch of stuff you need to know how to do in the set the message and set the system and set whatever here. It's just a really nice form. I don't need to learn any of those APIs. I don't need to do any of that stuff. It's just a form in here that I can do. I can actually do they have this concept of like multi-shot um, like prompting to the LLM where I can say here's what the user is asking. Here's what the assistant is saying. Here's another user asking. Now you go like and that's kind of like um training the LLM how to answer the question. You can do that. Yeah. And you can do that really easily in here by just adding additional prompt text. So I can say like building context. Yeah. Yep. Exactly. Um so this outputs into one big prompt essentially right that you GPT but it's it's form based so you it's very nice. Yes. Yes. So, so again, I don't have to learn all of those things, but I still have all of those um powerful features available. So, this is kind of an example also of, you know, these are some variables that I'm pulling in from other steps in the automation. If I wanted to say like um you know, let's see. I don't know what what I'm going to say, but like uh here is the server and then I wanted to tell the LLM something about you know, what server it's on or whatever. here's a list of all of the different, you know, the payload from my previous steps that I can pull in just one piece. So, here's the title, right? So, if I wanted to tell them here's the title of the previous thing, I can actually add that in there very easily. Um, doing it that way. Um, I will say one thing that sometimes um people, you know, might get uh confused about is like again what step you're on. And you could see in there the the entry sidebar if I'm on this step, right? Then I'm able to see the the two steps above that, right? If that makes sense. Um and so yeah, you're able to kind of pull in any of that information. So now imagine, so again, this is my instructions to the AI. Imagine if I wanted to do something like, you know, pull in data from my product database, right? um or pull in data from Wikipedia or pull in data from my company, you know, whatever database. So, I can I can reach out to any APIs, pull them into my workflow, and then inside of my instructions to chat GPT, I can reference pieces of the payload from those different APIs from the external source. Yeah. Yeah. So, you put an extra step between one and two now to do an external call basically, right? Yep. Exactly. So you can add any steps inside of any other steps. Um we actually support you can see there's an action step or a conditional or a repeat path. So again I can do kind of conditional logic. I can do repeat loops without noting any code. So yeah. So like if in the entry sidebar I set my name, you can do a condition on if my name if that name is Tim or Christine or low, you can then do another action step here to ask an agent to Google me or to basically just get uh you know a product from Big Commerce or something, right? Yes. Exactly. IO. Yeah. Yes. Yes. Yeah. So, I mean, imagine um I know that we're working with one customer who they want to make sure that they're not duplicating content from another database, right? So, we actually are like cloning over the the database into a vector uh vector database and then we're doing a similarity search between what you're currently working on and what's in that vector database. And then we take the the most similar thing from that database and then we compare it to what you're working on just by asking AI, here's the thing I'm working on. Here's the closest thing from over here. Are they the same? And then if they are, it will um it will say yes, they're the same thing or whatever. So, it's really cool that you can like pull in all of these different steps and things from other places and then just like pull them into AI and ask AI to like do some stuff with it. Again, you know, I'm not a programmer. I'm sure that you can do the same thing with without the LLM, but it's like super easy just to like put it in and be like, "Hey, are the are these the same?" You know, you don't have to like parse them or whatever programming people do. I imagine if you have to do a million of these calls, you're not going to use an LLM, but if you have to do one a week, it's fine. Right. Right. Right. Or or even like maybe 20 a day would be fine. But yeah, I wouldn't do But you're right. Like I was joking with somebody the other day that um they said like can we reorder the things in this array? And I was like oh yeah I could just send it to chat GPT and just reorder the array. And then I was like you know there's probably a better way to do that. Yeah. Yeah. Me too. But in general this is like a big time saver. Like a lot of the things that you're showing here, if you were to custom code this, it would take a considerable amount of time, right? All that extras end to end tests, making sure everybody knows about it. If like that's what this makes this cool. So, should we just do one? Can you just Let's see. Well, I don't know what this one is. This is an AI everything. So, I'm pretty excited about that. Yeah. What does this include? So this particular one um basically we'll just so we can go to like this um let me just refresh because I don't need to make sure that we're this page. So this one I have like you know these are some like Bose head headphones. Um so I'll just use a really quick example of that AI anything one where again we kind of saw how this is set up right this is set up where I type in a custom command. that custom command is just basically sent to chat GPT with the article, right? And then again, we use that structured data. It's kind of like I don't like using the word training, but essentially in that in that um setup, I showed it the structured data for how to update this page. Actually, we should show that really quick. Yeah, I don't think you actually really show a little bit there. There. just there's basically a part here where you choose what kind of output you want and structured output is a very spec you can see that JSON is one of them but structured output is like a very specific oh yeah you have to stick to this structure and then you add actually you add like a JSON schema here yes so this is based on the content model and it's explaining to the LLM this is essentially what's in my content model and so the LLM would use the API to use this structure to send it some data that it changed ES and therefore your entry will just be updated with data because you send it to the API in the background. Right. Right. And it knows where to put it. Yeah. Sorry. I just was speaking through it to actually understand. But luckily you're good. Yes. You're fine. Yeah. And so like if I and I think like one of the examples would be like you know like replace um like we'll say the word bose with oops. Awesome because they are an awesome company. They are. So now this is essentially sending this to chat GPT. It is like reading all of my text and you can see that on the fly. No. So, think about like what kind of use cases do you have where you have to do like a find and replace and you're copying and pasting into something else back in or are you do you do you ever have to do something where you're like you've got all these like gross like Microsoft tags in there, you know, like or like um you know what I mean? Can you actually ask it to remove the Oh, okay. Christine, I have one for you. Can you do AI anything again and then ask it to remove the unordered list from the rich text field? Oh, this is going to be a hard one. Let's see. Oh, I want to see this. I love that it also changed the slug like the URL, too. Yeah, exactly. Oh, body copy. That's even harder. So, it's not even saying rich text. We're just going to say this. Yeah, we'll see if it does it or not. But, yeah. So, Lo, you mentioned that that actually might be something that we don't want it to do. Yeah. to work. No, especially if you don't have redirects set in place or anything like that. Exactly. Yeah. The URL, don't touch it. This is No. Did you just see that magic? By the way, the fact that that worked is Oh, it worked. That's so cool. Yeah. And you can ask it to, you know, like pretty much do whatever kind of text changes that you want to do. And it will, again, it's been trained. I don't like saying trained, but it's been shown the the schema for this page and now I can just do anything in terms of those types of things. So amazing. The other thing to clean this up or make it markdown or whatever, right? Yeah. Or like would it create a table like did you get it to create a table? I have no idea. Let's try let's try it. I have not tried this before. So create a table at the top of the body. Copy. Yeah. But what do we put in the table? Shows uh some of the the best features of these headphones. This is going to be interesting because it's going to [Laughter] Oh my gosh. Um um we are responding like this because almost every customer call I'm in they're complaining about rich text because it's just complicated. Let's be honest. It's not easy. It's not that this is a bad product. Ratings. Did you see how good this is? Yeah. And it added ratings and reviews. Yeah. I don't know before. Is this like fake data or did it actually get it from the rest? That's a good question. I'm not sure actually. Um [Music] but we could build it that it goes to the pimp system, fetches that data. We can build that one. Yes. And you know the the other thing I would say too is that um one of the things that I did not I mean obviously we are you know uh we could put into the instructions which I don't I don't believe that I did in this particular case. we can say like make sure to only use factual information that was included in the the um the the entry or something the entry of the page, right? Yes. And I've done that a couple of times where um uh so another one that we can show a little bit too is basically like a copying and pasting in one where that one I actually asked it to extrapolate based on the content that I'm put. So I can put in just a very small amount of content and it will actually like make up stuff and like extrapolate that onto the page. In the other direction, you can say do not make anything up and only use the headline, the subhead, the body copy as it pertains to the page. Right? Um so let's try that one really quickly. Like so I have let's see. So so by the way notice that wasn't saved. So right so none of that was actually saved. Nice. You as the editor get to like look at it with your human eyes and then it exactly if you like it then you can save it. Um while you go to the next one Jesse when you're in the chat and you feel like you have a question you want to challenge Christine to see what this AI can do. Feel free to put it and we might try just if you have it. If not that's fine. This is wild. It's pretty amazing. Yeah this is I didn't expect it. I'm still blown away about the table. Yeah, I'm glad that we So, what did you just do, Christine? What did you just I'm gonna drop this over here. I just took like a random page and you can just copy pasted this all of it. I copied the whole page. Okay. And then basically put that into So, I have this like smart paste thing. I just put that in here, right? So, this is just like a bunch of like blah blah blah blah from the page. Um, and then it wrote the headline. It wrote the Now, in this case, again, it wrote the URL, but we can tell it not to do that. So, you can add instructions. Um, and then it like wrote this little page here. Please go to my blog post. Like, just go to timbings.dev. Grab a blog post and add it. Like, if that works, I'm going to change jobs. What are you going to change your job to? No longer programming. That's for just go to writing on the top. Which one do you want? Let's see. Yeah, just grab anything. just whatever anything with AI. Maybe I have to rewrite this now because it's it's actually much more impactful. Yeah. And then I'll just like use this same page here. So, um Smart Paste whatever this is. Uh oh. So, headline change the URL. The headline the URL. Wow. This is clean HTML as well. And you see it found the category AI when it was published. Yeah. And it the headings. Now imagine though now this particular automation is like literally a three-step automation. It's just sending it to AI and writing it back. But if you wanted to like like we were saying before, pull in Wikipedia, pull in the product thing, pull in multiple sources, doublech checkck the data as you're putting it in. You can have like one AI check the other AI and make sure that it, you know, follows certain guidelines. You can pull in your brand kit. So brand kit is a a new product where you can kind of establish your voice and your guidelines. Pull in brand kit and say does this follow our company, you know, policies for things. Um so all of that can be done at this like cutting and pasting time. Um to get rid of the, you know, like I said, get rid of any kind of um uh tags from an external system or something like that. um all of those types of things, you know, you can clean that up, rewrite this. I mean, any of those things you can you can add as part of that. So, it's it could be very very powerful um in terms of how you want to um how you want to do that. Wow. Yeah. And I really like the way this is built, right? Because AI is great, but the more context you can give it, the better. the more you can work with it as a tool as far as cross referencing itself even sometimes with something else the better the better quality you are going to get in the output and sometimes I think people make the mistake of building out these sort of things and don't allow users to provide enough um context that I I love that point because whether or not they know about it there are a lot of people whoever you are that is watching this right now your organization there are people today who are cutting and pasting things into chat GPT and then pasting it back into whatever into Google Docs into content stack whatever um this is a great way to operationalize AI right so you can actually build an automation that follows your specific rules so again you're not allowed to say like we're you know in the product team at content stack we're not allowed to say innovation. So, uh, you know, I can make sure that like nowhere it says innovation in there that, and I'm kind of joking, by the way. You guys both look really serious. Like, what? To be fair, I'm a little allergic to the word innovation, but that's more because when I work at agency, we always did innovation campaigns and it was the most boring It's borderline like synergy. It's a little bit overused. Can you do an automation that gives us some synergy? Yeah. Exactly. Exactly. Yeah, but I mean but but yeah, so if you have specific rules, you can apply those rules as opposed to um you have no control over what people are bringing in from whatever LLMs they're interacting with. This way you're operationalizing it and you're able to control it so that it's under your rules and your values. Awesome. So awesome. That is one example. So now what we can do is we can show let let me look at your list. Um, let's do translation. Yeah. And also I want to Christine point you to this comment and I was kind of going here myself. I kind of want to also see what can you actually do with these automations that looks at other data outside of the AI stuff because I think there's kind of a lot of awesomeness there too. Yeah. Yeah. And we can we can I mean if you want we can run through that really quickly here. Sure. Um if uh Kustoff is okay with that. And then we also have this one. This is You have an answer to this. Are these examples anywhere that we can access? Yes. Yes. And and I can show an example of that as well. We are going to um we've made all of these recipes. So all of the little examples that I'm showing today. So they're really good starters in terms of like we have a so we have a translation one auto tagging like some of the fancy AI ones. Um this smart paste one. Um, those are all like examples that when we kind of put together the what do you call it like post show or something like that for for this uh thing then we can include those on the um on that that note and the links to all those as recipes. You click on it you get it. Yes. Yes. Exactly. And I can show an example of setting up a recipe too if we want to in a couple minutes as well. Um but yeah let let me show very quickly. Um, now I'll use I'll use brand kit as a quick example of pulling something in from an external source just because that's a pretty easy one. Um, and let's do like we'll just use this one. So this is very sim this is I think the same thing or very similar to the the AI anything um one I was showing before. But let's say right here. So before I go to chat GPT I'm going to pull in code from another platform. So I just add another step there. I go into my action step menu and then here you can see I have a whole bunch of different um platforms that are already set up. Um if I wanted to just find brand kit and you can do a search brand kit and now I have a bunch of actions that are these are basically just endpoints right that are supported. In this case I'm going to get a voice profile. Oops. Not I want to get a single voice profile. There we go. Actually, that's get all. And so what you're selecting here for the folks in the chat, this can also be another CMS. It can be YouTube. It can be anything that we connect to. It can be another um the output of another automation, whatever. Yep. And so most most of the time you'll have to authenticate. So like in this case I'm already authenticated into brandkit but if not I can create a new thing and I can say authorize and then it goes into another page that you can't see and then I you know do my authorization setup and then I'll have like a brand kit number three here or whatever. It's like an all setup basically you can do. That's good. Exactly. Exactly. Maybe one thing before you move on. You can also do any HTTP call here to any API. So even like posive ask about a PIM. You can definitely pull in and connect to any you can just go to blue stone pim or any URL that you have of like an old school system. You can just connect. Yep. Yep. Exactly. Exactly. Um so in here I'm basically again authenticating to my account. Then I'm choosing the um the LLM that I want to use. We'll say compass. Um this could also be dynamic. You can see that in here I'm again have this data from other steps. So it might be something where I'm pulling in like the name is based on something that maybe the user set in the very first step or something like that. So it could be a dynamic thing. Um in this case I'm just going to choose um compass. And then I can select the voice profile. So here's the different profiles I have. And then I can select that. Then I can proceed. I can test. And you can see that it's pulling this up as a test. This is the um basically a description of keyword tags that I want to support. Um but now when I go into chat GPT, I can actually pull in information from that brand kit. So I can say um please only use these keywords and then I go and find the here's the single profile. Then it'll say like description. Then this description is the the variable assigned to the that part of the the payload for um what the description is which has all my keywords in it. And then I just added in another. So that's an example of pulling data from an external source and then adding that data into your your basically your prompting for chat GPT. I kind of love how you showed external data and all that stuff again with all AI things, but I know I know we can uh I don't know if there's a like a let's see is there one if you want I can share my screen and show a quick one where it's all code and HTML and craziness if you want. Yeah. Yeah. have obviously like let's see if I can do that me a sec because then cost of we can go deep like we don't have to go too deep but we can definitely like for example this one so oh yeah and like I think um Christine you can talk about the ETL stuff for that also so this one for example this is a very interesting one so I have an external tool that sends a web hook to content stack and so I I asked them to create me something that takes some time and then when they are finished it sends me a web hook and so I actually subscribe to that web hook and well I basically I give them this URL and they call me with this URL. So when that comes in I actually do an HTTP if I turn this off I can actually show you that. Yeah, like I have like a management token here and I you see I query their API using my hen API key that is stored inside content stack and I have a bunch of parameters like I want 50 videos and so well let's see if it shows you the latest. Yeah. So you see it finds all my latest videos here and so this is just an API call. I have no code but then I do want code. So in my next step when I get that information in you see I get videos from that result and there's an ID that I actually wanted that was also then sent by that their initial web hook by this one. And so with that data I actually have like this is my little serless function that now just runs. And so this information I do stuff with it. I even console log it. And so I kind of just filter their latest 50 videos with the video I want because their API is so crappy that I just have to query the latest 50 again and I cannot just I like I could literally not say oh their success thing just told me what that video is because their web hook sends faster than they actually finished rendering. So I like so that's what if that happens if that's a shitty system I put it in here and I fix it. And then after that with the information they actually got I query them again to get a specific status to see hey how is that rendering going and then I get all their data and I map it to a data structure that I like for content stack and that then goes it finds a video I already created in content stack based on that information and then it uploads some video like the poster file it uploads the video file it a bunch of things like Then it adds it to another system which is cloudinary which is again code to cloud. You see how much you can do. Yeah. And then I upload keep all your assets there. You have a remote access. What? What am I saying? Remote assets. I couldn't say it for a second. I kept saying access. This is a really interesting way of literally I am coding actually. I'm going data in data out. And I like I'm going to show you one that's insane that we're not I'm not going to take the time because this is not me presenting but just give you one that is just ridiculous. So I have get all entries that I have in all the taxonomies where I have all these repeat parts with suba automations that then save stuff in data stores and log actions and append data in a data store memory that I have in an automation and then in subautomations I can get that data back and then do something with this and output whatever came out of that data store. And so this goes even deeper Kov where you can literally have a memory between all these actions add stuff to it and then in the end grab it and that memory is shared between my sub automations that this is insane. Okay, I'm done. I will say if if I can say very quickly, I love the the difference between like my automations are like, you know, one simple thing and then AI and then and then and yours is like HTTP code block HTTP code block HTTP code. This is my serverless function that I would have coded myself. Yeah, that's the thing, right? Imagine if you had to maintain all that custom code that you did you just did and automate him. Yeah. And now it's just here like the imagine I don't have any environment variables. I don't have any secrets. I don't have any all flows. I have nothing. And so what I can do is Yeah, it's just crazy. Sorry Christine, feel free. Please share your screen again and then we go to the nice stuff now because mine was like we're we're burning through time. We only have like 15 minutes left. It's always like that, isn't it? And thank you everyone for chiming in and asking questions. Please feel free to ask more. This is fantastic. Yeah, in and in regards to the ETL process, I mean this is a great um a a great kind of example of you know you can bring stuff in. We have some like builtin um capabilities of doing transformations. Um, so you can have like you you know like there there's specifically a tool that does transformations where you can pull things out of an array, find things with an array, split, add, join, whatever, those types of things. Norm normaliz one, so I just coded it, but I could use that to be fair. Exactly. So we we do have kind of both ways. We have both we have both the the the the developer way as well as you know um the the non-developer way. But yeah, I was going to say the other way, but yeah. But yeah, I I also wanted to say too, one really cool thing just to mention very quickly is we also have something called a um it's called templating. So we have like if you're able to build out um it basically uses handlebars if you're familiar with you know handlebars where you can do a very simple templating language. So you can kind of like get data out and then loop through it and then kind of create like really great for creating like an email and you send it the email to somebody or um you kind of have like a little modal popup or something like that and you're going to do a little design and like loop through things and then put a variable in there. So like those types of things are we have all of the tools to do that as well. Um so those are just some nice um nice capabilities to do that. So I guess I'll really quickly show um just an example of translation. So the thing about translation just very quickly because the the the thing I want to talk about with translation we have been asked by so many customers can we like help them with translation the LLMs are essentially good enough now that enterprises are starting to take notice right um pretty much this entire time it's been you know you really have to set if you wanted to do any kind of machine translation there would be a lot of rules that you have to set I've worked with some customers where they had, you know, 14,000 rules um about instead of this, do this. Instead of this, do this. Instead of this, do this. When it comes down to it for an LLM, you just say don't translate our product names. Yeah. You don't have to have 14 a list of 14,000 of them. It knows them. It knows what the entities are. It knows people versus products versus it knows all of those things. So a lot of times when again when we're working with these companies they had like really complicated um translation rules and they can very much be simplified with just the the power of AI basically. Um so just very quickly so one example that we can do is and again you can use brand kit for this you can use something else for this as well but like I did a um let me do this one let's see well we'll just pretend like this one you can just basically come in here and say like um just set your rules for what you want to do in terms of translation. This is about keywords for now, but you know, you can say like do not translate these words, do not translate people's names, do not but do translate recipe ingredients or whatever, right? Okay. So, you can kind of just be specific about your names. And then again, um those are just pulled into the prompting and then we're sending that to AI. Now, one thing that was really difficult about translations is that you want to make sure that you're getting essentially all of the data on the page, but not some data. Like you you might not want to to translate your taxonomy terms or your URL like we saw. So, so you can actually kind of um leave those out or disqualify those from the automation. Um, and essentially, you know, so this is kind of an example where again this is triggering from the user. I'm bringing in my brand voice, which in this case is basically my translation rules. Um, in this case, I'm getting the content model of um, whatever the page is that I'm trying to transform. And then what we did is we actually built a special connector that handles the basically it takes the the JSON of the entry which a lot of times is really really big like people have like 42 nested blocks and there's like you know so many things in there and like all this stuff and that page ends up being bigger than the context window on a lot of LLMs. Oh yeah. So we were actually getting a lot of like pages that were too big. So what we do is we take the JSON object, we pull out all the strings. We chunk those into chunks of content. We send the small chunks through to the AI and ask it to translate each piece. Then we put it back together and then we rehydrate the the JSON entry. Yes. Because the context window for Brand Kit itself is like a thousand characters only or something, right? So it it it has like basically it adds up to 4,000 which is the or like GPT4 is the base context window for GPT4. Most of the LLMs are much bigger now. You know uh Gemini is like 2 million. So as they get bigger we're going to be able to kind of release some of those restrictions but taking past whole code bases basically. Yes. Exactly. Exactly. But the the problem is is that when you do send too much data to the LLM, it fails very not gracefully. It just I've noticed I've noticed I think it confuses it. Yeah. So we had to build in Yes. So we had to build in kind of our own protection because it was a really bad user uh you know interface. So that being said, um so this is something that again, you know, we've got customers that pay multiple millions of dollars per year in translation costs and you know, if um and and I will say this also, I personally, and I am the most pro- AAI person, um I would not translate my front page with AI, right? like it's really good and it's really good at human translation and or it's better than human translation in a lot of cases, but I would still want a human if it was my front page, if it was my main new product page, I would really want to, you know, if in in the 3% of time where it makes a mistake, I don't want that mistake on my front page. Right. Right. So, um, so I I still think that you can look at your low value pages, look at your archives, look at whatever, and and if you're spending, you know, again, $500,000 transforming your archives and doing translations for Germany and these other places, maybe this is something for those like lower traffic pages where you can um save a lot of money in terms of doing that. But I would still look at, you know, some kind of a human translation or um, you know, a vendor for that for the front page. Um, and then, you know, obviously you can see how it goes. And if if you if you do a thousand translations and you never see a mistake, then maybe you're fine. But, um, but yeah, I would still be careful. Yeah. And that makes sense in terms of right like this can help you like you said with those lower value pages so that you can concentrate on not just translation of your higher value real estate right and you can also spend time on localizing it right because it's not just translation sometimes you need to also translate or localize for cultural things right exactly exactly what I like about this is that we're not actually building a product to translate we're just giving you a platform So you can actually build the translation yourself. Exactly. It just worked. This is pretty cool. So what do you you speak French, right? So is this like what do you think of the French? Uh yeah, it's okay. But you know what I mean? It's cool, but this is the problem. French like as an example, many languages have this. They have like four or five layers from street language to politics to doctor language to This is like localization versus translation. Yeah. Yeah. And so how do you judge what your tone has to be? Well, you can probably tell the AI what the tone needs to be, right? Yeah. I was just going to say like um I I can't remember what we were but if we said um you know you can again create a brand voice and then in here whatever the tone is that you want either you want it to be more informal you want it to be whatever in addition to specific rules again like um if you say you know my name or my the name of my blog or whatever don't translate that but we can add all of those rules into the brand kit and that becomes part of the and I've I've done this for my own stuff where I make video scripts for my own videos and I use brand kit for that with an automation obviously. And so I have told in my prom specifically grab like I gave it like three hours of me speaking but written out as the base um as the knowledge fault basically and then I have also written out Tim uses stop words like awesome and like and because I'm a 90s kid right so those kind of things well born in the 80s speak like the 90s and so I've actually written out exactly how I speak to brandkit And I also tell it just give me two paragraphs nothing more because I don't really want to speak longer in these videos. It is spot on me. Like it's it's like really cool. And I also think like this highlights like a you know there's there is sort of a due diligence and governance piece of AI right like even if you use automate to do some translations you should always go back and look at it. And so that's sort of that thing. You can use this as a framework or you know a draft but then you still look over it like remember this is a tool but it's also human controlled. You got to put some human power in there, too. And and that's what we were just talking about is that there's again probably people who are doing copying and pasting into Tat GBT, writing, please translate this into French and then copying and pasting it back into the localization and then they're missing all of that nuanced layer that we can add in there as part of that governance of how you want your language to be in these other in these other areas, right? So like that's something that that you can add a little bit of control over. Whereas, you know, if you're just asking someone to just paste in some French stuff, um it may or may not be in your tone of voice or your brand voice um when you when you add that in. Yeah, this is good fun. We have six minutes. What can we show in six minutes? Yeah. Do we have questions? Well, we we had a bunch, but we answered a lot of them. I don't know if we want Did we touch on the ETL process? I don't think so. But let's put this one on again. Yeah. Yeah. So, so that's definitely something that um again in terms of bringing in the data you can imagine and I can we can kind of show just very quickly. Um I'll show the the let's see. So again, I'll just take this one as an example. Um and we actually have a uh transform tool. And here's a whole bunch of different kind of transformation properties that you can run. So again, you can imagine um getting, you know, getting data from your your PIM and then you're going to get rid of this data and then add this data and normalize it into, you know, and you can add in all of these things. Um or it can be a code block like we saw with with Tim's example. Um but yeah, there's a lot of these things where you can, you know, very easily just add in some of these things. Here's the template tool that I was mentioning before where this is where you can build out those kind of handlebars um you know code block things where you can kind of again loop through those very easily and add things in there. So um but yeah but that that's a that's a great example of like bringing in things together. I'll show one more thing. Um the so I think what Kustoff kind of means here is also how does the caching work on RCDN for the data that comes in. Can we tell them to refresh something specifically? Yeah, I mean if there's a an action like an end point, right? So for example, launch launch has end points where we can actually like we'll show because we might actually be able to just send a header to just like invalidate this cache thing or something, right? And get it to go over call again. Yeah. Yeah. If we do I don't know if I have a because I know we have like read, right? Oh, yeah. So this has a specific action even but I think where KF is coming from where this is the world I live in API orchestration right I'm going to grab five things and make one output just for my website what happens if one of those five updates and my API call still looks the same right so do we have controls on let's say if something updates there are we going to just have a TTL for example of 60 seconds how can we control that somehow and the thing is this product is not yet a full API orchestrator, right? So the moment we go there, we might want to even on whatever returns on each field there field there figure out a TTL or we can do a TTL on the implementation side of the action. So because of we're kind of still looking at that because we have all the DNA to literally build like the best API or try to put it together. Yeah, the catch is always the story, right? We know this and all of this we can just maybe we even cach it on the CDN edge or we put it in fastly and how do we kind of like purge cache on certain systems. This is Oh, so you're going to show some some cool stuff now that is not actually released but I like it. This is we're getting an exclusive unplanned but yeah and this is this is still in our dev uh kind of experimental things but yeah so we do have yeah so this is on dev this is on dev currently this is on dev currently we have to we have to kind of figure out um is this the is this do we have everything that this is going to do what we need it to do but pretty much for what you're describing where you're bringing in a bunch of data from different places. So you can do the same action steps and all that stuff like we were showing before and then as part of that you know add everything to your to your body set your TTLs here and then your response is the uniformed um you know tied together response of all of those things together in the way that you want and then it responds with that on your Yeah. So all the stuff I custom build is basically just nicely handled within the product when this comes out. Yeah, which is I I literally cannot wait for that. And if you guys if anyone's super interested in this, please please let us know. We'd be interested in kind of like a proof of concept beta test to make sure that this does sort of what you're what you're needing to do. But it's something that again we're we're kind of beta testing this right now. Yeah. And this is potentially a huge product update if we can also do that part. I will say also just as a I wasn't going to talk about this but this is something also that um is one coming someday which is you know agents and agentic workflows in um in AI that's just automations. It's just automations but the AI gets to choose the ordering of it. Um so when when we add in aentic workflows with automations it's really really cool. So, we won't get to that right now, but coming soon. I'm so sad to say we are out of time. Oh, yes. Exactly. Yes. Um, but this was fantastic. Um, please everyone, if you joined in today or if you're looking at a recording, feel free to join the community. You can talk about and ask us any questions. We will always respond. Um, if you want to take a look at the recipes or get further information, it'll all be in the community. Awesome. Thank you so much, Christine. It was so much fun. Yes. I wish we' had more time. Have you ever seen where you had two developers almost fall off their chairs when you just add a table in a rich text? Like I say, I'm so glad that worked because I had no idea. Yes, it was amazing. Pure magic. Awesome. Thank you guys so much. I appreciate your time. Cheers everyone. Bye. All right. Bye. Take care everyone.
Related videos

Small group demo: Intro to Agent OS
Whether you’re new to the concept of AI agents or already exploring ways to scale your content operations, this session will walk through the fundamentals of Agent OS, and how you can get your teams ready ahead of GA.

Small group workshop: Visual Builder setup for any stack
Learn how to activate Visual Builder, no matter your stack

Reimagine possible with Contentstack Edge with Tim Benniks & Victor Monsch
See how Contentstack Edge allows you to reimagine the possibilities of digital experience by seamlessly integrating intelligent content management with real-time first-party data activation. Experience how brands can…