This is a submission for the Runner H "AI Agent Prompting" Challenge
Introduction
I want to approach this differently. I was super interested in what seemed like ChatGPT with a ton of capabilities and access to external apps. So I wanted to share my journey of learning what Runner H is capable of.
So, in this article, I will be putting Runner H through a series of challenges with increasing difficulty to test its capabilities.
Of course, I'm not the best prompt engineer, so take my results with a grain of salt. I encourage you to try Runner H yourself.
Spoiler: Final Result - A weekly, newspaper-style digest of currently active hackathons, curated by an AI agent.
What I Built
The main goal of this article is to test the capabilities AND limitations of RunnerH. But I will have a general direction:
Fetching the latest information of the currently ongoing hackathons/challenges and organizing them
Demo
Quick Video Demo
In this section is where I'll be testing out RunnerH towards that general goal I've set it.
Round 1: Fetching Current Data
First, let's see how well RunnerH can fetch the most current data about ongoing hackathons. Let's limit it to a few platforms, namely Devpost.com and Dev.to (you are here).
Here's the first prompt I tried:
Generate a list of currently ongoing hackathons happening at Dev.to, Devpost.com, and Hashnode
Here was the result:
I searched the platforms and here's what I found about ongoing hackathons:
1. **Dev.to**: There are no direct ongoing hackathon listings found.
2. **Devpost.com**: Several ongoing hackathons are available:
- Google Maps Platform Awards (May 20 - Jul 31, 2025)
- GenAI Hackathon by Impetus & AWS (May 26 - Jul 10, 2025)
- Adobe Express Add-ons Hackathon (May 19 - Jul 15, 2025)
- PearAI Hackathon (Jun 14 - Dec 24, 2025)
3. **Hashnode**: No direct ongoing hackathon listings found.
Summary: Currently, Devpost.com has multiple active hackathons, while Dev.to and Hashnode do not list any ongoing hackathons prominently or have no active ones at this time.
As you can see, it did well fetching hackathons from Devpost, but it didn't find any on Dev.to, which is false because, as of writing this, there are several ongoing.
Let's debug!
Runner H provides live preview of its web surfer agent (Surfer H) going through its tasks (like fetching hackathon information).
As you can see it worked great on Devpost.com. It went into the specific "hackathons" page and started gathering. Why didn't it work on Dev.to?
Here's the preview from Surfer H:
You can get a glimpse of how the agent works here. It absolutely did the right thing by limiting the search on Google with site:dev.to
and putting in keywords like "hackathon" and "ongoing".
But here's the problem: in Dev.to, hackathons are almost exclusively called challenges. So it makes sense it thought no "hackathons" were currently ongoing there. We can't expect an AI agent to know that.
Let's help it out a bit!
Here's the new and improved prompt where I specifically gave the agent the link to where Dev.to lists their challenges (ongoing and ended). I also gave Devpost.com a more specific URL including the filter open
, so hopefully it will eliminate any chance of the AI returning "ended" hackathons.
This will be a great test of two things:
- Can the agent distinguish ended challenges vs ongoing ones in Dev.to? Since they're all in the same page.
- Can the agent take into account filter parameters (see
?status[]=open
)
1. Generate a list of currently ongoing hackathons/challenges happening at the following platforms:
- Devpost: [https://devpost.com/hackathons?status[]=open](https://devpost.com/hackathons?status%5B%5D=open)
- Dev.to: https://dev.to/challenges
Here are the satisfying result:
It went into the challenges page as expected:
Takeaways
I would say that Runner H has passed this round. It failed to fetch the correct information on Dev.to, but it was easily fixed by giving it more context and a more complete prompt.
You can't expect it to do everything! A good prompt is still needed as a starting point!
It also was able to:
- Distinguish between ongoing and ended hackathons/challenges over in Dev.to
- It also respected the filter I had on Devpost.com
Round 2: Using Google Sheets
A step further than just accessing and surfing the web. Let's use one of Runner H's many third party connections: Google Sheets.
First, you're going to want to connect your Runner H account with Google Sheet at https://runner.hcompany.ai/mcps:
The goal of this round is to test how well Runner H integrates with Google Sheet:
- Creating a file
- Creating that file in a specific folder
- Compiling gathered data into a Sheet
Including folder creation as part of the prompt unfortunately didn't work end yielded this result:
And I did try enabling Google Drive. Here were the results:
So I adjusted my prompt to not include it. Here:
Create a Google Sheet named “Ongoing Hackathons” with a list of currently ongoing hackathons/challenges happening at the following platforms:
Devpost: [https://devpost.com/hackathons?status[]=open](https://devpost.com/hackathons?status%5B%5D=open)
Dev.to: https://dev.to/challenges
The Sheet should have the following table headers/columns:
- Name: hackathon/challenge name
- Organizer: organizer name of the hackathon (if any)
- Start date: when the hackathon/challenge will start
- Deadline: when is the deadline for submission
- Platform: either Dev.to or Devpost.com
- Link: link to the hackathon/challenge
- Prizes: the prizes to the hackathon
The results were pretty good:
However it did misplace the headers at the bottom. No worries. Let's adjust the prompt a little bit. I noticed Runner H was able to slice its task into separate processes as you saw here:
Let's explicitly ask it to section off its tasks using keywords like "first", "next", "finnally":
First, find all currently ongoing hackathons/challenges happening at the following platforms:
- Devpost: [https://devpost.com/hackathons?status[]=open](https://devpost.com/hackathons?status%5B%5D=open)
- Dev.to: https://dev.to/challenges
Next, for each, collect the name of the hackathon, the organizer, the relevant skills/programming language/framework/services, the start date, the deadline for submissions, the platform (either Dev.to or Devpost.com), the link to the challenge, and the prizes (if any)
Finally, add all entries into a Google Sheet named “RunnerH” in a Sheet called “Online Hackathons”.
It works now:
Takeaways
It mostly passed this round. It didn't seem to have the capabilities (currently) to actively create folders on your behalf.
It fumbled a little when formatting the table in the Google Sheet. Then I fixed it by segmenting the prompt into separate steps.
Ultimately, it did pretty well. It created the actual file, as told, then ,inside that file, created the actual Sheet with the correct name.
Again, take my own experience with a grain of salt. Test it out yourself and see if you can create folders as part of the steps.
Round 3: File Navigation and Updating Sheet
Let's test if Runner H can find its way around my files and correctly update a Sheet. Let's say I forgot to add a column and wanted to append it at the end:
Here's the prompt:
First, find the Google Sheet File named “RunnerH”.
Next, find the sheet in that file named “Online Hackathons”
Next, add a column at the end named “Notion Link” and fill the rows with “None”
Takeaways
With the correct prompt, it was able to find its way to the desired file and update it accordingly. This one is a pass ✅
Round 4: Creating Notion Pages
Notion pages are complex with many features. Perfect for next steps, both as a challenge for Runner H as well as achieving my goal of organizing ongoing hackathons.
Disclaimer
I actually found out that Runner H can't just create pages out of nowhere. So you just can't ask it something like "Create a page and write hello world". Meaning you need to do the following before doing anything with Notion:
- Create a page
- Give Runner H access to that specific page
- Whenever you want Runner H to use notion, reference that specific page's ID
If you don't give access to each page you want to manipulate, you'll get something like this:
Let's Actually Use Notion
Now that we have a page and access to it, we can test it out:
Let's actually start prompting towards our goal. Here's my goal for this round:
- Creating nested pages: So a page within a page (within one we created manually)
- Updating the Google Sheet with the Notion Link
First, find the Google Sheet File named “RunnerH”.
Next, find the sheet in that file named “Online Hackathons”
Next, find the entry for <CHALLENGE/HACKATHON> and read its content.
Next, search the web for the most current information regarding that challenge/hackathon.
Next, generate 10 project ideas that fit the challenge/hackathon prompt. Each idea should have:
- General description of the project/app/software
- Recommended tech stack
- How it fits into one or more of the winning categories
Next, under the page with ID <NOTION PAGE ID> create a Notion page called “<the hackathon/challenge name> Ideas" and fill it with the generated ideas.
Finally, update the entry in Google Sheet to the new page link under the Notion Link column
It definitely works... but the specific idea pages are not as complex as I was expecting. I tested out this prompt a bunch of times, then I got this:
Seems like we should just stick with automation for now...
But it did manage to update the Google Sheet with each Notion Page:
Takeaways
You do need to give prior access to specific Notion pages before doing anything with it. But it's not a big problem, since once you create one you can make any nested structure with your pages.
I think Runner H should definitely make updating page permissions a bit easier though, since the way I have to do it in time of writing is to disable the Notion connection and re-give it the correct page permissions.
It also updated the Google Sheet correctly.
A problem was how it struggled with creative content creation (i.e. generating project ideas). Maybe I just prompted poorly. It even made me do it outside the session:
So I'd say overall it's a pass with some adjustments.
Round 5: Putting It All Together
Since it seems to struggle a bit with creative tasks, let's keep it within automation. I also wanted to skip the Google Sheet, as it was redundant. I only did that as part of the previous rounds' requirements.
Here's my goal for this round:
- Generate a notion page under in the parent page with the provided ID
- Fill that page with a weekly digest of the current ongoing hackathons -- newspaper style
- If page already has content, append the new page instead of replacing it
Here's the final prompt:
You are my Weekly Hackathon Digest Agent.
Fetch at least 10 ongoing or upcoming hackathons from:
- Devpost: [https://devpost.com/hackathons?status[]=open](https://devpost.com/hackathons?status%5B%5D=open)
- Dev.to: https://dev.to/challenges
If there are fewer than 10, include as many as possible.
For each hackathon, collect:
- Name
- Organizer (if available)
- Prompt or challenge summary
- Relevant skills, programming languages, frameworks, services
- Start date and submission deadline
- Platform (Devpost or Dev.to)
- Direct link
- Prizes (if any)
- Number of days left until the deadline
If the deadline is within the next 7 days, add a label like: DEADLINE APPROACHING
Create a new Notion page under the parent page with ID <NOTION PAGE ID>
Name the page: Weekly Hackathon Digest – Week of YYYY-MM-DD
If a page with the same name already exists, add (1), (2), etc. at the end, like Windows file naming.
Inside the page, create properly structured Notion blocks:
- Add a heading block at the top: Weekly Hackathon Digest
- Add today’s date as a text block
- For each hackathon, create:
- A heading block with the hackathon name
- Paragraph blocks listing the organizer, prompt, relevant skills, start date and deadline, platform, prizes
- Add a rich text block with clickable text like: “Link to challenge” using the direct link as the URL
- If the deadline is within 7 days, add a paragraph block saying: DEADLINE APPROACHING
- Use divider blocks or spacing blocks to separate hackathons clearly
- At the end, add paragraph blocks with:
- Total number of hackathons listed
- Number of hackathons with deadlines in the next 7 days
Here's the resulting Notion page:
Pretty great. It used correct formatting (heading, bold text, links, etc.)
I tried using the prompt again to make sure it can append to the Notion page if there was an existing page (the result of the previous prompt). And it works:
Takeaways
After simplifying the prompts and skipping Google Sheet. I actually achieved my final goal of organizing a list of the currently ongoing hackathons/challenges in a weekly digest-style Notion page.
Conclusion
Again, I'd like to reiterate that the results of my experiment are based on my experience and my skill level in prompting. So don't take it as concrete documentation of what Runner H is capable of. Run your own experiments. You can use this article as more of a guideline.
So with that said, here were the results:
- Round #1: Fetching Current Data -> ✅✅✅✅✅ I started with a very vague prompt to fetch ongoing hackathons happening at Dev.to and Devpost.com. It mistakenly thought there were no hackathons currently open over on Dev.to, even though it was not the case.
I narrowed down the problem to the fact that Dev.to calls hackathons challenges. This was understandable. A good prompt is needed as much as a capable agent is. So I adjusted the prompt to be more specific by including direct links.
The results were great. And Runner H was even capable of distinguishing between ongoing and finished challenges over in Dev.to, even though they are in the same page.
- Round #2: Using Google Sheets -> ✅✅✅☐☐ In this round I messed around with folder creation. This is where I encountered my first assumed limitation.
Again, I encourage you to try it yourself to test if this was an actual limitation. Even if it is, it not too bad. The goal of creating folders in the first place is for organization. But as you'll see on the next round, Runner H is pretty good at file navigation. So in the context of automation, it doesn't impact much.
Creating Google Sheets yielded much better results. There were a couple of mistakes. Most commonly, sometimes table headers are generated in the wrong place, namely at the bottom of the actual rows.
This is rare enough that it didn't really affect my process that much, but if anyone has found a way to consistently generate table headers in Sheet correctly, let me know.
- Round #3: File Navigation and Updating Sheet -> ✅✅✅✅✅ I was super pleased with this round. I had a Google Sheet file, and inside that file I had a specifically named Sheet. I wanted Runner H to find that specific sheet in a specific file... and then update it.
First, find the Google Sheet File named “RunnerH”.
Next, find the sheet in that file named “Online Hackathons”
Next, add a column at the end named “Notion Link” and fill the rows with “None”
Here is an example. The results were great and it updated correctly. So full marks in this round.
- Round #4: Creating Notion Pages -> ✅✅✅✅☐ Here are some notes about Runner H's Notion integration: Runner H cannot arbitrarily create pages. Meaning you can't just ask it to create a page out of nowhere.
This is not a limitation on Runner H rather in how Notion handles integration.
Runner H can only interact with pages you've given it permission to. So if you prompt that writes into Notion, you'd need to create a base page and give Runner H specific action to that page.
Then in the prompt, you can reference it with the page ID.
In interacting with Notion itself, Runner H does a great job. It could create pages within pages within pages (as long as you have permission for the base page).
If I had to nitpick, though, it's the way Runner H handles updating page permissions. I haven't found a good way to grant access to more pages. I had to constantly disable Notion and re-enable the integration/connection and select the new page.
- Round #5: Putting It All Together -> ✅✅✅✅✅
Putting it all together into I final prompt gave me very satisfying results. Here's the workflow: I run the prompt, it APPENDS a new page into my base Notion page, and finally fills it with information about currently ongoing hackathons.
I'm impressed that it appends to existing content so effectively:
How I Used Runner H
Here were the integrations I tested out during my time exploring Runner H:
- Notion: for creating and writing into pages
- Sheets: compiling data into tables
- Surfer H: used a lot in gathering current data
- Google Docs: Works pretty much the same as Notion pages
Use Case & Impact
Like I said many times, use this article as a general glimpse of the capabilities and current limitations of Runner H. And take this whole thing with a grain of salt. Hopefully this article inspires you to try Runner H on your own.
The limitations I described above might be circumvented by better prompt engineering.
Top comments (0)