How do I give my Photon agent real web actions?

Short answer. Use Photon for the conversation and AgentWeb for the action. Photon's spectrum-ts SDK delivers your agent's messages across iMessage and WhatsApp Business. AgentWeb is the execution layer that lets the same agent finish tasks on real sites, like booking a SevenRooms table, placing an Uber Eats order or sending a LinkedIn message, on each user's own account, at $0.05 per completed action.

How the two fit together

Photon handles where the user talks to your agent. AgentWeb handles what the agent can do on the web. In your Spectrum message loop, your model decides on a task, and your code calls AgentWeb's execute with a domain, an action and params. The structured result goes back to the user as a message.

Set it up

  1. Install Photon's SDK (npm install spectrum-ts) and set SPECTRUM_PROJECT_ID and SPECTRUM_PROJECT_SECRET.
  2. Get an AgentWeb aw_ API key and set AGENTWEB_API_KEY.
  3. In your for await (const [space, message] of app.messages) loop, call AgentWeb when your model picks an action.
  4. For actions on a user's account, send them the hosted login link from agentweb_start_connection.
  5. Ask the user to confirm anything paid or public before you call it.

The full working example is in the Photon + AgentWeb starter guide.

Frequently asked questions

Does AgentWeb replace Photon?

No. Photon carries the messages. AgentWeb performs the web actions. You need both jobs done, and they don't overlap.

Which sites can my Photon agent act on?

As of Oct 20, 2026, AgentWeb maps 1,462 sites and 7,073 actions. Call list_actions for a domain to check before promising the user.

Sources (accessed Oct 20, 2026): https://photon.codes/docs/spectrum-ts/getting-started , https://www.agentweb.us/install.md

More: Sites AgentWeb can act on · All guides · Glossary · Install AgentWeb