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.
Click a step to jump to it.
Works with the tools you already run
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.
01 · connect
Organization
one OAuth button
02 · grant
Workspace
lent to a team
03 · bind
Project
picks the account
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
“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.
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.
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.
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.
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.
06 — Examples
A ticket in. A pull request out.
GitHub issue → pull request
issue #25Issue #25
label · firefunc-autofix
@ticketfixer
agent
repo · read/write
pay-api
Claude Code
sam-mbp
Draft PR
linked · review queue
Jira story → feature, with hand-offs
FPG-2FPG-2
status · ready-for-dev
@feature-chain
agent
Jira · write
comment · transition
Codex CLI
ci-box-01
PR
→ In Review
hand-off chain — three agents, one baton
Figma design → frontend change
FPG-7 · PR #36FPG-7
ready-for-dev
@design-sync
agent
Figma · read
frame · live
Claude Code
sam-mbp
PR #36
42 tests green
Jira ticket → Figma design
FPG-8FPG-8
label · needs-design
@design-sync
agent
Figma · write
design system · read
Claude Code
dana-mbp
New frame
on the canvas
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.
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.
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 onOff, 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 roleA 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 timePast the cap, a task is parked with the numbers and the fix. Nothing starts, and nothing is spent.
Roles and permissions
custom roles · per permissionWho 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-mbpIn your checkout
The repositorycloned hereEvery edit and diffa local worktreeFiles and command outputshown locallyIn 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.comFrom 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-insFrom the tools you connect
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.
Automate any task in the tools you already use.
With full control, full customization and full access.
Invitation-only while we onboard early teams.