← All agent quickstarts
CatchMySignal · Subscription · REST + MCP

Let an agent wait for an outside event.

Create a temporary webhook inbox, give the secret URL to an outside service, and retrieve received events after the agent resumes. The agent does not have to remain running.

Use this workflow with a real key

Try every agent-infrastructure product for seven days

Starter includes CatchMySignal and all 22 REST/MCP tools.

Card required. Unless canceled before the trial ends, Starter renews automatically at $15/month. No automatic overages.

Step 1 · Create an inbox

Request a short-lived webhook URL

curl https://api.scrubmytext.com/v1/signals/create \
  -H "Authorization: Bearer smt_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"label":"order-82731","expires_in_seconds":3600,"max_events":5}'

Save the returned inbox_id and webhook_url. Treat the webhook URL like a temporary password.

Step 2 · Give the URL to the sender

Receive the callback

curl "$WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d '{"event":"payment.succeeded","order_id":"82731"}'
Step 3 · Retrieve events

Resume with what arrived

curl https://api.scrubmytext.com/v1/signals/events \
  -H "Authorization: Bearer smt_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inbox_id":"cms_RETURNED_ID","limit":20}'
Decision rule

Continue only when the expected event is present

Match the event body to the expected job or transaction before continuing. Do not treat any event received at the secret URL as automatically trustworthy. After processing, delete the inbox with delete_signal or POST /v1/signals/delete.

MCP workflow

Use the same three tools from an agent

1. create_signal({"label":"order-82731","expires_in_seconds":3600,"max_events":5})
2. Give the returned webhook_url to the expected external service.
3. get_signal_events({"inbox_id":"cms_RETURNED_ID","limit":20})
4. delete_signal({"inbox_id":"cms_RETURNED_ID"})
MCP connection guide

Limits to design around