ForgeRelay — Supplier Call Agent

Elevator pitch: A safe CALL-E phone agent that asks bounded RFQ clarification questions and returns structured supplier-ready answers without negotiating terms.

Inspiration

Many manufacturing quotes stall because one or two technical questions are waiting in an email thread. The missing step is often a short call, but a general voice agent can create risk if it negotiates price, places an order, or invents an answer.

What it does

ForgeRelay converts only the blocking RFQ fields into a bounded CALL-E task. The operator must verify the recipient and explicitly authorize the call. The call announces that it is AI-assisted, asks only the displayed questions, records unknown when the recipient cannot answer, and never negotiates or makes a commercial commitment.

When a call reaches a terminal state, ForgeRelay re-fetches the authoritative CALL-E task with its server-side API key. It maps grounded transcript spans to answered, unknown, or conflict outcomes and stores only those structured outcomes, evidence offsets, confidence, and task status in the case history. The full transcript is not persisted by ForgeRelay.

How we built it

ForgeRelay calls POST https://api.heycall-e.com/v1/calls with a restricted task, case metadata, a webhook URL, and an idempotency key derived from the complete safety contract. Before that request can run, the server derives the questions and disclosure context from the saved RFQ case, returns a masked preview, and requires approval bound to the preview's SHA-256 content hash.

Current CALL-E webhooks are unsigned, so ForgeRelay treats them only as wake-up signals. It calls GET /v1/calls/{id} with its API key and verifies ForgeRelay metadata before recording any result. We intentionally do not depend on the provider result-schema parameters because the current live API may reject them; the extraction path remains client-side and evidence-grounded.

Challenges we ran into

The main challenge was designing a workflow that is useful because it creates a real-world side effect while still being safe to demonstrate. We added layered authorization, strict E.164 validation, content-bound idempotency, fictional sample data, a no-negotiation policy, and authoritative result re-fetching.

Accomplishments that we're proud of

  • The app is fully usable in dry-run mode without credentials.
  • A real call cannot be triggered accidentally.
  • The exact call plan is inspectable before authorization, and any edit invalidates the approval hash.
  • Evidence-grounded results map directly back to the questions that blocked the quote.
  • Credentials and phone numbers never enter the public repository.
  • The reusable forgerelay-supplier-clarification Agent Skill passed the official generated-skill and repository validators and is submitted as CALL-E Draft PR #35.

What we learned

The safest phone agent is not the one with the most freedom. A narrow task, explicit recipient authorization, and a machine-checkable result are what make a real call operationally useful.

What's next

We plan to add consent-aware callback windows, call cancellation, and a reviewer queue for conflicting answers.

Repository: https://github.com/junsenliu/forgerelay

Try it: https://forgerelay.vercel.app

Built With

  • call-e
Share this project:

Updates