THE OLIVIER FIELD GUIDE
A guide to your next chapter.
From your first event to running the programme. Find the steps, tools and answers you need.
Getting started
Find your way
One Olivier community, with a workspace for each part of your journey.
Attendees and founders
Use your Olivier email link, or choose Login with Clouds when available to sign in through your Clouds account and return to FindYourSelf. The separate Login with Google button is inactive until Google setup is complete. A new Clouds sign-in asks you to confirm your profile; connecting an existing Olivier account also requires its enrolled authenticator. New accounts automatically receive attendee access to book, pay for and attend events; no administrator needs to assign this role. Staff, host, founder and investor access require a separate grant. Use the email you registered with. My journey takes you to your registrations; Company appears only when Olivier has assigned you to a company.
Staff and investors
Use the staff or investor sign-in screen with your approved work email and enrolled passkey or authenticator. If you choose Login with Clouds, your existing Olivier passkey or authenticator is still required before connecting your account. New staff and investors first need an Olivier invitation and security setup. Creating an attendee account does not grant admin or investor access.
Move between spaces
The Olivier logo returns to the homepage. On inner pages, the dock at the bottom links to your workspace. On a narrow screen, swipe the dock sideways to reach additional destinations. Your available tools depend on your role.
Attendees
Discover, book and join
Find the right room, keep your ticket close and continue the conversation.
Find an event
Open Explore events. Select a city card or Choose city, then narrow the list with In person or Online, search, event/class type and the free filter. Hybrid events appear in either attendance format. Online results include events you can join from anywhere.
Remember your city
Choose Remember city on this device to save your selection in this browser. Clear city removes the saved preference; Reset filters clears the other filters too. The city filter does not ask for GPS access; another device or browser has its own preference.
Register and check your status
Open an event to read its date, time zone, location, admission details and recording notice. Follow the registration, approval, waitlist or checkout action shown. A pending payment, approval or waitlist is not a confirmed place. Review every session when booking a class.
Find your QR ticket
Open My journey → My events. Eligible upcoming registrations show their QR code on the list. For a class, open All session tickets to find another session’s ticket. Show your ticket to the check-in team; keep it private.
Join online and watch replays
Return to the event page while signed in with the registered email. Confirmed, eligible attendees see the join link near the event time. Embedded video, chat and published replays appear when the organizer has enabled and configured them. A missing replay does not mean a recording has been published.
Meet people and manage your booking
Open the attendee list on an event you are attending, choose a profile and request an introduction when the person allows it. In Profile, choose open, limited (with your conditions), or no introductions. Open your registration to manage or cancel it. If the organizer cancels, they choose the applicable refund or account credit for each attendee; credits appear in Profile.
Founders
Build your company’s story
Share progress in your own words, with control over who sees it.
Open your company
Choose Company in the dock, then select your company. Use Profile and Team to review company details and available team controls. If Company is missing, ask Olivier to check the email and company membership assigned to your account.
Write an update
Start from Updates. Enter the reporting period, the figures you know, your highlights, challenges and asks. Review before publishing. Published updates preserve their history. Ask Olivier for help correcting a published value. Do not fill unknown values with invented estimates.
Manage materials and sharing
Use Materials for company documents and decks. Review the audience shown for each section before publishing. Company admins manage investor visibility and blocked firms in Settings, and can withdraw visibility. Complete security verification when asked. Use the investor preview where offered to check what is visible.
Follow introductions and programme activity
Intro requests and Programme history keep those workflows beside your updates. Office Hours is available from the main dock when signed in; open a slot to check eligibility and availability before booking.
Investors
Explore with permission
Company information is shared by invitation and under a company’s disclosure choices.
Accept your invitation
Use the invitation sent to your approved email, review the terms and complete the requested passkey setup. An event ticket does not create an investor account. If the invitation has expired, ask Olivier for help.
Browse shared companies
Use Companies to open the directory and a company profile. You see only material covered by an active disclosure grant. Company figures are founder-reported and should be read with their reporting date. A company or document may disappear when access expires or is withdrawn.
Request an introduction
Use the introduction action on an eligible company and explain the reason for connecting. Olivier brokers the request; founder contact details are not shared automatically. Use Events for eligible sessions and Settings for account controls and sign-out.
Admins & hosts
Run the Olivier studio
The same event operations, organized in the new Studio layout. Access follows your assigned role.
Create an event or a class
From Calendar, choose New event, New class or New Office Hours slots. Set the title, description, time zone, schedule, visibility, hosts, capacity and admission options. For a class, enter its individual sessions, including each day’s start and end. Review the schedule before publishing.
Configure attendance and media
Choose in person, virtual or hybrid. Add venue information for physical attendance and a video link for virtual attendance. Configure recording and its participant notice when available. Test with an eligible attendee before the event; selecting an option alone does not verify the media service.
Manage registrations and check-in
Open an occurrence to review its roster, pending approvals and attendance. Use the check-in screen to scan a ticket’s QR code. Allow camera access when prompted, or use the manual option. Hosts have restricted roster information and do not receive attendee emails.
Cancel with a clear outcome
Open the event’s cancellation workflow, review the affected registrations and select refunds or account credits, including per-attendee choices. Check the resulting status and any failures. Do not describe an attempted refund as completed until the payment result confirms it.
Companies, introductions and investors
Use Companies for programme records, Intro queue for brokered requests and Investors for invitations and access. Tools appear according to your permissions. Sensitive changes may require a fresh passkey or authenticator check.
Settings and sign-out
Settings contains organization controls, with Payments and Communications for supported connections. Owners can connect Stripe and configure Twilio or SendGrid where available. Check connection status and use only authorized test recipients when testing. Choose Sign out in the upper-right header to end your admin session.
Display & accessibility
Make yourself comfortable
Choose a comfortable view without changing anyone else’s experience.
Animation and motion
Pause the moment stops homepage animation; Let it move resumes it. Your device’s reduced-motion preference takes priority.
Default design
Find Your Self uses its default design throughout the app. Theme and color customization are currently unavailable. Use browser zoom for larger text; your device’s reduced-motion preference is respected.
Keyboard and mobile
Use Tab to reach links and controls, and Skip to content to pass repeated navigation. On smaller screens, scroll the bottom dock horizontally if needed. Browser zoom remains available; dates include time-zone information so you can check the event’s local time.
Troubleshooting
When something gets in the way
Start with the account and event details before trying again.
No sign-in email or an expired link
Check the email address you entered and your spam folder. Request a fresh link and use the newest one. Staff and investors must use their approved address. Never send anyone your sign-in link, passkey, authenticator code or recovery secret.
No ticket, meeting link or company
Make sure you are signed in with the email used for the registration or invitation. Check registration status, event time and cancellation status. A waitlisted or unpaid registration may not have access. If the page reports a loading error, use its retry action.
Contact Olivier
Share the page URL without private tokens, the action you tried, the time it happened and the error message. A screenshot can help if you hide personal details, QR tickets and credentials. If you are using a preview, sample data and mock services do not confirm that email, SMS, payments or live media work on staging.
DEVELOPER GUIDE
JSON & GraphQL API
Start with a working request, then explore the complete contract. The application sends GraphQL operations in JSON request bodies and returns JSON responses.
Choose the right endpoint
POST /graphqlon the API service. Local development useshttp://localhost:4100/graphql; ask the operator for a deployment’s API endpoint.POST /admin/graphqlon the application’s own origin is its existing proxy. Despite the path name, it forwards requests and the existing session; the API still checks every operation’s role.
Send Content-Type: application/json and one named operation per request. The JSON envelope has operationName, query and variables. Cross-origin browser access is not implied by these examples.
Try a public request with cURL
This query reads branding information and does not require a cookie. Save a different example body as request.json and use --data-binary @request.json to send it.
# Local development: the API listens on port 4100.
# For a deployment, use the API endpoint supplied by its operator.
API_URL='http://localhost:4100/graphql'
curl --fail-with-body --request POST "$API_URL" \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"operationName": "DocumentationOrganizer",
"query": "query DocumentationOrganizer { organizer { name timezone } }",
"variables": {}
}
JSONCall from the signed-in application with JavaScript
Use this helper inside the Olivier application, on its own origin. It checks both the HTTP status and GraphQL errors, including responses with HTTP 200. It does not grant an external application a login session.
// Browser code running inside the Olivier application, on its own origin.
// This forwards the existing session; it does not create an external API credential.
async function requestGraphQL(request, idempotencyKey) {
const response = await fetch('/admin/graphql', {
method: 'POST',
credentials: 'same-origin',
cache: 'no-store',
headers: {
'Content-Type': 'application/json',
...(idempotencyKey ? { 'Idempotency-Key': idempotencyKey } : {}),
},
body: JSON.stringify(request),
});
const result = await response.json();
if (!response.ok || result.errors?.length) {
const code = result.errors?.[0]?.extensions?.code ?? 'HTTP_' + response.status;
throw new Error(code); // Handle sign-in, permissions or validation in the UI.
}
return result.data;
}
const organizer = await requestGraphQL({
operationName: 'DocumentationOrganizer',
query: 'query DocumentationOrganizer { organizer { name timezone } }',
variables: {},
});
// For an @idempotent mutation, create one key when the user confirms an action.
// Retain that key for retries of the exact same request; new action = new key.
// const key = crypto.randomUUID();
// const result = await requestGraphQL(registrationRequest, key);Request examples
The examples below are validated against the shipped schema. IDs and dates are illustrative; use your own authorized synthetic records while testing. They are not live delivery or production acceptance evidence.
Read public organizer details
Public query
No sign-in required. The returned timezone is the organizer’s IANA timezone.
{
"operationName": "DocumentationOrganizer",
"query": "query DocumentationOrganizer { organizer { name timezone } }",
"variables": {}
}List events with cursor pagination
Public query
Choose a date range and a page size from 1 to 100. Replace these sample dates with your desired range. Send pageInfo.endCursor as after for the next page, preserving the range, until hasNextPage is false.
{
"operationName": "DocumentationEvents",
"query": "query DocumentationEvents($range: DateRangeInput!, $first: Int!, $after: String) {\n publicEvents(range: $range, first: $first, after: $after) {\n edges { cursor node { id title startAt endAt timezone locationType venueCity } }\n pageInfo { endCursor hasNextPage }\n }\n}",
"variables": {
"range": {
"from": "2026-11-01T00:00:00Z",
"to": "2026-12-01T00:00:00Z"
},
"first": 20,
"after": null
}
}Read your registered events
Attendee, founder or company admin session
Run inside the signed-in application. The server returns only the caller’s registrations. A staff-only or investor session does not grant this query.
{
"operationName": "DocumentationRegistrations",
"query": "query DocumentationRegistrations($first: Int!, $after: String) {\n myRegistrations(first: $first, after: $after, includePast: false) {\n edges { cursor node { id status series { title } occurrence { id startAt timezone } } }\n pageInfo { endCursor hasNextPage }\n }\n}",
"variables": {
"first": 20,
"after": null
}
}Register for an event
Mutation · changes data · Idempotency-Key required
For a signed-in attendee, founder or company admin testing a synthetic event. Replace occurrenceId with an actual event ID; add ticketTierId and answers when required by that event. This can create a seat hold, waitlist entry or registration. A paid registration still requires checkout; do not treat registration as payment success. Show the user a confirmation before submitting.
{
"operationName": "DocumentationRegister",
"query": "mutation DocumentationRegister($input: RegisterInput!) {\n register(input: $input) {\n registration { id status payment { status amountCents currency } }\n existing\n holdExpiresAt\n }\n}",
"variables": {
"input": {
"occurrenceId": "0190a0a0-0000-7000-8000-000000000001",
"attendeeListOptIn": false
}
}
}Responses and pagination
A successful query returns data. This is an illustrative response to the organizer example:
{
"data": {
"organizer": {
"name": "Olivier",
"timezone": "Europe/Zurich"
}
}
}Connection results contain edges and pageInfo. Keep cursors opaque: pass the returned endCursor as after, keep the same filters, and stop when hasNextPage is false. The public-events page size defaults to 50 and accepts 1–100; date ranges use an inclusive start and exclusive end, with a maximum span of 13 months.
DateTime values are UTC instants ending in Z. Render them with the returned IANA timezone; do not treat LocalDateTime as UTC. Monetary amounts ending in Cents are integer amounts in the associated currency.
Permissions, errors and retries
The reference shows each operation’s @auth roles and any @idempotent, @stepUp or rate-limit directives. A listed role does not bypass record ownership, consent or disclosure rules. Investor sessions can execute only reviewed persisted operations; these sample queries are not investor-allowlisted operations. Production introspection and GraphiQL remain disabled.
{
"errors": [
{
"message": "Sign-in is required.",
"extensions": {
"code": "UNAUTHENTICATED"
}
}
]
}Error text above is illustrative. Branch on extensions.code, not the message. Treat partial data cautiously when errors is present.
UNAUTHENTICATED/MFA_REQUIRED/STEP_UP_REQUIRED: return the user to sign-in or security verification. Staff and investor MFA still applies.FORBIDDEN: the caller lacks access. A private resource may instead returnnullto avoid disclosing its existence.VALIDATION_FAILED: correct the inputs; do not retry unchanged.Idempotency-Keyis required for@idempotentmutations. Use 1–255 visible ASCII characters, such as a UUID. Keep the same key and exact payload for a retry of one action; a new action needs a new key.IDEMPOTENCY_KEY_REUSEDmeans the payload changed.- Respect HTTP 429 and any retry guidance. Batching is disabled; depth, complexity and per-role limits apply. Never blindly repeat an uncertain mutation with a fresh key.
- Keep personal responses private: no shared caches, credential logging or public recording URLs.
See all error codes, roles, permission directives and date-range input in the full reference.
Keep integrations aligned with a release
The downloadable SDL and browsable reference are generated from apps/api/schema.graphql. The reference displays its SHA-256 so you can identify the contract you used. After a schema change, developers run pnpm codegen and pnpm docs:api; CI rejects stale documentation. Investor-operation changes also require pnpm persisted:build and review.
AGENT INTEGRATIONS
Connect your agent to FindYourSelf
Explore public events with your preferred assistant, build an integration, or have a Clouds agent swarm prepare a checked event shortlist. Start with the same documented API contract.
Choose your tool
Extract the download into an agent-kit folder in your integration workspace. It includes a portable SKILL.md, request examples, the complete GraphQL schema, installation instructions and a manifest with SHA-256 hashes. Review files before installing them and preserve your existing project instructions.
OpenClaw
Copy findyourself-api into your OpenClaw workspace’s skills folder. Run openclaw skills check, then ask to use the FindYourSelf API skill.
Official OpenClaw format guide ↗Claude Code
Copy findyourself-api into .claude/skills/ in your integration project. Invoke /findyourself-api. Keep the references folder with the skill.
Official Claude Code format guide ↗ChatGPT & Codex
For Codex, copy findyourself-api into .agents/skills/ and invoke $findyourself-api. For a ChatGPT Project, use the included project instructions and attach the public reference files. Where local skills are supported, load the folder through your environment’s skill workflow. A chat without an HTTP or terminal tool can prepare requests and analyze supplied JSON; uploading instructions alone does not create a connection.
Official ChatGPT & Codex format guide ↗Cursor
Keep the extracted folder at agent-kit/ in your project. Copy adapters/findyourself-api.mdc into .cursor/rules/ and mention @findyourself-api.
Official Cursor format guide ↗Gemini CLI
Copy findyourself-api into .gemini/skills/. Run /skills reload and /skills list, then ask Gemini to use it for your event discovery task.
Official Gemini CLI format guide ↗GitHub Copilot
Keep agent-kit/ in your project. Copy the included .instructions.md adapter into .github/instructions/ and adjust its applyTo patterns to your integration’s files. Ask Copilot to read the linked skill.
Official GitHub Copilot format guide ↗Other coding agents can read the portable skill directly. Link it from your existing agent instructions. This download is an instruction kit, not a published ChatGPT plugin or a new authentication service. Format references were checked on 6 October 2026.
A first prompt
Use the FindYourSelf API skill to find public events in Zurich
for November 2026, including virtual events.
Use the API endpoint supplied by our operator: [your endpoint].
Show event-local times, event IDs and source evidence.
Say whether you read every page. Do not register or contact anyone.Replace the city, dates and endpoint for your task. The API’s city is an output field; the skill filters results locally. Examples handle HTTP failures, GraphQL errors and cursor pagination, and distinguish incomplete results from an empty catalogue.
Alternate Clouds agent swarm
The included walkthrough connects a public API snapshot to three agents in sequence. The researcher identifies matching events, the planner proposes a shortlist, and the verifier checks every factual claim against the original evidence. Their output goes to you for review.
- Create a new swarm project and the three agents using the commands in the kit.
- Install the shared skill and the supplied personas; keep their tool permissions empty.
- Fetch public events with the included JSON request, check for errors and record pagination completeness.
- Review that input, choose your Clouds model and spending limits, then run the swarm.
# After the kit's setup and public-data preparation steps:
acc skills test findyourself-api
acc swarms show event-plan
acc run event-plan --input-file public-events-input.json --jsonThe complete setup, cURL/jq preparation, synthetic sample and remote-run example are in alternate-clouds/README.md inside the download. The walkthrough follows the current Clouds CLI contract (1.8.1 source). Check your installed command help first. A configured runtime and model are prerequisites; inference may incur charges. No infrastructure is deployed by downloading the kit, and a Clouds token does not sign you into FindYourSelf.