Use cases
Each of these starts as a script someone already has. Reminix adds who can run it, how, and a record of every run.
Runbooks your support team can run
An engineer has a script that refunds a customer. Support needs it ten times a day, and today they ask in a channel and wait.
How it's set up. Publish the script to Reminix and share it with the Support team only. They get a form; the Stripe key stays in Reminix.
{
"slug": "refund-customer",
"entry": "index.ts",
"hosts": ["api.stripe.com"],
"secrets": {
"STRIPE_KEY": {
"host": "api.stripe.com",
"header": "Authorization",
"value": "Bearer {secret}"
}
},
"inputSchema": {
"type": "object",
"required": ["paymentId"],
"properties": {
"paymentId": {
"type": "string",
"title": "Payment ID"
}
}
}
}Reports on a schedule
Someone runs the same report every Monday morning and pastes it into Slack. When they're away, nobody does.
How it's set up. Add a schedule to the report's script: every Monday at 9:00 in your timezone, with the inputs it needs. Reminix records each run like any other.
curl -X POST \
https://api.reminix.com/v1/scripts/weekly-revenue/schedules \
-H "Authorization: Bearer $REMINIX_TOKEN" \
-H "X-Workspace: acme" \
-H "Content-Type: application/json" \
-d '{
"name": "Monday mornings",
"cron": "0 9 * * 1",
"timezone": "Europe/London",
"inputs": { "channel": "#revenue" }
}'Syncs and batch jobs that take minutes
A data sync takes ten minutes, so it lives on one person's laptop, and nobody else can see whether it ran or why it failed.
How it's set up. Give the script a longer timeout. The run answers at once, shows its log and progress as it goes, and anyone allowed can cancel it.
export default async function run(inputs, ctx) {
for (let i = 0; i < pages.length; i++) {
await syncPage(pages[i]);
ctx.progress(
(i + 1) / pages.length,
`Page ${i + 1} of ${pages.length}`,
);
}
return { pages: pages.length };
}Let AI agents act, with a person in the loop
You want an agent to take real actions, like refunding a customer or rotating a key, but not without someone checking first.
How it's set up. Every published script is a tool your agents can call over MCP. Set it so agents' runs wait for an owner or admin to approve.
# Claude Code: add Reminix, then sign in and choose what it may do
claude mcp add --transport http reminix \
https://mcp.reminix.com/mcpFollow up when something fails
When the nightly sync fails, someone should hear about it, with the error, before customers do.
How it's set up. Add a trigger to an alert script: when the sync's run fails, run the alert with the run's id and error.
{
"name": "Alert on failed sync",
"eventType": "run.failed",
"filter": { "script.slug": "nightly-sync" },
"inputs": {
"runId": "{{event.data.runId}}",
"error": "{{event.data.error}}"
}
}Something else?
If you have a script for it, Reminix can probably run it. Tell us what you need, or read how scripts work.