Skip to content
Felspar
Esc
↑↓navigate↵open⌘Jpreview
On this page

Register an agent

Give a company agent its own identity and key, choose its jobs, and hand its builder the setup.

Each company agent (a deployed agent, a workflow, an automation, an app) is its own identity in Felspar: its own key, the jobs it may run, and an accountable person. It can run decisions. It can never propose, approve, release or read review material.

Register

You must be the workspace owner or an approver.

  1. Open Workspace on app.felspar.ai and find Company agents.
  2. Name the agent after the deployed system, such as “Support Triage Bot” or “Contract Intake”. Use one agent per system, so you can revoke it on its own.
  3. For each job it may run, choose:
    • Latest (follows each approved release): the default. The agent gets each new release automatically.
    • Pinned: the agent stays on one release you choose until you change it.
    • Not allowed: the agent can’t run the job.
  4. Click Register agent.
  5. Copy the key now. It is shown once. Store it in your secret manager or deployment environment. Never paste it into chat, a prompt or Git.

You become the agent’s accountable person.

Choose Latest or pinned

Default to Latest. Pin only for a contractual promise tied to one version, a regulated decision that needs a validated version, or trying a new release on one agent first. Pinned agents don’t get fixes; move them deliberately. See Latest and pinned.

Hand over the setup

Give the builder three things: the address, the key (through your secret manager), and the setup for their surface.

Surface Setup
Any MCP client Streamable HTTP server at https://mcp.felspar.ai/mcp with the header Authorization: Bearer <agent key>
Claude Code claude mcp add --transport http felspar https://mcp.felspar.ai/mcp --header "Authorization: Bearer $FELSPAR_AGENT_KEY"
REST https://api.felspar.ai with Authorization: Bearer <agent key> on every request
Eve Two lines with @felspar/sdk/eve; see Eve
n8n and other automations See REST and n8n

The agent sees four MCP tools: list_jobs (the jobs this key may run, with each one’s purpose), get_job_requirements, get_job_decision and check_output (for text it writes after a decision). One agent can run every job it’s registered for and pick between them with list_jobs. The code that acts on a decision verifies the receipt over REST with the same key.

Install the Felspar method as the agent’s skill: npx @felspar/sdk skill writes it to agent/skills/felspar/SKILL.md (pass another directory, such as .claude, and --force to replace an existing copy). Then tell the builder:

  • send the source’s exact words for each question, never a label;
  • send the case’s ID exactly as the brief’s subject.send says, and related records’ IDs under related;
  • act only on Felspar’s outcome; treat “not decided” as unresolved;
  • when a result carries escalation, hand the case off by its id: Felspar names the hand-off and your code decides what it does;
  • verify the receipt before a consequential action.

Check it works

Have the builder run one decision. The workspace page lists each agent with its jobs (Latest, with the release it’s on now, or Pinned), and when it was last used.

Change jobs

On the workspace page, change the agent’s jobs or pins and click Save jobs. The change applies on the agent’s next call.

Revoke

Click Revoke this agent and confirm. The agent’s very next call is refused, over MCP and REST alike, and its key is deleted. A revoked agent is never reactivated; register a new one if you need it again. Revoke a key that may have leaked rather than waiting.

What an agent can and can’t do

Can Can’t
List the jobs it may run, and read their briefs Run jobs it isn’t registered for
Check text it wrote for its own decisions Check text for other callers’ decisions
Ask for decisions on those jobs, on its release Use an older release of a job it follows on Latest
Verify receipts of its own decisions Verify other callers’ decisions
Add sources, propose, approve, release, backtest, browse proposals or read other releases

A 403 for a job usually means the agent isn’t registered for that job. Add the job on the workspace page.

Was this page helpful?