Grokbot routines: Updating my website with an iOS shortcut
October 17, 2026
What I built
I've been experimenting with Grokbot for the past few weeks. One problem I wanted to solve was how to make saving and organizing links easier. That led me to build a public /links page on my website.
Previously, I'd Slack myself links. This worked, but it didn't seem durable or easily accessible. I liked the idea of building a collection of links that could serve as useful context for agents in the future.
To make adding to it manageable, I wanted to remove all friction. I wanted to save links without having to open Grokbot or think about how to organize them.
Using iOS Shortcuts and Grokbot routines, I built a one-tap flow that sends links from my phone to Grokbot via a webhook. From there, the bot categorizes each link and updates the list on my site. A single tap and the rest happens automatically.
How it works
- Create a specialized bot: I created a purpose built "Link Saver" bot that is very efficent at saving and pushing links it has a single purpose.
- Create a routine: My "Chief of Staff" bot exposes a routine and collaborates with "Link Saver", the routine lives here, for this part I needed to ask to setup the routine and grab the webhook url, authorization token.
- Build the shortcut: Using the Shortcuts app, I created a new shortcut visible on sharesheet, using "Recieve Contents of URL" as the action I added the webhook url, authorization and JSON body is
{url: Shortcut Input}. This required a bit of trial and error. - Share to it: From any app I can hit "Share" and select the "Save link" shortcut. Grokbot recieves the url categorizes it and commits the update to my website.
Key Takeaways
Routines are very powerful especially how they can be exposed via webhooks and accessible anywhere, more to dig in here.
- Removed Friction makes keeping things up to date much easier.
- Powerful to think about triggering bots from external sources with sharp defined inputs.
- Routines especially with webhooks offer a lot of flexibility and control.
- Room for optimization, depending on usage I might look at creating some smaller more efficent models in the mix.