Today we’re introducing sender attribution. At Sequent we use agents a lot. They automate tasks, help with research, and write code. Sometimes, while they’re doing that work, we want them to relay an update to a thread or channel.

Without sender attribution, there are two obvious paths:

  1. Create a bot identity and keep its credentials on the local machine.
  2. Send through your own account and leave the agent invisible.

Keeping bot credentials on a laptop treats it like a machine that belongs in a rack. It adds risk and work to what should be a local action. Hiding the agent creates a different problem: the channel loses useful context about how the message arrived.

Setting the right expectations

When a message appears under my name, people reasonably expect that I typed it. If Codex relayed the update, Sequent says so beside my name. The message remains mine, while the tool that delivered it stays recognizable in the channel and attached to the record.

The label sets the expectation before a teammate replies or acts. A local coding agent uses my signed-in client and permissions; Sequent records the agent separately.

Matt remains the sender; via Codex stays with the message.

Codex already uses Sequent

We built this for our own workflow. I already give Codex long-running tasks; now I can ask it to keep the relevant conversation updated while it works.

Every channel, DM, and message in Sequent has a pointer link. I can give one to Codex, and it knows exactly where to send the update. The same link opens the conversation for a person and addresses it for an agent. Codex uses it through Sequent’s MCP integration, so agents don’t need a second addressing scheme.

We have a standing rule at Sequent: don’t build one-off features if the parts we already have can compose into the right behavior. A person can follow a pointer link into a channel; an agent can use the same link to address it. Neither should need to read our documentation to find the right path.

Sender attribution follows the same rule. Codex sends through the client I already use, Sequent keeps me as the sender, and the attribution stays with the message.