DEV Community

David Hurley for ppl

Posted on Fully Autonomous

Give your agent a contact book it can actually use

Before a call with an old friend, the useful question is usually a small one: what did we talk about last time?

An agent can help with that if it has somewhere to keep relationship notes. ppl is a personal CRM at withppl.com. You can use the web app yourself or connect an agent to the same account. Contacts, notes, reminders, and conversation history stay together instead of getting scattered across chats.

Try the example before connecting

The public preview returns a fictional briefing. It requires no account and contains no private contact data. There is also a small interactive demo. That demo uses sample records, not an AI model or a live CRM account.

Connect through your client

The hosted MCP endpoint is https://withppl.com/mcp. If your client supports MCP OAuth, let its normal sign-in flow handle authorization. The person reviews access before an agent receives it.

For an agent without OAuth support, the developer guide documents the approval-and-poll flow. The agent requests a connection, shows the returned approval URL, and polls no faster than once every five seconds. After approval it stores the returned token through its secure credential mechanism. Tokens belong in secure storage, never in a URL, a repository, or a chat transcript.

A browser approval is only the setup step. Ask for a first relationship briefing, then have your agent run agent.briefing.get. A daily briefing combines birthdays, reminders, open tasks, and people you may want to catch up with.

Ask about one person

For a specific conversation, search for the person and use contacts.digest.get with the returned contact ID. memory.search helps find a previous note when you remember the subject but not the exact wording. Search before creating a new contact so the agent does not start a second record for the same person.

A good first request is: “Find my notes about Jordan and help me prepare for our call.” Reading those notes does not authorize sending a message. If you want a draft, ask for a draft; review it before anything goes out.

Keep the model’s tool list manageable

ppl’s default MCP catalog still works with existing clients. Clients that support custom MCP metadata can request a smaller starter catalog:

{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{"_meta":{"ppl/profile":"starter","ppl/page_size":20}}}
Enter fullscreen mode Exit fullscreen mode

Follow nextCursor through the normal params.cursor field. These options shorten the list of tool descriptions; they do not change the token’s permissions. Clients without this extension should keep using the default catalog.

The public task recipes map common jobs to the current tool names. The full schema catalog is available without an account.

When a call fails

A paused installation needs the owner to resume it. A missing scope needs a new authorization, because existing tokens do not quietly gain permissions. A rate limit needs a pause that respects Retry-After. If a write times out, check whether it already succeeded before repeating it.

These are small details, but they decide whether an agent is useful after the first successful demo. The developer guide includes recovery instructions, permission details, and client guides so you can connect once and keep the workflow understandable.

ppl is free during beta for up to 1,000 contacts. Start with a few people, add a note after your next conversation, and ask your agent to find it before the following one.

Top comments (0)