Reference
Tools and data
Every tool Joia gives your AI assistant, what it does, and what data it reads or writes.
MCP address: https://api.getjoia.com/mcp (Streamable HTTP)
Sign-in: OAuth 2.1 with PKCE and dynamic client registration. There are no API keys. See Muse setup.
Joia runs no AI model. Your assistant understands what you say and sends Joia structured details plus your original sentence. Joia checks them, stores them, and returns them with their source.
Available now
| Tool | What it does | Reads | Writes |
|---|---|---|---|
whoamiRead-only | Shows which Joia account the assistant is signed in to. | Your account email | Nothing |
search_peopleRead-only | Finds people by name, description, where they live, what they do, event, date met, date added, or how long since you last talked, and shows why each matched. | Your people, facts, notes, events | Nothing |
list_recent_peopleRead-only | Lists the people you added most recently, with when and how each was added. For questions like “who did I add this week?” | Your people | Nothing |
get_personRead-only | Shows one person’s full profile with evidence for each detail. | One person and their facts, notes, interactions, follow-ups | Nothing |
list_follow_upsRead-only | Lists your follow-ups and commitments: open, done, or both, by due date or person. | Your follow-ups | Nothing |
get_context_for_attendeesRead-only | Before a meeting, your assistant sends the attendees’ names and emails and Joia briefs you on the ones you know: what they do, where you met, last contact, and open follow-ups. Weak matches are marked as possible, not certain. | Your people | Nothing |
create_personWrites | Adds someone you met, with where and when, what they do, who they know, and follow-ups, in one call. Returns possible matches instead of creating a duplicate; with a person_id, adds everything to someone already saved (and logs the meeting if you say where or when). | Your people (to check for duplicates) | A person, their facts, and your original sentence |
update_personWrites | Changes details about a person. Confirmed details are never overwritten unless you explicitly say so; old values are kept as history. | That person | That person’s facts |
delete_personDeletes | Permanently deletes one person and everything attached to them (details, notes, interactions, follow-ups, and your saved sentences only about them). Your assistant must confirm with you first. To delete everything, use your account page. | That person | Removes that person’s records |
import_peopleWrites | Adds several people at once from a contact list you choose to share with your assistant (a CSV or vCard file, a pasted list, or contacts you pick). Imported details are labeled “inferred” until you confirm them. Possible duplicates are not created; your assistant asks you first. Up to 100 per request. | Your people (to check for duplicates) | People, their details, and each contact’s original row |
add_noteWrites | Adds a note to a person, in your own words. | That person | A note and your original sentence |
log_interactionWrites | Records a meeting, call, or message with a person, optionally at an event and with anything you promised during it. Updates when you last talked. | That person | An interaction record, and any follow-ups you promised |
create_follow_upWrites | Creates a one-off follow-up tied to a person. No birthday or recurring reminders. | That person | A follow-up and your original sentence |
complete_follow_upWrites | Marks a follow-up done. If you say what happened (“I sent Dana the deck”), it keeps that as a note on the person, so the result isn’t lost. | That follow-up | Its done status, and a note in your words if you describe what happened |
review_queueRead-only | Gives your assistant a short run of one-question review cards: confirm or fix a detail that isn’t confirmed yet, answer an open question like “Name?”, close an overdue follow-up, or add anything else you remember about someone new. Shows your progress. “Not sure” and “Skip” count the same as “Yes”, so there’s no reward for confirming. | Your people, details, follow-ups, and review progress | Nothing |
answer_review_cardWrites | Saves your answer to one review card, in your own words. Only your own “yes” confirms a detail; your assistant can never confirm details for you. | That card’s person, detail, or follow-up | Your answer, the detail’s label or correction, and your review progress |
merge_peopleChanges records | Joins two records that turn out to be the same person, keeping every detail with its original words, date, and label. Your assistant shows you both records and asks you first. | The two people | Moves everything onto one record and removes the empty duplicate |
remove_detailDeletes | Forgets one detail, connection, or note you say is wrong or stale. Your assistant tells you exactly what will be removed and asks you first. | That person | Removes that one item |
complete_setupWrites | Saves your one-time setup choice: whether Joia is your assistant’s memory for people. | Your account | Your setup choice |
check_contactsWrites, optional | Notices contacts you added to your phone since Joia last checked, so your assistant can ask whether you want to save anything about them. Off until you say yes; you can turn it off on your account page. It can also list the contacts you added most recently, with the date Joia first saw each. Joia keeps only a private, scrambled fingerprint of each phone number or email and when it first saw it, never the names or numbers themselves. | The contact list your assistant sends | Private fingerprints and first-seen dates |
Coming soon
| Tool | What it does | Reads | Writes |
|---|---|---|---|
find_calendar_eventRead-only, optional | Looks up the event where you met someone, if you connected Google Calendar. | Your Google Calendar events (read-only) | Nothing |
Instagram DMs and Messenger (Muse only)
Joia never connects to Instagram, Messenger, or any messaging service. In Muse, you can ask your assistant to go through your own messages, and it saves only what you confirm, through the same tools above, tagged with where it came from. Joia stores the person, how you know them, the facts, and follow-ups, never a full message someone else wrote. A detail can keep one short line from the other person, credited to them (“Garth said: …”) and marked unconfirmed until you confirm it. Screenshots you share work the same way, and the image itself is never sent to Joia. It only happens when you ask, for a time window or event you choose; there is no bulk scanning of your inbox.
- “Go through my Instagram DMs from this week and log anyone I met at the tournament.”
- “Who did I message after the conference that I never added to Joia?”
For AI assistants
Assistants writing their own instructions for Joia can start from Joia’s skill file. See also Muse setup.
Deleting your data
Delete everything Joia holds for you in one step at api.getjoia.com/account. This also disconnects every assistant from Joia.
How Joia labels what it stores
- Confirmed: you said it plainly.
- Unconfirmed: you hedged (“I think”, “maybe”, “not sure”). Joia checks for hedging itself, so this doesn’t rely on the assistant getting it right.
- Inferred: it didn’t come from something you said: for example a contact list you imported, or notes your assistant kept before you used Joia. You can confirm or delete it in a review or on your account page.
Joia keeps your original sentence next to every detail it stores.
What Joia never does
- Read Gmail or any email.
- Write to your phone’s contacts, or to Google Calendar or Contacts.
- Sell your data or use it for advertising.