Skip to main content
These notes come from the current runtime behaviour and prevent common configuration mistakes.

Scope matters

Check the active Organization and Workspace before creating an Agent, Channel, MCP provider, Gateway, credential, or Trace query. Resources in different Workspaces cannot be combined in one request.

Publish after attaching a Channel

Attach the Channel to the Agent, save, and publish the Agent before configuring the provider callback. Use the generated URL with immutable Agent and Channel IDs:
Renaming a display name does not change those IDs.

Provider signatures are verified

Twilio and Mailgun callbacks are verified before GroundForge normalizes or processes the message. Copy the callback exactly and keep the signing credential current.

Twilio sender and test recipient are different

Store the WhatsApp sender in the Channel. Pass the recipient only when running a Channel test. In the Twilio sandbox, the recipient must have joined the sandbox, and sender and recipient must not be the same number.

External Agents must stay connected

An external Agent receives Channel jobs only while its SDK process is running with serve=True. Direct tracing with serve=False does not receive Channel jobs.

Credentials are write-only

Model keys and other generated secrets are not returned after they are saved. Store the original value in a protected secret manager. A model credential belongs to the Agent; a Channel credential belongs to the Channel; an MCP connection credential belongs to the provider.

Local stdio secrets stay local

When gforge discovers a local stdio MCP server, environment secret values remain on that machine. GroundForge uploads capability definitions, not raw local environment secrets.

Discovery is explicit

Opening Observations or Drifts reads saved records. It does not run Discovery. Start a new Discovery only when you want GroundForge to read the current Agent or MCP capability definitions.

GroundForge does not invent audience metadata

Country, region, city, language, or campaign breakdowns appear only when a Channel or caller supplies reliable data. GroundForge does not perform IP geolocation and external-Agent examples do not assume custom user_id metadata.

Historical Traces keep their original detail

A newer SDK or UI can improve future Trace structure, but it cannot reconstruct model, tool, parent-run, or Channel details that were never recorded in older requests.

Example

Before testing the LangChain weather Agent, confirm the Workspace, keep the Agent running, publish the Channel attachment, run a dry-run delivery test, and then send one new request. This gives you a clean Trace to compare with the expected flow in LangChain Agent Example.
Last modified on July 27, 2026