New to Mayetik? Start with the tutorial guide before using this reference. The tutorial covers all three roles with step-by-step exercises.
Mayetik is an interview-driven knowledge capture system. Admins build structured interviews, invite participants, and collect answers. Participants complete interviews and receive AI-generated knowledge briefs summarising their responses.
Mayetik uses a layered role system. Each layer is independent — a person can be an Org Admin and a participant in a specific project at the same time.
| Role | Scope | What they can do |
|---|---|---|
| System Admin | Whole platform | Create and manage organizations, projects, and users. Access all audit logs. |
| Org Owner | One organization | Everything an Org Admin can do, plus manage other org owners/admins. |
| Org Admin | One organization | View the org dashboard and member list, invite org members, create projects, view the org audit log. |
| Project Owner | One project | Everything a Project Admin can do. The "owner" role is assigned when the project is created. |
| Project Admin | One project | Build and publish interviews, manage questions, send invitations, manage project members, view responses and audit log. |
| Participant | One or more interviews | Complete assigned interviews and view their own knowledge briefs. Can also access Ask Mayetik if a Project Admin/Owner grants them Insights access. |
Dashboard redirect: When you sign in, Mayetik sends you directly to the right place:
/admin/projects/interviewsNavigate to /auth/signin.
Two sign-in methods are available:
Click Sign in with Google and complete the OAuth flow. You will be redirected to /dashboard on success.
Enter your email address and click Sign in with Email. A sign-in link will be sent to your inbox. Click the link to authenticate — no password required.
Self-serve sign-up: New accounts are created automatically on your first sign-in — no invitation required. You receive a 30-day trial with up to 100 interview responses and full access to every feature. If you were invited to a specific project or organization, accept the invitation link before signing in so the membership is linked to your account.
Plans: After the trial, two paid plans are available — Team and Pro. To upgrade, email hello@mayetik.com or visit /upgrade. A trial status banner at the top of every page shows how many days and responses remain on your current trial.
Language accessibility: A Translate button in the bottom-left corner of every page opens a language picker (Spanish, Portuguese, French, German, Italian, Punjabi) and displays the current page via Google Translate in a new tab.
System Admins access the admin area at /admin. Only users with the admin system role can reach these pages.
List page (/admin/organizations)
Shows all organizations in two tabs: Active and Archived. Each row shows the org name, description, and creation date. Actions available:
Create an organization (/admin/organizations/new)
Fill in:
owner role in the new orgOrg detail page (/admin/organizations/[orgId])
From here you can:
Owner or Admin roleList page (/admin/projects)
Shows all projects in Active and Archived tabs. Actions:
/projects/[projectId]Create a project (/admin/projects/new)
Fill in:
owner role in the new projectProject detail page (/admin/projects/[projectId])
Allows editing the project name and description, and changing the project owner. Changing the owner demotes the current owner to admin and promotes the selected user to owner (upserting their project membership if needed).
List page (/admin/users)
Shows all registered users with their system role. You can change any user's system role using the dropdown in each row. You cannot demote your own account — attempting to do so redirects to the users page with an error.
Available system roles:
user — standard role (no admin access)admin — full system admin accessAvailable at /admin/audit. Shows every auditable event across all organizations and projects, most recent first. See Section 8 — Audit Log Reference for full details.
Org Owners and Org Admins can access the org section at /orgs/[orgId]. System Admins also have access to all org routes.
The org dashboard (/orgs/[orgId]) shows:
Navigation buttons in the top right:
The members page (/orgs/[orgId]/members) shows the full list of org members with their name, email, role, and join date.
To invite a new member, fill in the Invite Member form at the top of the page:
Owner or AdminAn invitation email is sent with a link valid for 7 days. The invitee must accept the invitation to join the org. If they don't have a Mayetik account yet, they'll be prompted to sign in or create one via the invitation link.
Duplicate check: if a pending or accepted invitation already exists for that email, the form will show an error.
From the org dashboard, click New Project. You'll be taken to /orgs/[orgId]/projects/new.
Fill in:
You (the org member creating the project) are automatically assigned as the project owner.
The org audit log (/orgs/[orgId]/audit) shows all events scoped to this organization and its projects. This includes:
Use the filters at the top to narrow by action, target type, or date range. Results are paginated 20 per page.
See Section 8 — Audit Log Reference for the full list of action types.
Project Owners and Project Admins access the project section at /projects/[projectId]. System Admins also have full access to all project routes.
The project dashboard (/projects/[projectId]) shows:
Interview list (/projects/[projectId]/interviews)
Shows all interviews for the project with their status badge. Click View to open an interview's detail page. Click New Interview to create one, or use Import from JSON to create an interview from a file (see below).
Interview statuses:
| Status | Meaning |
|---|---|
draft | Being built. Participants cannot see or start it. |
published | Live. Participants can start and complete the interview. |
closed | No longer accepting new sessions. Existing sessions can still be viewed. |
Status transitions (on the interview detail page):
draft → published — requires at least one active questionpublished → closedclosed → published — reopens the interviewInterview detail page (/projects/[projectId]/interviews/[interviewId])
Sections on this page:
Stakeholder group: an optional label (e.g. Engineering, Product, Customers) that identifies which group of stakeholders this interview targets. The stakeholder group is used by Project Synthesis to organise findings by group and surface convergent/divergent themes across groups.
Language: sets the language used throughout the participant's experience for this interview. When a language other than English is selected, the following are localised to that language: the participant session UI (buttons, validation messages, headings), the read-aloud TTS voice, the AI-generated knowledge brief, and the invitation email sent to participants. Currently supported: English (en) and Spanish (es). The language can be changed at any time on the Details tab; existing sessions and briefs are unaffected until regenerated.
Importing an interview from JSON
Below the New Interview form on the interview list page is an Import from JSON section. Upload a .json file and click Import to create a complete interview — title, description, questions, and branch rules — in one step. The interview is always created as a draft; publish it manually when ready.
Two file formats are accepted:
/help/guide#import or expand the Format reference panel inline on the import page.pages array. Question types are mapped to Mayetik equivalents (text/comment → text, radiogroup/dropdown → multiple_choice, checkbox → multi_select, rating → rating_scale, boolean → yes_no). Unsupported types are skipped with a warning. visibleIf expressions are not converted — add branch rules manually after import.Three ready-made templates are available via the Download template button and the links in the Format reference panel:
| Template | Description |
|---|---|
interview-template.json | Full 15-question annotated example covering all 16 question types |
simple-survey.json | Minimal 3-question survey — good starting point |
branching-survey.json | Example with multiple branch rules and condition types |
If validation fails, a specific error is shown inline — no interview is created. Common causes: duplicate title within the project, missing order: 1, targetOrder referencing a non-existent question, or missing options for types that require them (multiple_choice, rating_scale, slider, multi_select, ranking).
Browsing and cloning community templates
Below the Import from JSON section on the interview list page is a Browse Templates section. Click to expand it and browse two tabs:
Each template card shows the title, description (if any), estimated completion time, and category. Click Use this to clone the template into the current project as a new draft interview, pre-populated with all the template's questions, types, hints, and options. You can then edit, extend, and publish it like any other interview.
To submit one of your own interviews as a community template, open the interview detail page → Details tab → Submit as template (available on published interviews only). System admins review and approve or reject submissions. Approved templates appear immediately in the Community tab.
Interview Studio is an AI-assisted design tool for draft interviews. It generates a full interview structure — questions, types, hints, and branching logic — from a plain-language description of your research goal. You can then refine the design through follow-up chat before applying it to the interview.
How to access
Open any interview that is in draft status and click the Studio ✦ tab. (The tab is hidden once an interview is published or closed.)
Generating a design
Example prompt: "I want to understand why engineers are leaving. Interviewees are senior engineers who recently resigned. I want to learn about compensation, management, and career growth — keep it under 10 minutes."
Refining the design
Type a follow-up message to make changes:
Each response updates the full design in the right panel. The chat history is included in every request so Interview Studio maintains context across turns.
Applying the design
Once you are satisfied with the design, click Apply to interview. This:
If the interview already has questions, a confirmation dialog shows how many will be replaced before proceeding.
After applying, you are redirected to the Questions tab with a "Changes saved" banner. From there you can make manual adjustments, add more questions, or publish the interview immediately.
Supported question types
Interview Studio supports 8 types: text, short_text, multiple_choice, multi_select, yes_no, rating_scale, slider, and number. You can edit questions manually to use any of the 16 full question types after applying.
Tips for better results
Before publishing, run an AI-powered readiness review on any interview to get a scored quality assessment across 8 design criteria.
How to access
Open any interview and click the Readiness tab (available on draft, published, and closed interviews).
Running a review
Click Run readiness review. Mayetik sends the interview's questions, branch rules, and metadata to the AI and returns a report in a few seconds. Click Re-run review at any time to get a fresh assessment — each run generates a new report.
What the report shows
| Section | What it assesses |
|---|---|
| Overall score | A 0–100 score with a status badge: Ready (≥ 80), Needs edits (50–79), High risk (< 50) |
| 8 section scores | Detailed findings for each criterion (see below) |
| Issues | A prioritised list of problems (High / Medium / Low), each with a description and suggested fix |
| Suggested questions | New questions the AI recommends adding, with a copy-to-clipboard button |
The 8 criteria:
| Criterion | What it checks |
|---|---|
| Audience Fit | Does the interview match its intended audience? |
| Goal Coverage | Does it capture pain, urgency, current process, alternatives, and blockers? |
| Branch Logic | Are conditional follow-ups correct for both answer paths? |
| Low-Fit Detection | Can the interview distinguish target respondents from adjacent ones? |
| Summary Readiness | Will answers produce enough material for a useful AI brief? |
| Admin Usefulness | Will responses support segmentation, synthesis, and follow-up? |
| Tone & Privacy | Is the language appropriate for the audience's sensitivity? |
| Length & Friction | Is the interview appropriately sized? Are there likely abandon points? |
Notes:
Adding a question
In the Questions section of the interview detail page, fill in the question form:
Click Add Question to save.
Question types
| Type | What participants see | Admin options |
|---|---|---|
Text | Multi-line text box | — |
Short Text | Single-line text input | Pattern preset, max length, placeholder |
Multiple Choice | Radio buttons for one selection | List of options (Add / Remove) |
Yes / No | Two-option toggle (Yes / No) | — |
Multi-Select | Checkboxes for multiple selections | List of options |
Rating Scale | Number scale selector | Min value, max value, step |
Number | Numeric input field | — |
Slider | Drag slider | Min value, max value, step |
Date | Date picker | — |
Time | Time picker | — |
Email | Email-validated text input | — |
Address | Five-field US postal address form | Show/require Street 2, require City/State/ZIP, USPS verification |
Signature | Typed name with handwriting font | — |
File Upload | File chooser | — |
Location | Location input | — |
Ranking | Drag-to-rank list | List of items |
Short Text options
When creating or editing a Short Text question:
Address options
When creating or editing an Address question:
verified: false). When USPS credentials are not configured, verification is silently skipped.Signature options
The Signature type captures a typed electronic signature with a timestamp. No additional options are required. Participants:
The submitted answer stores the name, the internal font key, and an ISO 8601 timestamp captured at the moment the participant clicked Next. Signatures have the same legal standing as typed names; they do not produce a cryptographic signature.
Editing a question
Click the Edit button next to any question. The form pre-fills with the existing values. Click Save Changes to update.
Reordering questions
Use the ↑ and ↓ buttons beside each question to move it up or down in the sequence.
Deleting a question
Click Delete beside a question. This is a soft delete — the question is hidden from participants but its existing answers are preserved in the database.
The invitations page (/projects/[projectId]/invitations) has two invitation forms and a sent invitations log.
Use the Invite Project Member form:
Owner or AdminThe invitee receives an email. When they accept, they are added to the project with the specified role. If they already have a lower role (e.g. participant), the upsert will promote them to the invited role.
Use the Invite Participant form:
The invitee receives an email with a link to the specific interview. When they accept, they receive:
InterviewMembership (participant role) for the specific interviewProjectMembership (participant role) for the projectParticipants can only be added via interview invitations. The project member form only creates owner/admin roles.
The Sent Invitations table shows all invitations (interview-type and project-type) with their status.
The members page (/projects/[projectId]/members) lists all people who have a project membership, with their role and join date.
Changing a member's role
Only non-owner, non-self rows have the role change control. To change a role:
Admin or Participant)The project owner's role cannot be changed from this page. To transfer project ownership, a System Admin can use /admin/projects/[projectId].
Removing a member
Click Remove on any non-owner, non-self row. A confirmation dialog warns that the action is permanent and cannot be undone. Click Remove member to confirm.
Note: Removing a member does not revoke their pending invitations. Revoke any open invitations on the Invitations page separately if needed.
Mayetik has two response views: a cross-interview overview for the whole project, and a per-interview detail page.
/projects/[projectId]/responses)Shows every session across all interviews in the project. Four summary stats are shown at the top: total completed, in-progress, active interviews, and last activity date.
Filters: narrow by interview, status (completed / in progress), respondent name/email, and date range.
Columns: Interview (links to the session detail and to "all responses" for that interview), Respondent, Status (with inline brief status), Answers, Date/duration, and a test-session toggle button. Use the Columns button (gear icon) to show, hide, and reorder columns — preferences are saved per browser.
Test sessions: sessions marked as test are shown at reduced opacity. Toggle "Show test sessions" to include or hide them.
/projects/[projectId]/interviews/[interviewId]/responses)Shows all sessions for a single interview.
Summary stats: total, completed, completion rate, and last response date.
Tag filter: filter sessions by their signal label (High signal, Low fit, Needs follow-up, etc.) to quickly focus on a subset.
Sessions table: lists every participant session. Use the Columns button to customise which columns are visible and their order (Respondent, Email, Status, Label, Answers, Duration, Date). Click Open → on any row to open the full session detail on a separate page.
Tagging sessions
Each session can be manually tagged with a signal label from the session detail page. Tags help you triage responses before running analysis — filter to "High signal" sessions, then trigger synthesis on that subset.
| Tag | When to use |
|---|---|
| High signal | Strong match: the participant fits the target audience and their answers are detailed and specific |
| Low fit | The participant doesn't match the target audience |
| Audience mismatch | The participant came from the wrong channel or cohort |
| Test/mock | Internal test session — exclude from synthesis and analytics |
| Strong objection | The participant expressed a significant challenge or resistance |
| Strong buying signal | The participant showed clear interest or intent |
| Needs follow-up | The answers warrant a follow-up conversation with this participant |
CSV export: when at least one session is completed, an Export CSV button appears in the page header. The download includes one row per session with columns for respondent, email, date, duration, and every interview question.
Marking test sessions: each row has a Mark as test / Unmark test action that toggles the session's test flag without deleting it. Test sessions are excluded from analytics and synthesis by default.
Below the sessions table, three collapsible AI analysis cards appear once enough sessions exist. Each card can be expanded or collapsed independently; the state persists across page reloads.
| Card | Minimum requirement | What it produces |
|---|---|---|
| Thematic Analysis | 2 completed sessions | A numbered list of common themes drawn from all session briefs |
| Interview Synthesis | 2 completed sessions | Structured prose synthesis: overview, key findings, patterns, outliers, recommendations |
| Action Plan | 1 completed thematic analysis | 5–7 prioritised actions with Why / What to do per action |
Click Analyse (or Generate) to trigger a card. Click Retry if a previous run failed. Each card shows when it was last generated and the number of sessions it was based on.
When at least one brief is indexed for the interview, an Ask Mayetik card appears above the analysis panel. It works identically to the project-level Ask Mayetik, but queries are scoped to this interview's briefs only.
Click Suggest questions → to generate AI-suggested starting points specific to this interview's content. Clicking a suggestion pill immediately submits it — no extra click needed. Source citation links in the answer navigate directly to the relevant session detail.
/projects/[projectId]/interviews/[interviewId]/responses/[sessionId])Click Open → on any session row to view its full detail:
Admin completion notifications
When a participant completes an interview, every Project Owner and Project Admin for that project receives an email notification containing:
No configuration is required — notifications fire automatically for all completed sessions. They cannot currently be toggled per user.
Participant brief-ready email
After a participant completes an interview and their knowledge brief is generated, they receive a separate email ("Your knowledge brief is ready") with a link to view it. This email is sent only to authenticated (logged-in) participants — anonymous public questionnaire respondents do not receive a brief email. Brief generation typically completes within 30 seconds of session completion.
The project audit log (/projects/[projectId]/audit) shows all events scoped to this project — interviews, questions, members, invitations, and briefs. System Admins and Project Owners/Admins can access it.
Filterable by action, target type, and date range. Paginated 20 per page.
Adaptive questioning allows an interview to take different paths depending on a participant's answers. It is configured via branch rules on individual questions.
Branch rules
A branch rule specifies that when a participant answers a given question and their answer satisfies a condition, they are routed to a target question instead of proceeding to the next question in the default sequence. Rules are evaluated in priority order (ascending integer — lower number runs first). If no rule matches, the participant advances to the next question in the default sequence.
Each branch rule has the following fields:
| Field | Description |
|---|---|
| Source question | The question this rule is attached to |
| Condition type | The comparison to apply (see supported values below) |
| Condition value | The value to compare the participant's answer against |
| Target question | The question to route to when the condition is true |
| Priority | Integer determining evaluation order; lower runs first |
Supported condition types (ConditionType enum):
| Value | Meaning |
|---|---|
equals | Answer exactly matches the condition value |
not_equals | Answer does not match the condition value |
less_than | Answer is numerically less than the condition value |
less_than_or_equal | Answer is numerically less than or equal to the condition value |
greater_than | Answer is numerically greater than the condition value |
greater_than_or_equal | Answer is numerically greater than or equal to the condition value |
contains | Answer text contains the condition value as a substring |
not_empty | Answer is present and non-blank |
is_empty | Answer is absent or blank |
Terminal questions (isTerminal field on Question)
When a question has isTerminal = true, the interview ends immediately after the participant answers it — regardless of how many questions remain in the default sequence. This is useful for early-exit paths, such as a screening question that determines the remainder of the interview is not applicable.
The isTerminal flag is set in the question editor using the "Mark as terminal question" checkbox.
The Project Synthesis page (/projects/[projectId]/synthesis) generates a cross-interview analysis that brings together findings from all stakeholder groups into a single strategic document.
Triggering a synthesis
Click Generate new synthesis. The button is enabled only when at least 2 completed interview syntheses exist for the project. If fewer exist, a message explains the requirement.
Once triggered, the page shows a "Generating…" state. The AI runs in the background. Refresh the page (or wait for the automatic poller) to see the result.
What the synthesis contains
The generated document has five sections:
| Section | What it covers |
|---|---|
| Per-Group Summaries | A brief summary of each stakeholder group's interview synthesis |
| Convergent Themes | Ideas, concerns, or needs that appear across multiple groups |
| Divergent Findings | Points where groups have conflicting or incompatible views |
| Gaps and Blind Spots | Topics mentioned in some groups but absent in others |
| Action Plan | Prioritised recommendations with What / Why / Who / Impact for each item |
Synthesis history
Every synthesis run is preserved. The History section at the bottom of the page lists all past runs with their date and status. Click View on any completed entry to read that specific version.
Failure and retry
If synthesis generation fails, an error message is shown with a Retry button. Clicking Retry creates a new synthesis run — the failed record is preserved in the history.
The Public questionnaire mode lets an interview collect responses from anyone with a shareable link — no account, no invitation, no login required. It is designed for low-friction data collection such as open surveys, event feedback forms, and intake forms where requiring registration would cause abandonment.
Enabling public mode
A unique share link (/q/[token]) is generated and displayed in a read-only field. Click Copy link to copy it to the clipboard. The interview list shows a Public badge next to the interview title.
Disabling public mode
Untick the Public questionnaire checkbox and click Save. The existing share link is immediately invalidated — anyone visiting the old URL sees a "Link no longer active" page. In-progress anonymous sessions that have already started can still be submitted by those who have the session open, but new sessions cannot be started.
How respondents use the link
Respondents open the share link in any browser — no sign-in required. On first visit, an anonymous session identifier is set in a browser cookie (mayetik-anon-id). This cookie is used to:
InterviewSession linked to the cookie value (not to a user account)A respondent who clears their cookies or switches to a different browser starts a new independent session.
Completion and knowledge brief
On completing the questionnaire, respondents see a completion screen. A knowledge brief is automatically generated in the background. Anonymous respondents cannot manually regenerate the brief (the Regenerate button is not shown) — they see the auto-generated content only.
Viewing anonymous responses
Anonymous sessions appear in the responses dashboard (/projects/[projectId]/interviews/[interviewId]/responses) with Anonymous in the Name column and — in the Email column. The session detail panel shows "Anonymous respondent's answers." All other features (answer detail, metadata sidebar, brief link) work identically to authenticated sessions.
Limitations (v1)
| Limitation | Notes |
|---|---|
| No spam protection | Anyone with the link can start unlimited sessions (a new cookie = a new session). |
| Brief visible on completion only | Anonymous respondents cannot return to view their brief after closing the tab. |
| No respondent identity | Sessions are attributed to "Anonymous" unless the interview contains an email/name question. |
| Synthesis includes anonymous sessions | Interview and project synthesis both include anonymous responses automatically. |
Ask Mayetik (/projects/[projectId]/ask) is a natural-language query interface that lets you ask questions across all completed interview briefs in the project and receive a cited answer synthesised by AI. It turns the project's accumulated knowledge into a searchable resource.
Who can access Ask Mayetik
| Role | Access |
|---|---|
| Project Owner | Always — no extra steps |
| Project Admin | Always — no extra steps |
| Participant | Only if a Project Admin/Owner has explicitly granted Insights access from the Members page |
Participants without Insights access who visit /projects/[projectId]/ask are redirected to their dashboard.
Granting and revoking Insights access
/projects/[projectId]/members.Submitting a query
/projects/[projectId]/ask.The URL updates to include ?q=.... Mayetik searches indexed briefs using semantic similarity, then generates an answer grounded in what the briefs actually contain.
Suggested questions
When at least 3 briefs are indexed, click Generate suggestions to have the AI produce 5 suggested questions and 5 suggested actions tailored to the project's interviews. Clicking a question pill pre-fills the query box; you still click Ask to submit. Actions are informational — they won't auto-submit.
Per-interview Ask Mayetik
An Ask Mayetik card also appears directly on the per-interview responses page (/projects/[projectId]/interviews/[interviewId]/responses) once briefs are indexed for that interview. It works the same way but scopes all queries to this interview's briefs only. Click Suggest questions → to load interview-specific suggestions; clicking a pill immediately submits the query without an extra click.
Reading the answer
The answer is displayed below the query form as prose. Each claim is labelled with a source citation ("Brief 1", "Brief 2", etc.). Source links below the answer open the corresponding session in the responses dashboard, so you can read the full session detail behind any cited brief.
Cold-start nudge
If fewer than 3 briefs have been indexed for this project, a yellow banner explains that accuracy improves as more interviews are completed. The query form is still available — you may get a useful answer even with limited data, but results will be more reliable with more indexed briefs.
What gets indexed
Briefs are indexed automatically when an interview session is completed and reaches the COMPLETED state. Only briefs generated after Ask Mayetik was introduced are indexed; earlier briefs are not backfilled. Regenerating a brief via Retry brief will embed the new version.
Limitations (v1)
| Limitation | Notes |
|---|---|
| No backfill | Briefs generated before Ask Mayetik are not indexed. Regenerate a brief to index it. |
| Project-scoped only | Queries search within a single project's briefs. Org-wide search is a future milestone. |
| Top-5 briefs | Each query retrieves the 5 most relevant briefs. Very large projects may miss relevant material. |
| pgvector required | Ask Mayetik requires the pgvector PostgreSQL extension. In local development without pgvector, the page loads but queries return a "no briefs indexed" message. |
Intake Forms (/projects/[projectId]/intake) let you collect structured information from external respondents through a conversational AI chat interface — without requiring them to create a Mayetik account.
Unlike traditional interviews (which require invitation-based sign-in), intake forms are designed for open-access data collection: a patient intake, client onboarding questionnaire, vendor assessment, or any scenario where you want to collect responses from anyone via a shareable link.
Key concepts
| Concept | Description |
|---|---|
| Form | A set of named fields defining what information to collect |
| Field | A single data point: label, snake_case key, type, optional hints |
| Record | One respondent's session — conversation transcript and collected field values |
| Share link | The public /f/[shareToken] URL respondents visit |
Form modes
| Mode | Description |
|---|---|
| Standard | Conversational AI collects all required fields in a natural dialogue |
| Short | More direct, concise prompts — better for quick-turnaround forms |
Creating an intake form
/projects/[projectId]/intake and click New Form.Adding fields
On the Fields tab, fill in the Label (displayed to the AI and on summaries), the Key (snake_case identifier used in exports), and optionally select a Field type.
Supported types: text, number, date, email, phone, select, boolean.
For select fields, add options one per line in the Options textarea.
Advanced options (collapsed by default):
Use the ▲ / ▼ arrows to reorder fields.
Activating and sharing
On the Settings tab, check Active and click Save. A share URL appears at /f/[shareToken]. Copy the URL or use the Embed snippet to add the form to any page.
Collecting respondent identity
Check Collect respondent name and email. When enabled, respondents are shown a name/email form before the chat begins. Their details are stored on the record and appear in the Records tab.
Response cap
Set a Response cap to stop accepting new records after a fixed number of completions. The cap counts completed records only — abandoned records do not count.
Viewing and exporting records
The Records tab shows all records with status (started, incomplete, completed), respondent info (if collected), and the conversation transcript. Two export formats are available via the Export links:
Webhook integration
Enter a Webhook URL and optional Secret in the Settings tab. Mayetik POSTs a signed JSON payload to your endpoint on each completed record. The signature header is X-Mayetik-Signature: sha256=<hmac>. Click Send test ping to verify the endpoint before activating. Failed webhooks can be resent from the Records tab.
When you receive an invitation email, click the link. The invitation page shows what you're being invited to.
If you're already signed in with the correct email: the invitation is accepted automatically and you are redirected to /dashboard.
If you're not signed in: you'll see a sign-in prompt. Sign in with the same email address the invitation was sent to. After signing in, the invitation is accepted automatically.
Error states:
After signing in as a participant, you land on /interviews. This page shows all interviews you've been invited to that are currently published.
Each card shows:
Buttons:
Read-aloud preference: the first time you open a new interview you are asked how you would like to receive questions:
Your choice is saved in your browser and applied automatically on any future visit to the same interview. To change it, clear your browser's local storage for this site.
The interview session page shows one question at a time.
Saving your answers: answers are saved individually as you advance. If you close the browser and return later, your answers are preserved and you resume from where you left off.
Voice input: on text and short-text questions, a microphone button appears. Click it to record a voice answer. Your speech is transcribed using OpenAI Whisper and placed in the text box. You can edit the transcription before moving on. Recording is limited to 25 MB per clip with a rate limit of 10 transcriptions per minute. Voice input is not available for address or signature questions.
Address questions: you will see a US postal address form with fields for Street Address, Apt/Suite (if enabled), City, State, and ZIP Code. Fill in the fields and click Next. If the administrator has enabled address verification, Mayetik will check your address against the USPS database. If a standardised form of your address is found, the fields are updated automatically and a green "Verified" badge appears. If verification fails, a warning is shown and you can click "Submit anyway" to save the address as entered.
Signature questions: type your full name in the input field. Once you have entered at least one character, a font picker appears — choose the handwriting style you prefer (Classic, Elegant, Casual, or Bold). A preview of your signature is shown with an underline. Click Next to confirm. Your name, chosen font, and the current date and time are recorded as your electronic signature.
After you complete an interview, Mayetik automatically generates a personalised knowledge brief summarising your answers using AI (GPT-4o-mini).
The brief goes through four states:
| State | What you see |
|---|---|
| Generating | A spinner — brief is being generated in the background (up to ~30 seconds) |
| Complete | The full brief text |
| Timeout | The poller waited 30 seconds with no result — click Retry brief to try again |
| Failed | Generation encountered an error — click Retry brief to attempt regeneration |
The brief is shown on the completion screen and is also visible when you click View on a completed interview card.
Once the brief is complete, Mayetik sends you an email ("Your knowledge brief is ready") with a direct link back to the interview. The email is only sent to signed-in participants — anonymous respondents who completed a public questionnaire do not receive a brief email.
Your individual answers are shown below the brief on the completion screen for reference.
There are three invitation types in Mayetik:
| Type | Who sends it | What it does when accepted |
|---|---|---|
| Interview | Project Admin/Owner | Creates an InterviewMembership (participant) for the specific interview and a ProjectMembership (participant) for the project |
| Project | Project Admin/Owner | Creates or updates a ProjectMembership with the invited role (owner or admin) |
| Org | Org Admin/Owner or System Admin | Creates or updates an OrgMembership with the invited role (owner or admin) |
Important notes:
admin invitation, their role is updated to adminAll significant actions are recorded in the audit log. The audit log is append-only and cannot be edited or deleted.
Views:
/admin/audit) — all events, System Admin only/orgs/[orgId]/audit) — all events within the org and its projects, Org Admin/Owner only/projects/[projectId]/audit) — all events within the project, Project Admin/Owner onlyFilters available on all views:
interview.created)Interview, Project)Columns:
| Column | Description |
|---|---|
| Timestamp | Date and time the event was recorded |
| User | Email or name of the user who performed the action (blank = System) |
| Action | Dot-notation action string |
| Target type | The type of entity affected |
| Target ID | First 8 characters of the entity ID |
| Metadata | Additional context (e.g. previous role, email address) |
Full action list:
| Action | Target type | When it fires |
|---|---|---|
brief.generated | Brief | AI brief generation completes |
interview.created | Interview | New interview created |
interview.statusChanged | Interview | Interview published, closed, or reopened |
interview.updated | Interview | Interview title, description, or language edited |
invitation.accepted | Invitation | Invitee accepts an invitation |
invitation.resent | Invitation | Project admin resends a pending invitation |
invitation.revoked | Invitation | Project admin revokes a pending invitation |
invitation.sent | Invitation | New invitation created and emailed |
member.removed | ProjectMembership | Project member removed |
member.roleChanged | ProjectMembership | Project member role changed |
org.archived | Organization | Organization archived by System Admin |
org.created | Organization | New organization created |
org.unarchived | Organization | Organization unarchived by System Admin |
org.updated | Organization | Organization name or description edited |
project.archived | Project | Project archived |
project.created | Project | New project created |
project.ownerChanged | Project | Project owner changed by System Admin |
project.unarchived | Project | Project unarchived |
project.updated | Project | Project name or description edited |
projectSynthesis.triggered | ProjectSynthesis | Project synthesis run triggered |
question.created | Question | New question added to an interview |
question.deleted | Question | Question soft-deleted |
question.updated | Question | Question text, hint, type, or options edited |
user.created | User | New user account created |
user.systemRoleChanged | User | User's system role changed |
intakeForm.created | IntakeForm | New intake form created |
intakeForm.updated | IntakeForm | Intake form settings updated |