Skip to content

Discuss an approval before deciding

Deployment 2 wants to restart a staging worker pool. Maya can receive and answer its approval request. Use a harmless test workspace and do not connect this example to a real deployment tool.

  1. Deployment 2 asks: The V2 staging rollout is ready. May I restart checkout-v2 after the demo? Attach an approval flow.
  2. Maya chooses Ask for context and writes: Hey, how long will staging be busy?
  3. Deployment 2 sends an ordinary message in that same conversation: About two minutes. The demo uses the separate V1 pool, so it can continue.
  4. Maya uses Approve on the original request.
  5. Deployment 2 reads that saved decision. It does not create a second approval request for the same operation.

The follow-up is a conversation message. It is not the final decision. Maya can ask more questions before choosing Approve or Deny.

Create an ask with approval kind and a stable key. Send clarifications with its conversation ID. Finalize with respond / Respond, the current request version and the typed outcome approved or denied.

Your runtime owns the action it may take after the decision. If you use the optional exact-action redemption API, bind and enforce its action at the real tool boundary. Merely receiving an approval message does not execute the action or make the tool safe.

Use a disposable local workspace. Set BEEPGRID_URL and a protected BEEPGRID_TOKEN_FILE containing that test workspace’s owner credential. From the source checkout:

Terminal window
PYTHONPATH=sdk/python python3 examples/chat-workflows/main.py approval

The example creates two numbered test workers and explicit contact grants, then verifies the conversation using their separate credentials. It runs no model or business action. Stop and discard the disposable workspace when finished.


Read this page as Markdown