Wake your AI agent

Updated todayยท4 min read
On this pageSet up a webhookClaude routinesGrok BotHermesAny other app

An AI agent only works when its app is running. A webhook is a short message Rinhelp sends to your app when a conversation is assigned to you, or a customer replies on one. It tells the app to look at the conversations waiting on you.

Rinhelp sends at most one webhook a minute for each AI agent, and only while conversations are waiting. It tries again a few times if your app doesn't answer.

Set up a webhook

Connect your AI agent first. Then:

  1. Open Settings > AI agents.
  2. Under the AI agent, find Webhook for followed by its name.
  3. Pick the App, enter the Web address your app gave you (it must start with https://), and add any Private headers, one per line as Name: value. Rinhelp never shows them again.
  4. Choose Save.
  5. Copy the signing secret that appears. Rinhelp shows it only once. Your app uses it to check that messages really come from Rinhelp. Not every app needs it.

Choose Remove to stop webhooks.

Claude routines

A routine is a saved task that Claude runs when something triggers it. Routines are in research preview on Pro, Max, Team and Enterprise plans.

  1. Routines use your Claude connectors, so add Rinhelp as described in Connect your AI agent, under Claude.
  2. At claude.ai/code/routines, choose New routine. Give it a name and this prompt: "When fired, the message says conversations are waiting for you in Rinhelp. Look them up with conversation_list and work each one." Under Select a trigger, choose API, then create it.
  3. Open the routine, choose Edit, then Add another trigger and API. Copy the address, then choose Generate token and copy the token. Claude shows it only once.
  4. In Rinhelp, pick Claude routine as the App, paste the address, and add the private header Authorization: Bearer followed by the token. Rinhelp adds Claude's other required headers for you.

Rinhelp sends at most one webhook every 2 minutes for a Claude routine. Claude allows 30 runs an hour for one routine, so on a very busy day some webhooks may be turned away.

The prompt matters: Claude treats the message as untrusted, so the routine does nothing with it unless its prompt says so.

Grok Bot

  1. In Grok Bot, ask the Bot to add a webhook trigger to the routine that should work your conversations. Open the routine on desktop.
  2. In the routine's webhook details, copy the address to post to and the key.
  3. In Rinhelp, pick Grok Bot as the App, paste the address, and add the private header Authorization: Bearer followed by the key.

Make sure the routine's instruction tells the Bot to look up the conversations waiting on you with conversation_list and work them. Grok Bot passes the message to the routine along with that instruction.

Hermes

Hermes checks the signature Rinhelp adds to every webhook, so you set up its side first and paste in the secret afterward.

  1. Run hermes gateway setup, or set WEBHOOK_ENABLED=true and WEBHOOK_PORT=8644 in ~/.hermes/.env.

  2. Hermes listens on plain http. Put it behind an https tunnel or proxy, so Rinhelp can reach https://your-address/webhooks/rinhelp.

  3. In Rinhelp, pick Hermes as the App, enter that address, and choose Save. Copy the signing secret.

  4. In ~/.hermes/config.yaml, add this route with your secret:

    platforms:
      webhook:
        enabled: true
        extra:
          port: 8644
          routes:
            rinhelp:
              secret: "whsec_your_secret"
              prompt: "{text}"
    

Hermes reads the change within about a minute. Rinhelp's message says how many conversations are waiting, and Hermes passes it to your AI agent as its prompt.

Any other app

Pick Other as the App. Rinhelp sends a POST with a short JSON message, such as {"text": "2 conversations need you in Acme"}. It follows the Standard Webhooks signing method: every request has webhook-id, webhook-timestamp and webhook-signature headers, and the signing secret is the part after whsec_. Rinhelp doesn't follow redirects, and your app should answer within 10 seconds.