Custom Adapter

Build your own
FORG adapter

Any tool that can make an HTTP POST request can emit FORG signals. The adapter protocol is open and documented. Build a custom adapter in under an hour.

HTTP POST

Emit signals via a simple HTTP POST to localhost:6247/emit. No SDK required — curl works.

HMAC-SHA256 auth

Signals are authenticated with HMAC-SHA256 using a session key. Prevents spoofed signals.

Structured JSON

Signal payloads are simple JSON objects. Model, tokens, cost, adapter name, and custom metadata.

Signal payload

This is all you need to emit a signal. Everything else is optional.

Minimal signal (curl)
curl -X POST http://localhost:6247/emit \
  -H "Content-Type: application/json" \
  -H "X-FORG-HMAC: <hmac>" \
  -d '{
    "adapter": "my-tool",
    "event": "session.end",
    "model": "gpt-4o",
    "input_tokens": 1500,
    "output_tokens": 340
  }'
Full signal payload
{
  "adapter": "my-tool",
  "event": "session.end",
  "session_id": "uuid",
  "model": "gpt-4o",
  "input_tokens": 1500,
  "output_tokens": 340,
  "cost_usd": 0.0074,
  "duration_ms": 3200,
  "context": "production",
  "user_id": "user@company.com",
  "project": "my-project",
  "metadata": {
    "custom_key": "custom_value"
  }
}

Required vs. optional fields

FieldTypeRequiredDescription
adapterstringRequiredYour adapter's unique identifier (e.g. 'my-tool')
eventstringRequiredEvent type: session.start, session.end, tool.call, etc.
modelstringOptionalModel name (gpt-4o, claude-3-5-sonnet, etc.)
input_tokensnumberOptionalInput token count for this event
output_tokensnumberOptionalOutput token count for this event
cost_usdnumberOptionalEstimated cost in USD (FORG can compute from tokens)
session_idstringOptionalUUID to group events into a single session
user_idstringOptionalUser identifier for attribution
metadataobjectOptionalArbitrary key-value metadata for custom rule conditions

Start building your adapter

Full adapter protocol documentation with examples in Python, Node.js, Go, and Ruby.

Read the protocol docs Install FORG