Workflows / abcl-servicing-intent

Capture settings

Step 3 of 5

Personal data is masked before storage; text expires after 90 days.

1 · Name

Done

Letters, digits and _ . : / < > -, up to 128. Dvar sees this name in health checks, so don't include customer names or secrets. Only a member creates a workflow.

Optional

Dvar uses this to name topics and draft the rubric. Don't include personal data. You can change it later from Traffic.

2 · Which models should Dvar use to score your traffic?

Done

Change them on the workflow's Models page.

3 · How do we capture traffic?

Done
app.py · OpenAI-compatible
import os
from openai import OpenAI
- client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
+ client = OpenAI(base_url=os.environ["DVAR_GATEWAY_URL"],
+ api_key=os.environ["OPENAI_API_KEY"]) # passes through, never stored
environment · placeholders
DVAR_GATEWAY_URL=https://<your gateway>/w/abcl-servicing-intent/v1

One gateway serves every workflow: /w/abcl-servicing-intent/ in the base URL names this one. Fails open: if Dvar fails, your call still goes through.

4 · Connect

Done

Connector pairing

Paired · data plane dp_3f9a…c21e

Last health check 18 s ago · every 60 s · portal.dvarlabs.ai

  1. An admin opens portal.dvarlabs.ai › Data planes › Get pairing code. It is valid for 15 minutes and works once.
  2. The admin enters it on this data plane's Dvar connector.
  3. The Dvar connector swaps it for a revocable data-plane credential (dvar_dp_…). Never a dvar_live_ key.

First trace

First trace received · 1 recorded steps · 1 PERSON masked

Open in Traffic

Pairing is once per data plane, not per workflow. Health checks send only the workflow name and call counts.

5 · Data sharing

Off by default

The Dvar connector's local policy file decides: the file the Dvar connector starts with (-policy; in make demo, link/policy.json in the run folder). The default allows only pairing and health checks to portal.dvarlabs.ai. Every call is logged, allowed or denied. You can change this later.

Model calls

Masked text (<PERSON_1> stays a token). Once images are on, judge, alternative reply and comparison calls also send the customer's images unmasked. Topic naming and rubric drafting send text only. One rule per provider and purpose covers every workflow. Never a Dvar origin.

  • OpenRouter
  • judge · Not allowed
  • topic naming · Not allowed
  • rubric drafting · Not allowed
  • alternative reply · Not allowed
  • comparison · Not allowed
Add these entries to allow in your egress-policy.json · not applied
{
  "message": "model_call",
  "purpose": "judge",
  "destination": "https://openrouter.ai",
  "provider": "openrouter"
},
{
  "message": "model_call",
  "purpose": "topic_naming",
  "destination": "https://openrouter.ai",
  "provider": "openrouter"
},
{
  "message": "model_call",
  "purpose": "rubric_drafting",
  "destination": "https://openrouter.ai",
  "provider": "openrouter"
},
{
  "message": "model_call",
  "purpose": "alternative_reply",
  "destination": "https://openrouter.ai",
  "provider": "openrouter"
},
{
  "message": "model_call",
  "purpose": "comparison",
  "destination": "https://openrouter.ai",
  "provider": "openrouter"
}

Keep the existing rules. Fill in <your model endpoint> if it is there: a policy that fails its schema takes the Dvar connector fully offline.

Pairing and health checks → portal.dvarlabs.ai

Allowed by the default policy; a connector admin can remove the rules. Pairing sends a one-time code; health checks send workflow names and call counts only.

Fine-tune requests → portal.dvarlabs.ai

Ids and counts only. Lets a member start a talk with a Dvar engineer.

Masked rows to Dvar evals → evals.dvarlabs.ai

Stored, masked conversations of this workflow. Never the original values.


Turning one on drafts a rule for egress-policy.json. A connector admin applies it. The console does not change the policy.

Skip for now
——