Publish the script you already have
Python, shell or Node, as it is. One command publishes the folder, and the parts in braces become the inputs people fill in.
The five-minute quickstart Or have your coding agent publish it
For Python, shell and Node scripts
Upload a Python, shell or Node script, and Reminix runs it. Start it from a form, the API or the CLI. Let it run on a schedule or from a webhook, or hand it to your AI agents.
Upload a script, and Reminix runs it when you ask, on a schedule or from a webhook.
Start free Read the quickstart
Free for 500 runs a month. No card needed.
npm install -g @reminix/cli
Refund a customer v2
Refunds an order through Stripe, up to $500. Larger refunds need a manager.
refund-customer
Nightly sync v3
Copies the day's orders from the shop to the warehouse.
nightly-sync
Alert on failure v1
Posts a failed run's error to Slack, with a link to the run.
alert-on-failure
Monthly report v1
Last month's revenue as a CSV file.
monthly-report
Unlock an account v1
Lets a customer sign in again after too many attempts.
unlock-account
Awaiting approval Agent · token Claude
Recent runs
| 9:41 AM Refund a customer | Awaiting approval Agent · token Claude |
| 9:12 AM Alert on failure | Succeeded Webhook |
| 8:00 AM Nightly sync | Succeeded Schedule |
Python, shell or Node, as it is. One command publishes the folder, and the parts in braces become the inputs people fill in.
The five-minute quickstart Or have your coding agent publish it
$ ls refund.py requirements.txt $ python refund.py A-10423 # works, but only here, and only for you $ reminix login $ reminix publish \ --command "python refund.py {orderId} [--amount {amount}] [--reason {reason}]" Published refund-customer version 1.
Each way checks the same inputs and shows up in the same list of runs. Share a script with your whole workspace or only with certain teams. Other members don't see it at all, not even through the API.
Run
Order A-10423
await reminix.run("refund-customer", { orderId: order.number, amount: 40, reason: "Charged twice", });
$ reminix run refund-customer \ --input \ '{"orderId":"A-10423","amount":40}' { "order": "A-10423", "amount": "$40.00", "refund": "re_3Q8xM02eZvKY" }
Support gets a form. Your billing app calls the API. Each one checks the same inputs and shows up in the same list of runs.
Share a script with your whole workspace or only with certain teams. Other members don't see it at all, not even through the API.
Run
Order A-10423
await reminix.run("refund-customer", { orderId: order.number, amount: 40, reason: "Charged twice", });
$ reminix run refund-customer \ --input \ '{"orderId":"A-10423","amount":40}' { "order": "A-10423", "amount": "$40.00", "refund": "re_3Q8xM02eZvKY" }
Put it on a timetable, call it from a webhook, or have it run when something happens, such as another script's run failing.
Schedules
A schedule runs this script at set times, with the inputs you choose.
Every night
Every day at 2:00 (Europe/London) · next run tomorrow at 2:00 AM
Enabled
Triggers
A trigger runs this script when something happens, such as a failed run or a webhook call.
Nightly sync failed
On run.failed script.slug = nightly-sync
Enabled
Support, operations and finance ask the agent they already use, in their own words. Every script you publish is an MCP tool their agent can call by name.
Refund $40 on order A-10423. The customer paid twice.
Used Reminix
refund_customer
The $40.00 refund for A-10423 is waiting for approval. It goes out as soon as someone approves it.
Waiting for approval: refund-customer, order A-10423, $40.00
Refund a customer v2 Succeeded
Output
{
"order": "A-10423",
"amount": "$40.00",
"refund": "re_3Q8xM02eZvKY"
} Log
→ GET api.stripe.com/v1/payment_intents/search 200 (231 ms) → POST api.stripe.com/v1/refunds 200 (412 ms)
How Reminix handles security Set up approvals Versions and rolling back
Each one does part of the job. None of them runs the script you already have for anyone you allow, with its keys kept out of the code. Reminix does.
Other tools change it here Rewrite it as blocks or around main(), or wrap it in a handler
The keys stay out of the code Elsewhere the code reads them, from files or environment variables
Others limit who runs it Only you, or people with write access to the repository
Each of these has a guide in the docs.
refund-customer An agent asks to refund an order, a person approves it, and the run is on record. Guide unlock-account Support unlocks a customer's account from a form. Guide monthly-report Finance gets last month's revenue as a CSV file on the 1st. Guide nightly-sync A script copies the day's orders from the shop to the warehouse every night. Guide alert-on-failure When nightly-sync fails, Slack gets the error. Guide Paste this prompt into Claude Code or Codex. It reads Reminix's agent skill and lists the scripts in your project that people run by hand. Pick one, and it prepares it, tests a draft, and publishes only when you say so.
Read https://reminix.com/docs/skill/SKILL.md and follow it. List the scripts in this project that people run by hand, one line each, and wait for me to pick one to publish to Reminix.
Free has room for 1 publisher and 5 people who only run scripts. You get 500 runs a month, and you don't need a card. Pro is $29 a month for the whole workspace. Have a question first? Talk to us.