This video tutorial demonstrates how to automate OpenAI Codex using non-interactive mode for headless execution, the OpenAI REST API and SDKs for programmatic control, and GitHub Actions for CI/CD integration. The instructor covers configuration file locations (global and project-level), model selection, sandbox settings, and shows practical examples including JSON output, conversation resumption, and building intelligent agents with the OpenAI Agents SDK. The Codex SDK provides file system access, code editing, and command execution capabilities, while the official Codex GitHub Action enables seamless integration into automated workflows.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Automating Codex – Non-Interactive Mode, OpenAI API, SDKs & GitHub ActionsAdded:
Okay, so for Codex it has a configuration file that comes in the form of a tunnel. So it's literally config. tunnel and it can be in more than one location. There are easier There is either the global scope location where it sits in your home directory with dot Codex.
Okay, and then there's the option where it's within your project and it's just a config. tunnel. Um and so those are the two locations that it can exist. We will double check triple check the project configuration file as I'm finding that Codex's conventions for naming stuff and placing them is not consistent. Let's take a look at some of the things that we can set. There's a lot of options so we won't go through all of it. But here you can see we can set what model it should be used, um specify the model catalog based on its JSON, you know, set the sandbox mode, whether we can do web search and if it's caching or turned off or if it's live, set its personality, set the reasoning effort, sandbox information.
Um but most of the most of the time we're going to be going in here to meddle with your sandbox information.
But there again, there's a lot of options. Uh but we'll cover what is relevant because there's a lot that isn't, okay?
Hey, it's Andrew and in this video we're going to take a look at adding a configuration file. We've probably done this before. Um but let's just make sure that we absolutely know how to do it. Um and so what I'm going to do is we're going to go into our Hello World which we actually already have a tunnel file.
What's interesting here is that I have it in a dot Codex folder called config but I think when we go back to our um uh docs it was saying that it could sit there in the in the directory directly.
And there's so many places that it can load. So let me just go double check here so that we can uh take a look here. Well, it says dot Codex config tunnel and then one there at that level. Okay, so what we're going to do, even though we already have one, I'm going to make a new new folder and this will just be called um um uh simple math. Simple math, something simple here. And so, I'm going to CD into simple math.
Simple math.
Oh boy, that is a folder. Come on, let me in.
Simple math.
Oh, it's an underscore. That's why.
And now that we're there, I want to go ahead and we'll go make a new folder here called codex.
And then we'll make a new config.toml file.
And what I want to do here is just change which model is being utilized.
So, I can't remember what models are available to us. So, I'm just going to go ahead and type in codex.
And we will see what models that we can use. So, here I right now we're on the GPT-5.4.
I'm going to type in model.
And we have uh four mini. So, I'm going to go up here.
And we'll say GPT 5 4 5.4 mini.
I'm going to match it based on what it says there. All right, save that file, close this out, clear, type in codex.
And all I want to see is does it load that model? And so, there it goes. It loaded it in. That's as simple as it is.
Um you know, that's all I really wanted you know is to make sure that you know how to set it and where to set it. Um but yeah, there you go.
Okay, let's talk about non-interactive mode. So, codex has a non-interactive mode, also known as headless mode. Uh that's what Claude calls it calls there.
So, I'm just trying to um normalize the information across providers here. Um but it allows you to execute requests without entering into interactive terminal. And so, here is a bunch of examples. Let's walk through them. I'll get my pen tool out here so I can point to the ones that we're on.
But the first is just use codex execute, and you just provide it a prompt, and it will execute.
We have the ability to pipe things. So, here we are piping out. We can pipe into, pipe out of with Codex. We can set ephemeral, so it will instantly forget.
It's not going to create a session or continue on. We can set the permission level. So, here we have full auto mode.
We can set the sandbox, which we cover in the sandbox section. We can ask it to output JSON here explicitly and then we can pass it to jq and do something interesting. We can pass our Codex API key, so we are not utilizing our subscription or if we just have different keys and we want to leverage multiple keys at the same time. We can resume a previous conversation.
A very common use case for non-interactive mode would be GitHub actions. So, here you can see we're installing Codex and then running it and then running it here with very specific settings. Technically, with GitHub actions, there is a very specific GitHub action for Codex. So, when we do the GitHub action sections, if I make a video on that, we'll probably use the action instead of that, but if you need full control within any environment, if you're not even using GitHub actions, you're going to be using this mode, okay?
Okay, let's take a look here at the non-interactive mode. So, I don't think it really matters what repo we're in, but I'm going to go ahead and maybe we'll go into our Hello World as that is a very simple application and a great place to check. I'm just going to go ahead and sync whatever I have here, but we'll go ahead and try it. So, we already have Codex installed, so I'm going to try Codex exec and I'll just increase the font here so you can see what is going on and sometimes it helps to do this. I can move this over. I'll just say, "Tell me what is in this repo or this project folder."
Okay, let's see what we get back and if it works.
Okay, and I'm not sure what the issue is, but it's possible that I haven't logged in a while, so whoops. Oops, oops, oops, oops, oops. Actually was working.
We'll see we'll try that one more time.
It was strange because it's showing an error. So tell me what's in this folder error.
Snapshot or validation failed. Snapshot command exited. I don't know why it's complaining.
But it's working.
It's doing something.
So that was a little bit confusing there that initial one. So at a glance, this is the minimal project. So it it definitely works. I don't know why we get that initial error, which is very, very confusing. But let's go up here and I'm going to say JSON.
We'll say JSON. As they say, we can do this as for me. Tell me the project.
Um, provide a JSON JSON structured report back.
And for fun, we will also pipe this over into JQ and do period. And so we will hold on.
And what's interesting is like it's going to stream the information.
And so we're getting back JSON and we're getting it formatted. So here we can see the information back. It seems like it streams everything back, not just um not just the the single command there. That first one's kind of strange. It's kind of some kind of error that doesn't seem to matter. Shell snapshot validation failed. So does that doesn't matter. But here we're getting back all the input and it's showing us every single step.
So this is really interesting. I thought it would just come back with the final result, but literally every single step that it's streaming out is coming back.
That is really, really cool.
As that's going to give us a lot of flexibility in terms of how to work with stuff. Also it tells us exactly how it works. So you can see turn.completed, um, you know, other item completed, stuff like that. And it might not seem obvious here because we don't really cover in the course, but like I have another course called cloud architect foundations. And when you know the internals here you know if you have to build more complex systems it helps you understand how to work with it but we don't cover that here because we are just learning how to use utilize this for our usage not necessarily build complex things. Is there anything else that we might want to test because I mean those are the two most common use cases.
We might want to resume a conversation from prior. So I'm going to go here and just type in codex. I almost said Claude of course.
And we'll type in resume and I just want to see what else there was here.
So here we have can you fetch the weather from Calgary? I don't know if we have to type this exactly.
And so I'm going to just copy this here just that there.
And I'm just going to quit out of this.
We'll say codex exec.
Um.
Last. So we'll say resume.
Last. I think last means.
Resume the last session.
Okay.
Uh we restricted this machine quite thoroughly so that's why it's not going to be able to pull it. As under our hello world at some other point we um.
We were really aggressive with this configuration tunnel and that's why we are not able to do that.
So it still works and so I think last just means continue the last conversation not because over here it looks like okay type in the name and so that's how you know which one to resume but really it's just resuming the last one.
Okay. Could you do other stuff with that? I'm not sure. Um let's take a look at codex exec help.
There's more information.
And.
Because the docs aren't always up to date right? And so it might just be here. So here it says provide a a previous session or ID or pick from the most recent one. So here we can provide the session ID I suppose.
Um.
So if we were just to go here and not put last Try this. Let's take this out of here.
Do we get to choose?
No, it doesn't. And so, that's not clear, right? So, it's saying like we get to choose. Obviously, we don't get to choose. Uh we got some uh colors here.
I'm just seeing if there's anything else we missed. Tell to use it in a very specific directory.
Um I mean, that could be really useful because maybe you're not running it where you actually are. So, you might want to do that. Change the model, yep.
So, there's obviously more options here.
But, of course, the man helps us out.
The examples that showed here was from the docs. So, you can see the docs don't always match.
Uh well, technically, this is documentation just in another way. So, just always make sure to check everything. But, there you go, okay?
So, with OpenAI, we can interact with it on uh different uh layers or levels, if you will. Um and this is important to know because some things will only be uh available at certain levels. And so, the the lowest level is going to be the OpenAI REST API. Um and so, what's interesting here is that OpenAI does not have a generic um library.
Um so, for example, if you're using uh Anthropic Claude, they literally have a library called the Anthropic SDK, which is specifically just a wrapper for uh their API. Um there's probably some uh third-party ones out there, but I mean, it's not hard to work with it directly.
So, here's just an example uh of using uh JavaScript to interact with it. Um but yeah, we'll just make sure that we understand the layers. There's more layers that are abstracted with OpenAI versus Claude, and that was just the choice that OpenAI went with for whatever reason, okay?
Hey, folks. It's Andrew. And in this video, we are going to learn how to um interact with the OpenAI uh REST API. So, I'm going to make a new here. We'll call it open AI rest. Um and we will CD back a directory and we'll go to open AI rest and we'll type in codex.
And we just want to do a simple action.
So I want to demonstrate uh using the open AI rest um uh directly. So can we do that using let's say Ruby? I really like Ruby, so we'll go ahead and do that. Um just create a simple Ruby script.
You know, using HTTParty, I guess. Um and all HTTParty is is just a way to send out a query. Um so every language has one. I don't know what the other ones are called, but it's just basically a way of uh invoking it.
We can also make a curl command as well uh to test it. But we'll go ahead here and take a look at what appears. But as far as I'm aware of, I mean there's probably an unofficial library, but there's no official library per se. So we will um see what we have here. And I'm hoping I'm in the right directory. When I was generating this, I thought I wasn't paying attention.
So where did it Oh, no, I put it in the right directory. So here it is. It's going to bring in that open API key.
And here it's going to do responses.
It's going to use mini and it will take an input. So write one sentence about why direct rest APIs are useful. So that is fine. And so I'm going to need uh an API key here. So what I'm going to do is stop this here.
I know how to run this. It's pretty darn easy. So we will um do a bundle install.
Okay, I'll just make the instructions here.
Okay, we got bundle install.
And then once that's installed, we can run this. It'll just be bundle bundle exec Ruby open AI rest.rb.
So that's what we will need to execute it. So, I just go need to go get a key.
So, I'm going to go find one. We'll just type in OpenAI developers. I'm just doing this off screen so you cannot see what I'm doing just yet. And I'm over here and I'm going to get a new key.
And we'll go ahead and this one is from a day before. So, we'll revoke that key.
And I will create myself a new key. This will be test rest API.
And I'm going to go ahead and create that key. We will copy that key. And now I need to set it. So, this is going to be uh export OpenAI uh API. It'll say OpenAI API key equals and then we'll paste it in. And we'll hit enter.
And so now let's go ahead and see if we can run this and invoke it.
And you know, the main thing here is that there's more models than what Codex is using, right? So, there are image models, there's all sorts of models. And so, if we want to have access to it, we'd basically having to use this API.
Are useful because they engage Oh, so they're just Here is the prompt. So, it came right back here. And so, I can go back over to here.
And we'll just change this to say um say, you know, give me uh study uh give me a bulleted list of studying tips to pass the JLPT N5, okay?
I just took the N4 in December and I failed it. And so, I I need all the tips I can I can use here to pass, okay? So, we're going to go ahead and wait for it to generate out. And so, it comes back.
So, here is a bulleted list. Learn hiragana, build a basic vocabulary, etc., etc. So, it works. Um and that's all I really wanted to show you. Maybe we can convert this into a curl. So, I'll go ahead and just say, "Hey, can you create a curl command uh from my open rest uh code?
Okay, and we'll just wait for it to generate that out.
Should be able to do it. We're still using the intelligent model not We're not I mean mini's fine as well, but we are using the one that's appropriate.
And so here we have So we have equivalent if you want to behave more like Ruby script I don't care about that, but we'll go ahead and grab this here.
I'll make a I'll go in here, so we'll go down here.
Just paste it in.
And so in theory this should just work.
So go ahead and hit enter.
And we're just hanging out here.
And nothing's happening. Oh, there we go. It's back.
Okay, and so there is our response cuz it's not streaming, right? So it's probably happening that entire time. And there you go. We just learned how to work with the rest API.
Hey, this is Andrew. And so in this video in the open rest one, we ended up implementing the rest API directly. I forgot that they actually do have a SDK called open AI. I guess I got confused because there's open AI agents codex, and it's been a while since I directly used it.
And so I did not realize I thought the SDK agents was what I was using before, but there actually is just one that wraps the rest API. And so we should go ahead and use that one. So I'm going to go ahead here and just say um I mean we did open AI rest, but we say mkdir open AI SDK here, and we'll go into here.
Yeah, you can't remember everything here, folks. It's just There's too much going on. And so I'll go ahead and go enter in this, and I'll just say using the official open AI SDK. I would like to demonstrate calling a model like image generation.
Okay.
And now that I think about it, this is the primary way that I was working with with it before, but obviously like if you use agents, it's going to be way easier to build out agent agent interactions like tools and things like that. Whereas with this one, you'll have to do a lot of the work uh passing things along, but we will go ahead and and get this generated out here. Um I made a new folder here.
Over here.
Hopefully I CD to that correct directory. I kind of forget if I did or not.
But we will give it a moment to generate.
Okay, we are back. Let's take a look at what we have generated. And so it's fine what it is here. It's probably using the TypeScript library. Um it did add a node module, so that was really really nice.
And so I want to go into our examples mjs.
What the heck is an mjs file? I don't know what an mjs file is. What is an mjs file? I've never heard of an image mjs file.
It is a JavaScript source designed for ECMA standard. Why did it Why did it do this of all things?
Um OpenAI, sure.
I mean like I guess as long as it works, but like it looks just like JavaScript though.
Um but anyway, here we would be generating out an image.
Uh does it specify what do you use?
GPT-1? And so often the way this works is that you import it via OpenAI. It's going to be client images generate.
Right? But it's very very low level. So what we'll do is we'll back out here and I believe I already have a key. I'm just pulling the same key, folks. Uh I show you in other videos, so I'm not going to show it again. I probably already reset here, but I'm going to just set it again out of habit. And so let's go ahead and do we'll npm install first.
npm run start or npm start and let's see if that works. That's not there. Let's go over here and they call it generate image. So for some reason they got really creative here. So say run generate image and we will whoops, we will generate out that image.
And so hopefully it's going to say where it places it. If we go back over to the code.
Uh I mean it's going to export a base uh base 64 and we have an output file here.
So it's generated image and so it should drop it right in this directory.
So we'll give it a little bit of time here to generate.
It says that it's done. We'll look at this a refresh here. We have an output.
There's our image. Beautiful.
What is the size of this image?
I'm curious.
It is I just don't want to commit a very large file to my repo here. So I'm just curious how large it is properties.
It is 1.62 uh megabytes. Beautiful photo um too large for my taste. So we'll go ahead and we'll delete it, but I like it and so there you go. That is the OpenAI SDK.
All right. Ciao ciao.
Let's take a look here at OpenAI agents SDK which allows you to build agents using Python or TypeScript. Uh and so here's the example of the TypeScript one. So we are defining what an agent is uh and then we are calling it with a name and instructions. We wait for the results. Very straightforward. Um and there's many uh features within the agents SDK. So we got the agent loop guardrails, tool calls, MCP tool cards call sessions, human in the loop mechanisms, tracing, real-time agents.
Um the thing that is confusing is that [clears throat] there's also the Codex SDK, which serves a different purpose.
So, for whatever reason OpenAI just has separated this out, whereas when you use Claude, Claude has their own Claude Agents SDK. And so, it's like a combination of the Codex SDK and the OpenAI Agents SDK. So, I need to make it very clear of these separate layers, and then also the fact that OpenAI does not have a official REST API wrapper, one, okay? So, just distinguishing between that. And then it gets confusing cuz they have another layer, which is the app server, but we'll look at that in just a moment.
Hey folks, it's Andrew, and in this video we are going to go ahead and create a very, very simple agent, so simple agent using the OpenAI um the OpenAI Agents SDK. I'm having this problem where sometimes >> [laughter] >> my bash terminal just becomes unresponsive. So, there's a few tricks to that, opening a new one here. So, we will see the into the simple agent. I don't know what hangs it up, I couldn't tell you why.
Um but we'll go ahead and type in Codex here.
And uh we'll just say using TypeScript can you create me a simple agent using the OpenAI Agents SDK. So, we'll let it go ahead and do that. I believe it's also available in Python, um but OpenAI Agents SDK should be good enough. And so, we will just wait a moment here.
Okay.
So, it shouldn't take too long.
Okay.
All right, it seems to be back. Uh and so, we'll go over into our simple agent, and we got a lot of code here. The only thing that's kind of frustrating is it doesn't generate out a git ignore.
So, go ahead and do that.
And I will just say node modules as node modules end up being quite the headache for us. Um well, I'm going to go ahead and stop that here, and we will go npm install.
Once you learn a few languages, it becomes very, very easy. Um And so, we're going to scroll on down here.
Okay. And we're going to take a look.
So, we have simple TypeScript agent.
We're importing the agents here. Um we're supposed to have the OpenAI key, which is fine. Um And here, it's asking about current time and date.
And here, we can specify the OpenAI model. I kind of wish it defaulted to a specific model.
Okay.
I'm going to go back here. Can you make the agent default to uh GPT mini?
I probably should tell what version of it, otherwise it's going to get it wrong, but uh we'll just let it do that there in a moment. And what I'm going to do is go get go ahead and get my API key. I was using this for another project, so I've shown you how to generate API keys quite a few times here. Um I'm not going to show you again in this video, so go back to the API key generation part, which will show you how to do it.
Um and here, it's talking about five mini. Uh doesn't sound right.
No.
Is Well, well, I guess we'll find out.
Maybe it will work. We'll see.
Mhm.
Okay. And so, now what I'm going to do, I'm going to go export here, OpenAI OpenAI API key equals this. And then, um what we will do here is run it. So, we'll say npm run watch.
Oh, or say npm uh start.
That's usually the standard thing. These are all over here in this. So, if you go here, npm start always npm start. And so, I'm expecting it to output time and date here.
So, it says, "I'm an assistant here. I give concise stuff, tools I can use. So, current time parallel, what would you like to do?" And so, there we go. So, it's responding back, uh which is good.
Let's go take a look at the source code here.
And here you can see we have instructions.
We have our model. We have the tool, a custom tool that we defined, which is really, really cool.
Um and the only thing is that there's no continuous loop here. So, go down below, introduce yourself in two short uh sentences.
And it's supposed to wait.
So, I'm going to go over to here.
Um the agent is um immediately exiting.
And so, we aren't getting uh a feedback loop from the user input.
Okay, so let that fix that.
Let's go back to go look here. So, it says I've updated the readme document to the new behavior.
I don't need that. I need it to actually change the functionality. And now it's accepting um read lines, so I can see here in the code that um it's going to do that and then run a turn. So, pretty clear. So, we'll go back over to here and we will start this.
We will give it a moment here.
Mhm.
It's just doing the initial prompt here.
So, can you tell me the time in Toronto?
Okay, and so it's going to go ahead and try to use that tool.
Not the best code, but it it's clear, right?
The other thing is that we have have get current time function, but uh how would it know where to call, right? So, normally there'd be like a function defined somewhere here.
It's kind of what I'm looking for.
Mhm.
Unless there's already a function called get current time.
Oh, over here. It says now date. Okay, so it doesn't matter where you are, it's always going to do this. So, see how it says your host time is this?
So, I say, you know, give me time in Calgary.
So, it doesn't know where we are. So, this is just going to get on your our running local machine. So, I can't say Toronto, Calgary, that's not going to make any sense.
Um but anyway, it's pretty straightforward.
But you can see you get a a lot of batteries out of the out of the box here.
I could literally make this into a 2-hour video, but I figured we'll just stop it here, and there you go.
Okay, so we now have the Codex SDK, and this allows you to run Codex programmatically using TypeScript. Um I don't know if there's a Python library.
I think there's just a TypeScript library. I don't understand why um you know, we're in the uh age of uh being able to generate anything and then we have the limited SDKs, um but you know, this is what they're doing. But over here we can see the TypeScript SDK, so we are defining Codex. We are setting up the thread, and we're asking it to make a result. So, what can Codex SDK do? It provides file system access, code editing, command execution, test running, repo awareness. And so, Codex SDK helps you build coding harnesses where Codex can be used alongside with the OpenAI SDK because they serve different purposes, right? And I know it's confusing, but we will uh keep working through this, okay?
Hey, this is Andrew. In this video, we're going to take a look at implementing the Codex SDK. So, we'll go into a new folder.
Uh and we'll just see what we get generated it I mean, like of course you can do this yourself, um but the reason I uh do this along with you is that in case something doesn't work we can fix it together. And so I keep typing that I I I figured I made it already, but I didn't. And so we'll CD into that and we'll open up uh this Codex directory. And so we'll just say um using can you give us an example of the Codex SDK um using the official library in this folder. We'll go ahead and let it generate out and wait a moment, okay?
Okay, we are back and it says uh we have a minimal example running. Let's go take a look at the code for Codex. Uh so we'll give this a nice refresh here and there's my SDK folder, examples. Now it's following this MGS pattern. Sure, it's fine. I mean like again, I'm just used to being JS or TS, but that's totally fine. So here we have OpenAI.
Mhm.
That does not look right correct to me.
So I'm going to go over and look up Codex SDK.
Okay.
And we will take a look here. So this is the Codex SDK.
It does not understand what we were asking for. So we'll go down here. It's using the GPT Codex. All right, so yeah like you didn't use the uh Codex SDK. Okay?
That's what we wanted. So we will let it go correct its mistake.
Uh-huh. And we'll come back and see what we get.
Okay, so we will um take a look at the code. Actually, before we do that, I'm just going to set the API key here. So I'm just going to stop it and we will um set it. So we'll say export Codex or not Codex uh OpenAI API key equals this and hit enter. Let's go take a look at what code we have now?
So now we have the open SDK. So you're helping with a JavaScript repository, review of the code base structures, return a short title with three bullet points. So here we have Codex. It starts a thread. It runs the task. Very similar to the open AI agents. Um but you know, again, the documentation says one has less than the other one, but like does it though? Again, I just don't trust the docs from open AI because I've been finding things that are um not matching exactly. So but anyway, that's fine. We will just continue on here and I really think it'll take deeper uh deeper time working with these tools to really really know.
We'll go ahead and we'll run this and see if that works.
Again, we're just doing sanity checks, making sure that this stuff works as expected, right?
Um and so here right off the bat we're getting information back and so it works. So there you go.
We can use GitHub actions along with Codex. And so we saw earlier with the non-interactive um um mode that you could just, you know, put it into any kind of build server and utilize Codex, but they have their own built-in Codex GitHub action. And so you can just see here. I'm just getting my pen tool out here. Um that we can just call it directly provided a prompt file, an output file, set it sandbox. Um so definitely easy way to work with Codex.
Um and GitHub actions. And you know, you could have it to react to stuff and do stuff based on whether you have pull requests or comments or things like that. Um so yeah, there you go.
Hey folks, this is Andrew. In this video, what I want to do is implement a uh use case with um Codex with GitHub.
So I'm going to go over and type in Codex uh GitHub actions as there's going to be some kind of GitHub action that we can utilize and so if we go over to here, this should be the open source one. So making sure that this is indeed the official one. It is over here. And so I just need a simple use case. I'm going to copy this over to here and we will CD back a directory and we'll just say Codex. Um and we'll say I need a simple example to show off uh GitHub actions with Codex uh reference here.
Okay, so please create me a simple workflow and then we will verify that workflow in just a moment, okay?
Okay, so let's take a look at what we have here.
Hold on here. One second.
Sorry, yep. So we'll go up into GitHub action or GitHub folder workflow demo.
Let's see what we have. So we have what Codex should focus on in this repository. Give me a quick tour of this example repo. So it says workflow dispatch inputs focus.
Okay, I'm not exactly sure. I mean folks, I made a GitHub actions course so you know, I know this stuff but like this usually is like I think a manual a manual one, right? So here uh you're generating a short demo report for GitHub actions.
Look through this repository and produce a concise report.
Keep it clear. Export it out as this file. Um Mm.
Okay.
So before we do that, I'm going to go ahead over to my repository here, wherever well, wherever it is. Up over here.
And I'm going to go into my settings.
And in here there should be a section for um secrets.
And we will go to actions.
And we'll set this at the repo level.
And this will be OpenAI API key.
And we will bring in that key. So, I'm looking for where that key is. I still have it.
Uh or maybe I don't anymore.
Which is fine. I can go make a new key.
Making new keys is fun.
So, go here. I'll just delete this old key. Revoke.
We'll create ourselves a new key.
GitHub key. And we will create that key.
And then we will copy it. We will go over to here. We will paste it in. We'll hit add secret.
Okay. So, now we have the secret for this repository, which is the Codex uh example repository.
I don't know if this is really the right approach, but I'm going to do this anyway. So, check out the repository run Codex.
And then generate report.
Workflow dispatch inputs.
I hover over, it will tell me how it works. You can create workflows.
Run workflow button. So, that's what I was expecting this to be. Okay. So, what we'll do is we'll now go ahead.
Add workflow. And we will now push this here.
I usually don't do manual workflows.
And I mean like it'd probably be more practical to have it like react to content and stuff like that, but it's fine. If you took my um Claude Claude course, you'll already have an idea of how that stuff works.
And so, I'm going over to here.
And we'll give it a refresh. And so, it is in here.
We will go to actions.
And I'm looking for where it Oh, here it is. Codex demo.
And so, we can run this workflow.
Oh, cool. You can even change the prompt.
So, you can ask questions about it.
That's kind of cool. And we'll run it and we'll see what results we get back, okay?
All right. So, we're back. And let's take a look here.
And so, here we can see three folders suggested next demo to run.
Um, and so it generated out. So that's what we wanted to do. I wonder if it actually placed it in the repo cuz it might have dropped it right in here.
Um Did it just generate it in place?
I mean, I'm fine with that. I don't really necessarily need it anywhere else, but it is right here. Let me go down here for a second.
It says codex demo summary.
And then Oh, it just prints it out. Okay. So I'm thinking it didn't commit it to the repository.
And it's just putting it out here.
Cool. And so we go back over to our top layer here.
Yeah, and I mean, that's fine. So it did exactly what we needed it to do.
And there you go. Okay.
Related Videos
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 views•2026-05-28
How agent o11y differs from traditional o11y — Phil Hetzel, Braintrust
aiDotEngineer
450 views•2026-05-28
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanation💯✅
LearnwithSahera
1K views•2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 views•2026-05-29
Search Algorithms Explained in 60 Seconds! 🤖💨
samarthtuliofficial
218 views•2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 views•2026-05-30
Introduction to Problem Solving Part - 1 | Lecture 1 | Intermediate DSA
ascensionix
107 views•2026-05-29
🚀 BCS613C Compiler Design | Module 1 to 5 Schema Evaluation 🔥 | VTU 6th Sem 💯 #VTU #bcs613c #exam
Pranavaa-y4y
104 views•2026-06-02











