Skip to content

Build AI agents on the tools you already use.

FireFunc turns tickets, alerts, designs and messages into finished work, with custom agents that run on your own machines, on the subscriptions you already pay for.

Request early accessSign in
Dana reports a bug in Slack and mentions @card-bugs — an agent her team built.The agent picks the Jira ticket up itself. Nobody assigned it.It works the fix on sam-mbp, on Sam’s own Claude subscription, and replies where it was asked.A draft pull request opens and its checks go green. A person reviews and merges it — nothing merges on the agent’s word.Meanwhile the Sentry crash and the Figma redesign got the same treatment, from other agents, on other machines.

Click a step to jump to it.

Works with the tools you already run

GitHubJiraLinearSentryFigmaSlackMicrosoft Teams

01 — Watch it

One alarm. A team of agents. You decide what merges.

Two and a half minutes, with sound. An alarm fires at 3:12 a.m., and a team of agents takes it from triage to a reviewed pull request by morning.

02 — Connect

One click. No pipelines.

GitHub, Jira, Linear, Sentry, Figma and Slack connect with one OAuth button — no personal access token to paste. Connect one once for the organization, and any agent can be given it, read or write, by name. Jira alone asks for one webhook, made once in its own settings. Teams takes FireFunc’s notifications.

GitHubJiraLinearSentryFigmaSlackMicrosoft Teams
also, by MCP or webhookGitLabDatadogPagerDutyGrafanaNotionStripeAWS alarms

01 · connect

Organization

one OAuth button

02 · grant

Workspace

lent to a team

03 · bind

Project

picks the account

helio-engread ✓   write ✓   granted per agent

03 — Runner

Your machines. Your subscriptions. Every coding agent you already have.

One npm package on your laptop or a build box. It finds the coding-agent CLIs already installed there and drives them on the account you already pay for. FireFunc sells no tokens and adds no markup — add a machine and you add capacity.

Coding agents the runner drives — each on your own account

Claude CodeAnthropic · your sign-in
Codex CLIOpenAI · your sign-in
Copilot CLIGitHub · your sign-in
AntigravityGoogle · your sign-in
Gemini CLIGoogle · an API key
Cursor CLICursor · an API key

“Found” means the CLI is on the machine’s PATH. The runner calls it the way you would from a terminal: Claude Code, Codex CLI, Copilot CLI and Antigravity run on the sign-in already on the machine, and Gemini CLI and Cursor CLI on an API key you give the runner once. Either way it is your account — nothing is re-billed through FireFunc.

sam-mbp — zsh

$ npm install -g @firefunc-agent/runner

added 1 package in 3s

$ firefunc-runner connect ffr_•••••••• --api https://api.firefunc.com --repos-dir ~/code

Saved to /Users/sam/.firefunc-runner/config.json.

Next: firefunc-runner install (background service — survives reboot)

$ firefunc-runner install

Installed. The runner starts at login and restarts if it crashes.

$ firefunc-runner status

Connected to https://api.firefunc.com

service: installed, RUNNING

$

sam-mbponline
PlatformmacOS
Engines foundClaude Code · Codex CLI · Copilot CLI
Last heartbeat4 seconds ago
ServesAll projects
RunsThe whole workspace’s work

The first three are what the daemon found and reported. The last two are yours: whose work it takes is asked when you pair it, and what it serves you can narrow on Machines.

04 — Build

An agent is something you build, not something you prompt.

Figma → frontend@design-sync① project② trigger③ instruction

what it will do

When a Jira ticket moves to ready-for-dev with the label frontend, read the Figma frame live and build it against pay-web on main, then open a draft PR, comment the ticket and move it to In Review — on Claude Code, on one of your machines, at most five times a day, leaving the merge to a person.

2 of 3 gatesActivate

05 — Inside FireFunc

You build the agent. You keep the keys.

Every agent is four plain sentences and a leash you set yourself. Try the control below — it offers the same three choices the agent editor does.

Control

Decide how far it goes alone

Three settings, and you choose the one this agent stands on. Move it any time — the agent does not get a vote.

@crashfix · how it runs
AutonomyPR for review
Run cap5 per day
Concurrent runs1 at once

What happens on a run

It pushes a branch and opens the pull request as a draft. Nothing merges: a person reviews it and merges it, or sends it back.

Visibility

Watch it work, phase by phase

Not a spinner and a guess. Each run reports the phase it is in, the engine it thinks with, and the machine it is running on — yours.

3working now1240steps reported0merged on an agent’s word
Tasks · working now
Escape user input in audit log export2m 14s
@secfixClaude Codesam-mbp

Writing code · read 9 files · edited 3

Bump the auth middleware timeout47s
@crashfixCodexsam-mbp

Reading the code · read 12 files

Orders console — build the front page11m 02s
@feature-chainClaude Codeci-box-01

Running tests · ran 7 commands

Nothing here merges on an agent’s word. A person merges it — or, where a person switched auto-merge on or gave an agent a merge step, FireFunc does, once it has checked the pull request itself.

06 — Examples

A ticket in. A pull request out.

GitHub issue → pull request

issue #25
  1. Issue #25

    label · firefunc-autofix

  2. @ticketfixer

    agent

  3. repo · read/write

    pay-api

  4. Claude Code

    sam-mbp

  5. Draft PR

    linked · review queue

Jira story → feature, with hand-offs

FPG-2
  1. FPG-2

    status · ready-for-dev

  2. @feature-chain

    agent

  3. Jira · write

    comment · transition

  4. Codex CLI

    ci-box-01

  5. PR

    → In Review

hand-off chain — three agents, one baton

@feature-chainfeature · PR@docsyncdocs in sync@depsweepsweep

Figma design → frontend change

FPG-7 · PR #36
  1. FPG-7

    ready-for-dev

  2. @design-sync

    agent

  3. Figma · read

    frame · live

  4. Claude Code

    sam-mbp

  5. PR #36

    42 tests green

Jira ticket → Figma design

FPG-8
  1. FPG-8

    label · needs-design

  2. @design-sync

    agent

  3. Figma · write

    design system · read

  4. Claude Code

    dana-mbp

  5. New frame

    on the canvas

sentry → PRhourly JQL sweep@orders-helperflaky testdependency bumpdocs in sync

If it lives in your tools, an agent can do it.

07 — Or just ask

Every agent answers to its name.

Triggers are for work that arrives on its own. When you want something now, say so where you already are — a Jira comment, a Slack thread, a pull request. The agent picks it up, and the conditions it normally waits for are skipped.

Jira · PAY-418
Dana Okafor2 min ago

@card-bugs this one is blocking the release — can you take it now?

Claimed it · opening a PR on pay-web
Slack · #payments
Jonas Silva9 min ago

@FireFunc @crashfix the checkout error is back in prod, same stack as last week

Reading the Sentry issue · 1 attempt
GitHub · pay-api #812
Aisha Bello21 min ago

@pr-style mind re-checking this after my last commit?

Re-running · attempt 2

Mentions work from the tools your team writes in, and each workspace decides who may summon an agent — by default, only the team’s own people: a repository’s collaborators, a tool workspace’s members.

08 — Control

Complete control. Nothing runs blind.

the best thing it does

Refusal with a reason and a fix.

An agent’s run tries to write to a tool it was not granted. The write is refused, and the task says why and what to change.

@ticketfixer

Jira · write is not granted to this agent.

The ticket was not moved; the pull request stands. Grant Jira · write in step 2, or leave it and let a person move the ticket.

Five limits around every agent — on the agent, its project and its organization

Off-limits paths

auth/ payments/ *.env*

Set on the project. Every brief names them, a ticket that points into one waits for a person, and a pull request that touches one is never merged automatically.

A person decides the merge

auto-merge is off until switched on

Off, a person merges — or an agent does, if a person gave it a merge step. Either way FireFunc first checks the pull request itself — no protected path touched, under the size limit, the secret scan clean — never on the agent’s word.

Approval before a hand-off

approver · a person or a role

A hand-off to the next agent can wait until a person you name, or anyone in a role, approves it — on the task page or from Slack.

Run limits

5 a day · 1 at a time

Past the cap, a task is parked with the numbers and the fix. Nothing starts, and nothing is spent.

Roles and permissions

custom roles · per permission

Who may create, activate or edit an agent is one permission in a role. By default, Viewers and Guests don’t hold it.

09 — Security

Your repository never reaches FireFunc.

The clone, the edits and the tests happen on a machine you pair, and the model calls go from there to your AI vendor, on your plan. Pick an engine in a vendor’s cloud instead and the work happens there, under your account. FireFunc keeps the tickets, events and results that coordinate the work — and this is all of it.

Stays on your machine

sam-mbp

In your checkout

The repositorycloned hereEvery edit and diffa local worktreeFiles and command outputshown locally

In the engine and the runner

The engine’s transcriptthe CLI’s own logKeys and sign-in tokensnever sentA known key or tokenstops the pushNone of it is sent to FireFunc.

What FireFunc keeps

firefunc.com

From the runner

Run status and resultbranch · PR linkEach step, in a linepath · command · tool · noteThe agent’s summarycode removedSecret-scan findingswhere, never whatThe machinename · versions · sign-ins

From the tools you connect

Tickets and messagestext · labels · filesPull requeststitles · paths · checksError reportsno source linesYour webhook deliveriesas sent · no diffs
Add the brief FireFunc writes for each run, kept until 7 days after it ends, and that is the whole list. Never your repository.Each item in full →

No FireFunc sandbox

FireFunc never clones, fetches or stores a repository. Agents work on machines you pair, where the runner scans for secrets before anything is pushed — or, if you pick a vendor’s cloud engine, in that vendor’s cloud under your account, with no such scan.

No token billing

Model calls go to your AI vendor, on the plan you already pay for. FireFunc writes the brief a run starts from, and is priced per seat, not by usage.

Every permission written down

What an agent may read and write through FireFunc is a grant on its page; on a paired machine the engine also has that machine’s shell. Nothing is merged until a person turns on auto-merge or gives an agent a merge step, and even then only after FireFunc’s own check.

10 — Your team

Every engineer pairs a machine. The whole team runs at once.

Each machine works on the engine login or key it already has, and FireFunc routes every task to a machine that has the engine it needs and has agreed to take it. Two people, one shared build box, six runs in flight.

HelioMachines6 runs in flight · 3 machines online
Sam Reyessam-mbp · online
Claude CodeSam’s own subscription
pay-web · FPG-7writing code
pay-api · #25running tests
Dana Okafordana-mbp · online
Codex CLIDana’s own subscription
pay-web · FPG-8reading Figma
pay-workers · sweepopening PR
Shared build boxci-box-01 · online
Gemini CLIthe team’s Gemini API key
pay-api · FPG-2gathering context
docs · hand-offwriting code
Pair another machine — one command, and one question: does it run only its owner’s work, or the whole workspace’s?
6runs at once4repositories3machines3enginesEach machine runs as many at once as its owner sets.

Automate any task in the tools you already use.

With full control, full customization and full access.

Request early accessSign in

Invitation-only while we onboard early teams.