Manage Activities & Participants
Managing participants, chat, sending spots, and list visibility.
Common questions
On the manage participants page, you can see the full list of participants along with their payment and check-in status, names, and registration numbers.
You can also remove specific participants and choose how each of them gets refunded.
Yes. Turn off "Show participants to everyone" in the activity form so only you (and your staff) can open the full list; other participants only see your name as host, a few profile photos and "and others", without the count.
By default participants are shown to everyone, and you can change this anytime until the activity starts.
Using the settings button on the activity's chat page, you can restrict chat to hosts only, or open it up so participants can join the conversation.
This setting is separate from "Show participants to everyone", so you can combine them however you like.
This feature (on by default) lets participants send their spot to someone else via chat before the activity starts. You can turn it off in Advanced Settings.
As a host, you can always invite new participants with a spot at no extra payment from the recipient, even when participant spot transfers are turned off.
Watch the video tutorial here: https://youtu.be/ePOMrZ9BgsE?si=rDtesUDhfrnvTjvu
In the participant list, remove a participant and choose how to refund them: to their KUYY Balance, as a Reschedule Pass, or no refund.
For a refund to balance, the default is Full refund: the participant gets back what they paid, minus the admin fee. Choose Custom amount to enter an amount per participant, at least Rp10.000 and at most the activity price plus add-ons; whatever you enter, a refund never exceeds what the participant paid minus the admin fee. The Full refund choice is on the web and in the newest app update; in earlier app versions you type the amount directly.
The removed participant gets a notification and an email (plus WhatsApp if the activity sends invoices by WhatsApp) and is automatically removed from the activity's group chat. Removing isn't blocking: that person can still register again. To stop that, block their account.
Open your activity and choose View Form (web) or View Form Responses (app), then tap Download Excel to get an .xlsx file. In the app the button is the download icon: the newest app update gives an Excel file, earlier versions a CSV file. It's free for every host, not a Premium feature.
Each participant is one row: username, every form answer, status, transaction value, host income, join date, pass, add-ons, refunds and registration number, closed by a Summary Total row. In the app the file goes out through your phone's share sheet rather than into a downloads folder.
Download Excel on the form page covers one activity's participants and is open to every host. The Participant report recaps all your participants for a single month: contact details, number of joins, net spend, and passes still active.
The monthly report needs Premium. On the web it's on the Participants page under Download Report and arrives as an Excel file; in the app it's under Analytics → Reports and arrives as a CSV.
There's no per-activity co-host role. An activity always has exactly one host. What exists is Staff, and it applies to your whole account rather than to a single activity.
Invite someone from the Staff page as the Operational type with one of the roles: Front Desk, Supervisor, Manager, Finance or Marketing. The invitation is emailed to them; once they accept it while signed in with that same email, they keep using their own account and can switch into your studio to work within their role. Staff is a Business feature.
Staff comes in two types. Instructor is for the people who teach or coach participants: instructors, coaches, personal trainers. Operational is for the team that helps you run the studio from the dashboard, with five roles: Front Desk, Supervisor (formerly called Admin), Manager, Finance and Marketing.
Front Desk: check-in, class chats, participants and walk-ins, removing participants with their refund, downloads, and viewing activities, passes and the cash they took themselves that day. Supervisor: everything Front Desk does, plus managing activities, passes, team and access, fees, the studio profile and website, and all cash records, and viewing attendance, sales and transactions; no payslips and no balance. Manager: everything a Supervisor does, plus payslips and the balance. Finance: fees, payslips, the balance, refunds, downloads and cash, and viewing participants, sales and transactions. Marketing: managing activities, passes, class chats and the studio profile, and viewing attendance and performance.
On top of the role you can add or remove access for each person in the Access tab of their staff entry; Reset all to the role clears those changes. There are limits: sales, transactions and the balance can't be opened for Front Desk or Marketing, and cash access always follows the role. Staff allowed to manage the team can only give access they hold themselves, so a Supervisor can't invite or change a Manager or Finance person, and nobody can change their own entry or access.
Some things only you as the account owner can do, and they can't be given to staff: closing the account, changing the subscription, managing bank accounts and the PIN, changing the sign-in email and phone number, connecting AI apps, managing branches, and sending balance to other users. Because the PIN is the owner's alone, a balance withdrawal can currently only be completed from the owner's account, even when a staff role has balance access. The Activity tab on the Staff page, which only you see, records invitations, role and access changes, and staff removals for a year.
Operational staff answer the invitation from its notification in KUYY with Accept or Decline, or from the link in the email, while signed in to the account with the invitation's email. If they decline, you get a notification and can invite them again later. Until they accept, the status reads Pending invite (in the app: Invited). They keep using their own account and switch into your studio from Switch Account, under Studios. If your Business subscription ends, staff access pauses without deleting anything, and comes back when you're on Business again.
The Instructor type is different: the job title is free text, and the person is active straight away, so you can assign them to activities and work out their fee at once. Instructors also get an invitation by email and as a KUYY notification; if they accept it, they can sign in with their own account to see the classes they teach, check participants in to those classes, join those class chats, and see their payslips. Instructors get no access to your studio's dashboard.
Watch the video tutorial here: https://youtu.be/iMisgWNxD8Y?si=NV7Ho6F1Asl4hPu8
Fee structures live on the Fees tab of the Staff page. There are two types: a Fixed fee, which pays the same regardless of headcount, and a Ranged fee, which scales with it. For example 1 to 10 participants at Rp100.000, then 11 to 50 participants at Rp150.000.
For a ranged fee every range has to join up with no gaps. KUYY flags any headcount that isn't covered, so fix that before saving.
Once the fee structure is ready, open the activity, go to its Staff section, pick the instructor teaching it, then pick the fee that applies. From then on the fee is worked out automatically every time the class runs.
To pay it out, use Payslips on the Staff page: pick a period, review each instructor and their activities, add adjustments if needed, then Review and send. Every instructor gets their own PDF by email. Every send is recorded in the Payslip tab's history (period, total, sent date), where each instructor's payslip can be viewed and re-downloaded exactly as it was sent. You can send the same period again if you need to; it's recorded as a new send. For a recap there's the monthly Download Report, exported as an Excel file. Besides you, staff with the Manager or Finance role can send payslips too, and instructors who accepted their invitation can see their own payslips in Settings. Staff and fees are a Business plan feature.
Watch the video tutorial here: https://youtu.be/iMisgWNxD8Y?si=NV7Ho6F1Asl4hPu8
Yes, up to 24 hours after the class ends. Open the activity and change its instructors: swap the person, add a second instructor, or remove one who did not teach, each with the fee that applies. A removed instructor is taken off that class's payroll.
During those 24 hours the class's fee is marked Provisional on the Staff page because the number can still change. After 24 hours the instructor line-up and fees lock and flow into that period's payslip.
Branch links several KUYY accounts into one network so a pass created on the main account can also be used at a branch account. A participant only needs one pass and it works at every one of your branches.
Add one with Add Branch on the Branch page, then invite the account by email. The invitation has to be accepted first: until it is, the status shows PENDING; once accepted it becomes BRANCH, while your own account is marked MAIN.
The structure is one level deep. Every branch is linked to the main account and only the main account manages them. A branch cannot add branches of its own underneath it.
When creating a pass or voucher, the Valid at field decides which branches honour it, all of them or only some. If you remove a branch from the network, multi-branch passes stop working there.
The main account can also open each active branch's Analytics on the web dashboard: open Analytics, then switch the Viewing picker from My account to the branch's name. Every tab and report download then shows that branch's data, in the branch's timezone and currency. It only works one way: a branch can't see the main account's or another branch's analytics, and by accepting the invitation a branch allows the main account to see its analytics. The branch needs its own Business plan for this: a branch without one shows as locked in the picker.
Branch is a Business plan feature.
Watch the video tutorial here: https://youtu.be/iMisgWNxD8Y?si=NV7Ho6F1Asl4hPu8
From the app: open the activity, then choose View Form Responses. Photo answers appear as images you can tap to enlarge and download, including an option to download all images at once.
From the web: open the activity, click the "..." menu, then choose View Form. Photos display properly there, with an option to download them all at once.
The file you download (Excel, or CSV in app versions before the newest update) contains a link to each photo rather than the image itself. To see the photos, use one of the two views above.
Adding new questions is safe at any time. Participants who registered earlier will simply be blank in the new question's column.
DO NOT delete a saved question, even though a delete button exists. The question is not truly removed on the server, and deleting one from the MIDDLE of the list shifts the questions after it, which can move older participants' answers under the wrong question. If people have already registered, leave old questions in place.
You can change a question's wording, but be careful: existing answers stay attached to that question and will appear under the new heading. If you change its meaning, your export becomes misleading. It is safer to add a new question.
A question's type cannot be changed once saved either.
Not yet. Participants have no way to reopen and change answers they have submitted, and registering again does not bring the form back.
If something needs correcting, ask the participant to tell you directly as the host, and record the change yourself.
A note for group bookings: if the same person books a second time for that activity, the form is not asked again. So companion details for the second booking are not collected.
A waiver is a liability statement participants accept before joining. You set it once under Settings → Waiver and it applies to every activity you host. It is not configured per activity.
Participants sign it after completing the registration form and before payment, on a signature screen. It is signed once per host. BUT every time you edit the waiver's content, everyone is asked to sign again.
There is currently no page listing who has signed, and no button inside the product to download a signed document. If you need one, contact support. It can still be produced.
For on-the-spot (OTS) registration, the waiver appears if you use the web dashboard, but not in the app.
Invoices are always sent by email. The "Send invoice to participant" option on the activity form adds delivery over WhatsApp as well.
It costs Rp1.500 once per successful transaction, and by default the participant pays it as an "Invoice Fee - WhatsApp" line on their bill. If you turn on Cover the admin & WhatsApp fees, you cover this fee too on activities you create after that: participants don't see the line, and it's deducted from your payout.
On free activities the option has no effect, since there is no transaction to charge it against; on the web it's switched off automatically.
The participant also needs a phone number on their account. WhatsApp goes to the number the participant verified by OTP; without a verified number it goes to the profile number, and a profile number is only used when written as an Indonesian mobile number (starting 08) or complete with its country code. If the number is empty or unreadable, no WhatsApp is sent and the invoice still goes out by email as usual.
Besides invoices, WhatsApp is also used to tell participants when an activity is cancelled and when a participant is removed from an activity. Activity reminders and announcements are not sent over WhatsApp.
Watch the video tutorial here: https://youtu.be/RIcq_NTXtxA?si=Kl8u704512ct8bN8
There are two automatic reminders, and their timing is fixed by the system. Hosts cannot change it.
24 hours before the start: participants get a phone notification and a reminder email.
30 minutes before the start: participants get a phone notification only, reminding them to have their e-ticket ready.
Recurring activities get one extra notification: a day after a session, its participants are invited to the next one. If you want to reach participants at another time, send a message in the activity chat; every message reaches the chat's members as a notification. Premium hosts can also mention @all to send an announcement that goes out by email too.
Worth noting: if you change the activity, its time or location included, participants only get a phone notification, no email and no WhatsApp. For important changes, tell them in the activity chat as well so it is definitely seen.
Yes, through Import Participants. Open your activity and choose Import Participants from the menu. Download the template from that page first, fill it in, then upload it back.
The template's columns must match exactly, both in count and in name: Username, Email, then one column for each of your registration form questions, in order. If they do not match, the upload is rejected. Save it as CSV.
Participants are matched by username first, then by email. If the email is not registered with KUYY yet, a guest account is created automatically for that person. So they do not need an account beforehand.
For a participant bringing a group, list the same person on several rows, one per person. Import is available to hosts only, and cannot be used once the activity is full, cancelled, or finished.
If you want to give one person who already has a KUYY account a free place, use Send Activity Pass from your activity's menu. They need to accept it, and then join without paying.
Import Participants puts people into ONE activity. To move your whole member base with their remaining passes over from another system, use Import members on the Participants page (see the next question).
Use Import members on the Participants page (in the app: the upload icon at the top right of the Participants page). Download the template first; on the web dashboard it comes in your dashboard language, and a file in either Indonesian or English uploads the same. It has four sheets: Members, which you fill in; Example, with filled-in sample rows (an illustration only, never imported); Packages, listing your packages; and Instructions (in the Indonesian template: Member, Contoh, Paket, Petunjuk). Fill in one row per member per package: Name, Email, Phone, Package (exactly as on the Packages sheet), Remaining Sessions, Expires At (YYYY-MM-DD), Username and Notes.
Pick the file (.xlsx or .csv) and KUYY shows a preview of every row: ready, check, or error, with the reason, plus a summary of how many new accounts, existing accounts and passes it will create. Nothing is saved until you press Import. If even one row has an error, the whole file is refused; fix that row and pick the file again. Warnings do not block.
Email decides the account. A new email gets an account with the name and phone from the sheet; an email that already has a KUYY account is left untouched, only its passes are added. Two children on one parent email are two rows with the same email. Remaining sessions may exceed the package quota (say 14 on a 12x package) and are imported as written; empty or 0 creates the account without a pass. A package with a single quota group takes a plain number. A package with several groups under Quota per Tag is filled in per group with commas between them, for example toddler:4, junior+teen:2 (a + joins several tags into one group). Username is optional and only used for new accounts: 5 to 26 letters or digits, optionally split by one dot or underscore; leave it empty and KUYY makes one. An existing account keeps its own username.
Imported passes work exactly like passes bought on KUYY, and you can edit their quota from the Pass Holders tab. The only difference is reporting: they count as Rp 0 in Analytics and earnings reports, because the money was collected on the previous system. Members are not notified; tell them to sign in to KUYY with the email you entered, and the passes are under My Pass.
The History tab lists every import, and an import can be undone: unused passes are removed, accounts stay, passes already used stay used. One file holds up to 1,000 rows and 5 MB. Import members is a Business plan feature.
An activity can only be deleted after it has been cancelled or has finished. So if it is still scheduled, cancel it first. Cancelling is what notifies participants and processes refunds.
In the activity menu the option reads Cancel Activity while the activity is live, then changes to Delete Activity once it has been cancelled or completed.
A deleted activity disappears from all listings, but its transaction history is still kept in the system.
A Chat Channel is a broadcast channel to all your followers, a way to reach them all at once without creating groups one by one. This feature requires KUYY Premium.
Create it from your own profile page, using the Create Chat Channel button. Each account can only have one channel, and its name is generated from your name and cannot be changed.
When you create it, all of your current followers are added straight away. After that, anyone who follows you joins automatically and anyone who unfollows leaves automatically. There is no other way to join.
Members can reply in the channel. An ordinary post in a channel doesn't notify followers; mentioning @all sends an announcement that also goes out by email to members who haven't muted the channel.
Documents are private files you send to one participant: a monthly report card, a certificate, an evaluation, or photos and scans. You send them from the web dashboard: open the Participants menu, press Upload document, then fill in the Period (for example "September 2026 Report"). That text becomes the prefix of every document's title. Pick your files, several at once if you like, or drag them into the window.
Each file is matched to a participant automatically from its filename, so check the Participant column before you send. Rows that are still empty you have to fill in yourself by searching a name, email, or phone number, and a Check status means the guess looks close but isn't certain. The title itself is built from the Period and the participant's name, not from the filename, and you can still retype it per row. Press Send, and if one file fails, the others still go through and the failed one can be retried from the same window.
For a single participant, open their profile from the Participants list, scroll to the Documents section, and press Upload document. That same section is where you delete a document you already sent, and once deleted it disappears from the participant's page straight away.
Sending documents is a Business plan feature. On Free and Premium, the Upload document button takes you to the Business upgrade page. If your Business subscription ends, documents you already sent stay open to participants and you can still delete them; the only thing that stops is sending new ones.
The only file types accepted are PDF, JPG, PNG, and WebP, up to 10 MB per file and a maximum of 200 files per upload. The file type is detected from the contents, not from the filename, so renaming the extension doesn't help.
If your PDF is rejected, it is usually over 10 MB, or the file isn't really a PDF, for example a "save as" from a web page. Open the file first to check, then save it again as a PDF or an image.
If it's the participant's name that won't come up, the search in the upload window only pulls from your own Participants list. Documents can only go to someone who has joined one of your activities, with a going or checked-in status, or who holds a pass from you. Someone who registered but hasn't paid doesn't count yet, and any other name is rejected with a message saying that account isn't your participant.
Two other limits catch people out: one document always goes to one participant, so for several people you upload one file each, and a file that has already been sent can't have its contents swapped. Delete it first, then upload it again.
Open any activity in that group, choose Edit, then Edit Variation. From there you can change the order (saved immediately), add a new variation that goes to the end of the list, or tap another variation's row to open and edit it directly. The Back button returns you to the editor you came from.
Before you remove anything, note this: cancelling a variation that already has participants refunds them and takes that activity out of the group. A variation with no participants at all can be deleted without cancelling.
There's no way to take a variation out of the group without cancelling it, and a variation can't be moved to another group. The activity you're currently editing also has no cancel button on the Edit Variation screen; you cancel it from that activity's detail page, which offers the refund options.
Two activities that are already live separately can't be merged into one group. The group is formed when you tap Host All Activities, and after that it can only be extended through Edit Variation. Keep in mind too that changing one variation doesn't change the others in the same group.
Yes, with the AI assistant, a Business plan feature for hosts in Indonesia. Connect your KUYY account to Claude or ChatGPT and ask in your own words, for example how sales went this month or who booked tomorrow's class. Only the account owner can connect; a staff account can't. If your account isn't on Business yet, KUYY offers the upgrade when you try to connect.
To connect: in Claude go to Settings > Connectors, search the connector directory for KUYY and select Connect. If KUYY isn't listed, choose Add custom connector and paste the server URL https://mcp.kuyy.app/mcp. In ChatGPT go to Settings > Apps & Connectors and add a connector with the same server URL. KUYY opens and shows what the app is asking to see; select Sign in to allow, then sign in with the account of the business you're connecting. A connection request lasts 10 minutes, and you sign in again each time you connect.
An AI app can only read: sales and analytics, who booked each activity (names and booking status only), balance history and withdrawals with bank account numbers masked, your staff with the classes they taught and what they were paid, and passes, promo codes and flash sales. It can also create and edit drafts of your KUYY website; a draft goes live only when you publish it in the website builder. It can't change anything else: it can't book, cancel, refund, withdraw, edit your activities, or publish or delete your website. It also doesn't see phone numbers, emails, form answers or documents of your participants or staff. Full reports download straight from your KUYY dashboard, never through the AI app.
Every connected app is listed under Host center > Settings > AI assistant on the web dashboard, and under Host Settings > AI assistant in the latest KUYY app, with when it was connected and last used. Disconnect one there and it stops reading your data right away. Up to 5 apps can be connected at a time, and a connection you don't use for 30 days will ask you to connect again.
The full guide, with example questions, is here: https://kuyy.app/business/ai-apps
A participant who holds a seat in your activity can report a problem with their booking until the payout runs (3 hours after the activity ends). The report opens a chat room between you and the participant, labelled Report in your chat list. Staff with chat access reply on behalf of your account.
While the report is open, the payout for the whole activity is held. Balance and Overview show that the payout is held, with a link to the report. The payout goes out on its own once the last report is closed.
From the report room you can refund the participant to their KUYY Balance (in full or in part) or give a Reschedule Pass before the payout runs. A Reschedule Pass, or a full refund before the activity ends, also cancels their booking and releases the seat. A booking paid partly with a pass can only be refunded in full.
When the problem is sorted, tap Mark resolved; the participant confirms it, and with no answer in 3 days the report closes on its own. You can call the KUYY team any time with Call KUYY, and the KUYY team joins on its own if the report is still open after 3 days.
If that seat was already paid to you at checkout (early withdrawal), the refund comes out of your KUYY Balance and never takes it below zero: if the balance is short, the refund can't go through.
Full guide
Detailed rules for each related feature, plus important notes.
A few activity settings you'll use often: hiding the participant list, tags and categories, WhatsApp invoices, and who may send messages in the activity chat. Most of them can be changed at any time until the activity ends.
- •Show participants to everyone: on by default. If you turn it off, only you see the full participant list; other participants only see their own name. You can change it at any time.
- •Tags: add them with Add Tags when creating or editing an activity, and manage them with Manage tags. Tags decide which passes work on your activity and are also matched in search.
- •Category: KUYY decides it automatically each time the activity is saved; the web form, and the app form from its newest update, have no category choice. Each activity has only one category, plus its group. A new activity takes your account category, unless its name clearly names a different activity; if your account has no category yet, the system uses words in the name, then the description. On an edit the category is kept unless the new name names another activity. Categories drive the Home filters and recommendations.
- •Send invoice to participant: invoices always go out by email. Turn this on for a paid activity to also send them by WhatsApp, for a fee of Rp1.500 per successful transaction. The participant pays this fee, unless the activity was created from 30 September 2026 while Cover the admin & WhatsApp fees was already on; in that case the fee comes out of your earnings.
- •Activity chat: in the activity chat settings (Allow participant chat on the web, Allow participants to send message in the app), choose whether participants may send messages or only you can. This is separate from Show participants to everyone.
- •The activity group chat includes you and confirmed participants.
Important notes
• Hiding participants and restricting chat are two separate settings that the host can combine however they like.
• Tags are different from categories: the host creates tags freely and they decide which passes work, while categories come from KUYY's category list.
• WhatsApp invoices are sent automatically when a payment succeeds, as long as the host has turned them on.
Send Activity Spot lets participants move their registration to someone else through chat. It's on by default and you can turn it off per activity. Whatever that setting, you as the host can always invite someone to join for free with Send Activity Pass. A spot can only be sent and accepted before the activity starts.
- •The Send Spot setting in the activity's Advanced settings is on by default. Turn it off there for one activity, or turn off Send Activity Spot in Activity Settings as the default for new activities.
- •When it's off, participants can't move their spot; in the app they see a message that the host has turned this feature off.
- •As the host, you can still use Send Activity Pass from the activity menu: the recipient can join without paying, as long as the activity isn't full.
- •Spots and activity passes can only be sent and accepted before the activity starts. In the app, participants can no longer send a spot from 2 hours before the start.
- •When a spot is accepted, the whole registration moves to the recipient (including friends, add-ons, and seats), the sender leaves the activity and its group chat, and you're notified that a new participant joined.
Important notes
• Send Activity Spot (from a participant) is different from Send Activity Pass (from the host): a spot moves an existing registration, while an activity pass invites someone to join for free.
• When a spot is accepted, its transaction moves to the recipient; the sender keeps a record of it in their transaction history.
• The sender gets a chat message when their spot is accepted or declined.
