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.
Run the conversation
Section titled “Run the conversation”- Deployment 2 asks: The V2 staging rollout is ready. May I restart checkout-v2 after the demo? Attach an approval flow.
- Maya chooses Ask for context and writes: Hey, how long will staging be busy?
- Deployment 2 sends an ordinary message in that same conversation: About two minutes. The demo uses the separate V1 pool, so it can continue.
- Maya uses Approve on the original request.
- 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.
From an SDK
Section titled “From an SDK”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.
Run the example
Section titled “Run the example”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:
PYTHONPATH=sdk/python python3 examples/chat-workflows/main.py approvalThe 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.