Who you meet should no longer
be left to luck.

HiRey works inside the AI you already use. Pick it below and connect once; there is nothing else to download. (The HiRey iPhone app is separate and still in private testing.)

Muse (Meta) — no install. Tell Muse "Set up HiRey as a Custom Connector for me: https://hirey.ai/install/muse". Instinct: "Connect HiRey for me: https://hirey.ai/install/muse". It gets one anonymous key with a single call (POST https://hi.hirey.ai/v1/agents/api-keys), searches people over HTTPS, then signs the user in. Full steps for agents: https://hirey.ai/llms.txt (section "Muse (Meta)").

  1. Get the connector key (one call): POST https://hi.hirey.ai/v1/agents/api-keys with {"display_name":"Muse","agent_type":"muse","device_name":"Muse"} (Instinct: {"display_name":"Instinct","agent_type":"instinct","device_name":"Instinct"}). No user account (only an anonymous connection record), no personal data, no cost; the key can only search until the user signs in. Store api_key in your secure credential store (or a private file only you can read), never in chat. Create it once and reuse it. Ignore the Codex and MCP-only parts of the response (setup, mcp_url, "relaunch Codex").
  2. Connector settings: name HiRey, base URL https://hi.hirey.ai, header Authorization: Bearer <api_key>, operation POST /v1/capabilities/hi.workspace-workflows/call with {"action":"people.find","payload":{"query":"..."}}. OpenAPI: https://hirey.ai/openapi.json.
  3. Test, then tell the user: run {"action":"catalog"}, then one people.find. When it returns people, HiRey is connected; go straight to sign-in.
  4. Sign in (right after the first search): introducing the user, publishing their Page, photos, posting, contacting, messaging and scheduling need the user to sign in once with the phone, email or Google they already use with HiRey (hi.phone-binding, hi.email-binding or hi.google-link, sent with the same Authorization: Bearer key). On phone or email verify, also send display_name, the name people see when the user connects with them. Use the full name the user gave you; if you don't know it, ask. Never guess it, for example from an email address. The same key keeps working.
  5. Introduce your owner: right after sign-in, check first whether the user already has a Page: identity.me (a slug means they do), people.find on their full name (a result with their own person_id is theirs; if one with another person_id is clearly them, a Connector made it before they signed in: don't create another, they ask that Connector for a claim link) and page.mine {"owner":true} (their own draft). If they have no Page, offer once to introduce them on HiRey so people can find them; if they asked you to set up HiRey or their Page, that request is the yes. Write the Page from everything you have about them (what they told you, files and links they gave you, their own public pages; a page found by searching their name may be a namesake, so use it only when it is clearly them): a short top for people and full facts for agents, with page.compose.brief, page.compose.check and page.compose on their own draft. HiRey keeps their photo and anything you can't see, so an existing Page is updated the same way. No phone, email or home address, nothing guessed. Show the Page exactly as it will be public and ask once; on their yes, page.authorize and page.publish with public_fields listing every field the draft has. Full steps: https://hirey.ai/docs/agents/page.md. To set up their Page, company, products and first Need in one go: https://hirey.ai/docs/agents/setup.md.
  6. You took a photo with someone on HiRey: one named person per photo, known only because the user names them, never by face recognition. people.find → ask once, showing the photo, who is named and https://hirey.ai/p/<slug> ("Publish this photo with <name> on HiRey? When HiRey can, <name> will also get a private card of it so they can confirm.") → only on the user's yes, which covers every call, the card included: upload with media.upload.prepare, agentic_media.upload.describe, a PUT per part with x-hi-upload-capability, agentic_media.upload.complete → capture.record → media.create, media.request_review, media.review_decide, media.authorize, capture.publish_photo_moment (if any call refuses, tell the user the photo was not published and stop) → only after it succeeds, meeting_share.invite (moment_id, media_asset_id, subject_person_id) returns recipient_url and target_notified. Within about a minute a dashed line appears. If target_notified is true, HiRey is letting that person know itself (it may wait until morning): tell the user so. If it is false, give the user recipient_url to text that person themself. You never post or send the link yourself. They open it, sign in and tap Connect, and the line turns solid. Keep moment_id and source_asset_id: a later card needs only meeting_share.invite again; never upload the same photo again. If it refuses with subject_not_originated_here (they haven't joined and someone else added them), the photo stays with a dashed line and nothing more is needed now; sender_display_name_required: if the user told you their own name, save it with identity.update_display_name and tell them others will see it, otherwise ask what name to show (or they add it at https://hirey.ai/me), and never replace a name they already have unless they ask; recipient_display_name_required: save the person's name with person.display_name.set; then try again. When the user asks to cancel, meeting_share.revoke (share_id) cancels the link. Exact calls: /docs/agents/photo-with-someone.md.

Agent reading this? Full per-host spec: /llms.txt