Product · Engineering
Introducing the Teleperson Protocol (TPP)
An open draft that extends the Personal Agent Protocol so personal agents can work on the phone, act within limits the customer sets, come back with signed receipts, and reach companies that haven't built an agent yet.
Today we're publishing the Teleperson Protocol (TPP), an open extension of the Personal Agent Protocol (PAP) for personal agents that handle customer service. TPP 0.1 is a draft, released under the Apache-2.0 license. We want to shape it in the open with companies and agent platforms, and we'd like your help.
The problem: agents are arriving, but service still runs on the phone
Personal agents are here. People are starting to hand their AI assistants real errands: dispute this charge, cancel that plan, move this appointment. The standards for how those agents meet a business are arriving too.
But two things stand in the way. First, most customer service still happens on the phone, behind phone menus, hold queues and people asking for the last four digits of something. Second, most companies don't have an agent, an API or an endpoint for agents at all, and won't for a while.
An agent that only works with companies that have built something for agents can't help with most of what people actually need. And a company that has to build something before it can accept a customer's agent won't be ready in time.
What TPP is
On October 6, 2026, Sierra and Meta announced the Personal Agent Protocol (PAP, nicknamed "Poppy") with Walmart, Shopify, Stripe, Genesys, Rocket and NiCE. Draft 0.1 was published on October 9. PAP covers the basics: how a customer's personal agent finds a business (/.well-known/poppy.json), how it signs in with the customer's permission (OAuth: direct, device, or mediated), and how it acts for them over web, API, or chat.
TPP adds the parts PAP leaves out. A TPP agent is a PAP agent first. Everything in TPP lives under tpp.* in the extensions section of poppy.json, and a company can adopt any subset of it.
TPP is also designed to stay compatible with PACT, the Personal Agent Consent & Trust Protocol from Decagon and Instinct. PACT is built on A2A 1.0 and uses signed agent JWTs, OAuth device-code consent at the brand's own login, short-lived delegation tokens and signed receipts.
There are three roles:
- The Member, the person who wants something done.
- Atlas, Teleperson's personal agent, which acts for the Member.
- The Company, which Atlas reaches either directly or through Teleperson Host when the company hasn't built anything yet.
TPP follows a short list of principles:
- PAP first. TPP extends PAP and never replaces it.
- The member owns consent. Nothing happens without their permission, and they can take it back.
- No secrets reach the agent. Passwords, PINs and one-time codes never reach the agent or a model.
- Always disclosed as AI. On every channel, including the phone.
- Signed both ways. Companies can verify the agent, and members can verify what the company promised.
- Minimum data. Only what the task needs.
- Works without the company. A member can get help even when the company has published nothing.
How it works
- Find the company. Atlas looks for the company's own
poppy.json. If there isn't one, the TPP directory gives it the company's verified channels, and Teleperson Host gives it a guest-only listing to start from. - Get permission. The member signs in at the company's own sign-in, never through the agent, and grants an authorized-representative permission with clear limits. On the phone, a single-use call code ties the call to that permission.
- Act, record, follow up. Atlas does the task over web, API, chat or phone. The company signs a receipt for any account action. Atlas keeps the receipt, turns promises into reminders and, if the member agrees, shares feedback with the company.
The extensions
tpp.directory: find any company. A lookup of any company's verified channels: phone numbers and what each one is for, a map of the phone menu, and the company's poppy.json URL if it has one. It works even when the company publishes nothing, because it's built from Teleperson's Vendor Hub data, phone-number verification and phone-menu mapping.
tpp.host: a starting point for every company. For companies that haven't claimed their listing, Teleperson hosts a guest-only PAP endpoint at tpp.teleperson.com/c/{company}/.well-known/poppy.json. It's clearly marked operator: teleperson and claimed: false. It can't sign anyone in or act on anyone's account; for that, it hands off to the company's real channel. A company claims its listing by proving it owns its domain, with a DNS TXT record or a file at /.well-known/tpp-claim, then points the listing at its own endpoint or keeps Teleperson as the host. In short: support personal agents tomorrow without building anything.
tpp.voice: verified agents on the phone. Before it dials, the agent asks the company's intent endpoint for a single-use, 6-digit call code that's valid for 10 minutes. On the call, the agent says it's an AI assistant calling for the member by first name, and gives the code. The company looks the code up and sees which agent is calling, for whom, why, and what it's allowed to do. The call is now tied to a PAP session, just like a chat or API request.
tpp.menu: phone menus as data. Companies can publish their phone menu (IVR) as a JSON tree with named routes such as cancel, billing_dispute and reach_person. When a company hasn't published one, agents can use the menu maps Teleperson has observed. The agent never keys in account numbers or PINs; at those steps, it hands off to the member.
tpp.rep: an authorized representative, with limits. The member creates this grant at the company's own sign-in. It says what the agent may do, how much credit it can accept (credit_up_to), what it must never do, which steps need the member's OK each time (confirm_each), and when the grant expires_at. It works in chat and on the phone, and either the member or the company can revoke it at any time.
{
"may": ["dispute_charge", "request_credit"],
"credit_up_to": "50.00 USD",
"never": ["cancel_account", "change_plan"],
"confirm_each": ["accept_offer"],
"expires_at": "2026-11-15T00:00:00Z"
}The values above are illustrative; the draft spec defines the exact format.
tpp.receipt: signed proof of what happened. For every account action, such as a credit, cancellation, refund, plan change or appointment, the company returns a signed receipt (a JWS). It includes the reference number, the name of the representative, and any follow-ups the company promised, with due dates. Atlas keeps the receipts and turns each promise into a reminder. If a company doesn't sign, Atlas still records what happened, marked signed_by: agent, so nobody mistakes it for the company's word.
tpp.feedback: hear from customers in their own words. After an experience, Atlas Survey can interview the member by voice. With the member's consent, the company receives a feedback event with a summary, a rating and the highlights, in the customer's language and in English.
For members: Atlas
Atlas is Teleperson's personal agent, and it's built for how customer service really works:
- It works on the phone, which is where most customer service still happens.
- It knows the phone menus, so it gets to the right person faster.
- It works within your limits. As your authorized representative, it can only do what you allowed, up to the amounts you set.
- It keeps signed receipts and follows up. When a company promises a credit or a callback, Atlas remembers and checks that it happened.
- It keeps your privacy controls on your Mac.
Learn more about Atlas or join the beta.
For brands: start without building anything
Supporting personal agents with TPP takes three steps, and the first one takes no work at all:
- Start with zero build. Teleperson already hosts a guest-only listing for your company, so personal agents can find your verified channels today.
- Claim it with one DNS record. Prove you own your domain and take control of the listing.
- Adopt what you need. Turn on any extension, such as call codes, phone menus or receipts, one at a time. Underneath, it's standard PAP.
From there, there are three ways to run it:
- Claim. Take ownership of your listing so agents see your verified channels and your rules.
- Host. Keep Teleperson as the host of your PAP endpoint while you decide what to build.
- Extend. Run your own PAP endpoint and add the
tpp.*extensions that fit your business.
How TPP compares
TPP is meant to work alongside the other agent protocols, not replace them. Here's how we see the landscape. Cells marked "not specified" mean we didn't find it in the public materials we've read.
| TPP (Teleperson) | PAP (Sierra, Meta) | PACT (Decagon, Instinct) | Visa TAP | |
|---|---|---|---|---|
| Phone and voice | Yes: call codes tie a call to a PAP session (tpp.voice) | Not specified (web, API, chat) | Not specified | No |
| Companies without an agent | Yes: directory plus a guest-only hosted listing | Not specified; the company publishes poppy.json | Not specified | Not specified |
| Phone menus | Yes: published or observed menu maps (tpp.menu) | Not specified | Not specified | No |
| Authorized representative | Yes: limits on what, how much, and until when (tpp.rep) | Not specified | Short-lived delegation tokens | No consent delegation |
| Signed outcome receipts | Yes: company-signed, with promised follow-ups (tpp.receipt) | Not specified | Yes: signed receipts | Not specified |
| Feedback | Yes, with the member's consent (tpp.feedback) | Not specified | Not specified | Not specified |
| Consent model | PAP sign-in at the company, plus a limited representative grant | OAuth: direct, device, or mediated | OAuth device-code consent at the brand's own login | None; agent identity only |
| Transport | PAP (web, API, chat) plus the phone | Web, API, chat | A2A 1.0 with signed agent JWTs | Signed web requests for commerce and checkout |
PAP and TPP are both early drafts, and the other protocols are changing too. If we've got something wrong, tell us and we'll fix it.
Open, draft, and how to get involved
TPP 0.1 is a draft, open under Apache-2.0. Nothing in it is final. We want to hear from:
- Companies that want personal agents to reach them the right way, on the phone and online.
- Agent platforms that want their agents to work with companies that haven't built anything yet.
- Contact-center and phone providers who can help shape how verified agent calls work.
Talk to us about TPP · Read the draft spec
FAQ
What is the Teleperson Protocol (TPP)?
TPP is an open extension of the Personal Agent Protocol (PAP) for personal agents that handle customer service. It adds phone calls, phone menus, an authorized-representative grant with limits, signed receipts, feedback, and a way to reach companies that haven't built anything for agents.
Does TPP replace PAP?
No. A TPP agent is a PAP agent first. TPP lives under tpp.* in the extensions section of poppy.json, and companies can adopt any part of it.
Does TPP work with PACT?
Yes, that's a design goal. TPP is built to stay compatible with PACT from Decagon and Instinct, which covers signed agent identity, consent at the brand's own login, delegation tokens and signed receipts.
What does my company need to build?
Nothing, to start. Teleperson hosts a guest-only listing for companies that haven't claimed theirs. When you're ready, claim it with one DNS record, then add only the extensions you want.
Can a Teleperson-hosted listing act on a customer's account?
No. A hosted listing is guest-only and is clearly marked operator: teleperson and claimed: false. It can't sign anyone in or act on an account. For that, it hands off to the company's real channel.
How does a company know an AI agent is calling?
The agent always says it's an AI assistant calling for the member, and gives a single-use 6-digit call code from the company's intent endpoint. The code is valid for 10 minutes and tells the company which agent is calling, for whom, why, and what it's allowed to do.
Does the agent ever see my password or PIN?
No. Passwords, PINs and one-time codes never reach the agent or a model. You sign in at the company's own sign-in, and when a phone menu asks for an account number or PIN, the agent hands off to you.
Is TPP finished?
No. TPP 0.1 is a draft, and we'd welcome your input.