AIGears
Alpha releaseAn agent can agree to renew a certificate next Tuesday, or to wait while a manager approves a refund. When its session ends, that commitment is lost. AIGears keeps it and acts on it at the right time, so your team doesn't have to build and run that plumbing.
Free tier, no credit card. Works over MCP and REST.
It starts as a cron job and a database table. Then a webhook fails overnight and you add retries. A reminder goes out twice and you add idempotency keys. Someone in finance asks who approved a refund and you add an audit log. None of it is difficult, but it is now a service your team owns and gets paged for, and that time comes out of the agent itself.
schedule_create
with a timestamp or a cron expression.
deadline_remember
with the reminder steps you want.
approval_request
and we email the approver a single-use link.
watch_create
with a URL and a match rule.
What stays on your side is small: make the call, then check the signature on the webhook when it arrives.
Each one is an MCP tool and a REST endpoint. They share the same webhook delivery, idempotency keys and audit log, so after you integrate one, the other three work the same way.
Run work later without running a scheduler.
The agent registers a webhook with a time, or with a cron expression and a timezone. We call it when it's due, whether or not the agent that created it is still running. Use it for follow-ups, weekly reports, renewals, or anything an agent says it will do later.
Next five runs
0 9 * * MON, Europe/Paris
Always 09:00 in Paris. Below the line is the time in UTC: it moves from 07:00 to 08:00 when the clocks go back on 25 October (dashed line).
curl -X POST https://aigears.net/v1/schedules/ \
-H "Authorization: Bearer $AIGEARS_API_KEY" \
-d '{
"recurrence": "0 9 * * MON",
"recurrence_tz": "Europe/Paris",
"webhook_url": "https://api.yourapp.com/hooks/weekly-report",
"payload": { "job": "compile_weekly_report" }
}'
Keep track of dates that outlive the conversation.
When an agent learns about a contract renewal or a filing date, it records it here. Any later session, or another agent on the same team, can ask what's due and get an answer. Reminders go out on the schedule you set: to the agent by webhook, to a person by email, or to both.
Renew ACME contract Due
deadline_remember({
"summary": "Renew ACME contract before auto-expiry",
"due_at": "2027-03-14T00:00:00Z",
"tags": ["contracts"],
"notify_emails": ["[email protected]"],
"webhook_url": "https://api.yourapp.com/hooks/deadlines",
"escalation_policy": { "steps": [
{ "offset": "-P30D", "channels": ["email"] },
{ "offset": "-P7D", "channels": ["email", "webhook"] },
{ "offset": "P1D", "channels": ["webhook"], "repeat": "daily" }
]}
})
Put a person in front of risky actions.
Refunds, deletions and customer emails are where an autonomous agent's mistakes get expensive. The agent describes what it wants to do and waits. The approver gets a single-use link by email, reads the full request on a hosted page, and approves or rejects it. The agent gets the answer by webhook or by polling.
Refund customer #4821: $1,250.00
Order ord_55310 was charged twice on 3 June.
approval_request({
"approver_email": "[email protected]",
"action_summary": "Refund customer #4821: $1,250.00",
"action_details": "Order ord_55310 was charged twice on 3 June.",
"timeout": "PT24H",
"callback_url": "https://api.yourapp.com/hooks/approvals"
})
// returns { "id": "01JXK2F7…", "status": "pending" }
Find out when a page, feed or API changes.
Agents can fetch a URL once, but they can't keep checking it. Register a web page, RSS feed or JSON endpoint, narrow it to the part you care about, and we poll it for you. When it changes, your webhook receives the event with an excerpt of the new content.
Polls of status.vendor.com Every 15 minutes
$.status.indicator "none" "degraded"
watch_create({
"source_type": "json_endpoint",
"url": "https://status.vendor.com/api/v2/status.json",
"jsonpath": "$.status.indicator",
"match_rule": { "kind": "any" },
"webhook_url": "https://api.yourapp.com/hooks/vendor-status",
"poll_interval": "PT15M"
})
Agents that speak MCP connect to our hosted server and see every tool with a typed schema. Everything else, from LangChain to a shell script, uses the same operations over REST. Both reach the same data, so a deadline recorded over MCP shows up in the next REST query.
Add the server URL to your MCP client and authorize it with OAuth. Every tool has a strict JSON schema, which keeps malformed calls to a minimum.
schedule_create · schedule_cancel · schedule_list · schedule_get · deadline_remember · deadline_query · deadline_complete · deadline_snooze · approval_request · approval_status · approval_cancel · watch_create · watch_pause · watch_history …
MCP setup guide →A versioned /v1/ API with API-key auth and a published OpenAPI spec. Call it from any language, or generate a client from the spec.
Browse the OpenAPI spec →POST /hooks/agent HTTP/1.1
X-AIGears-Signature: t=1781686800,v1=5257a86...
Content-Type: application/json
{
"event_type": "schedule.fired",
"event_id": "01JXK9B2…",
"team_id": 42,
"occurred_at": "2026-06-17T09:00:00Z",
"data": { "schedule_id": "01JXK3M8…", "payload": { … } }
}
When something goes wrong, the first question is what the agent actually did. The dashboard answers it. It shows an activity feed, upcoming callbacks and deadlines, pending approvals, active watches, API keys, and an audit log you can filter and export.
| Time | Event | Detail | Result |
|---|---|---|---|
| 09:00:01 | schedule.fired | 01JXK3M8… → /hooks/agent | 200 |
| 08:42:17 | approval.approved | 01JXK2F7… by [email protected] | approved |
| 08:30:55 | watch.changed | status.vendor.com: indicator is now "degraded" | fired |
| 07:15:09 | deadline.escalation_fired | ACME contract, 7 days out | email sent |
We don't bill per API call. Plans are sized by the state we hold and the sources we poll on your behalf. The free tier includes 3 active scheduled callbacks (a recurring one can fire every 15 minutes), 5 active deadlines, 1 active watch and 10 approvals a month. That's enough to run a real agent before you commit to anything.
Create a free account, then add the MCP server to your agent or create an API key for REST. The getting-started guide takes you from sign-up to your first webhook.