Progress, rewards, and review
What happens after a member sends something, and how your team reviews and confirms it.
When a member sends a quiz answer, a link or a photo, it isn't always complete straight away. Domino may still be checking it, or waiting for someone on your team to look at it. This page covers what members see while they wait, how your team reviews and confirms activity, and what your app can show.
For the model behind this guide, read Quests and Rewards. See Compose a campaign for a complete example.
Review a submission
When a quest requires human review, an authorized reviewer decides whether the submitted evidence qualifies, such as whether a booth selfie really shows your booth. Make that decision from the evidence and the rules that applied to the attempt.
Confirm a staff quest
Some quests are completed by staff rather than by the member, for example checking someone in at a desk.
Open the member's page
In Console, open the member's page and find the quest.
Confirm the activity
Choose Confirm activity, then Confirm completion. Domino queues the attempt and applies the quest's rules as for any other submission.
The button appears only for quests that staff confirm, and only to people with confirm permission. A banned member's page shows Banned at the top, and confirming activity for them is refused until they are unbanned.
Updates in Console
Open a bookmarked project page to return directly to that project. Console loads its page data alongside the access check and shows it only after access is confirmed. A link without a project first loads your available projects.
Overview, Activity, Members, and Rewards refresh every 10 seconds while Console is visible. Tracker status and reward deliveries also refresh while their views are open. Opening a tracker stops refreshing the hidden tracker list and follows the selected tracker's status instead.
Other pages, including quest editing, refresh after Console actions or when you return to the tab and the cached data is stale. They do not refresh on a timer. Reload the page to fetch changes made elsewhere immediately. Discord connection status and deployment updates have their own live update behavior.
Completion and rewards
- The server decides. Domino records completion and applies the quest's reward rules on the server. The app displays the resulting state.
- The browser never grants. A browser should never grant itself points or declare verification successful.
- The completer earns the quest reward. A quest reward belongs to the member who completes it.
- Referral rewards are separate. A referral program can separately reward their inviter, reward both people when the referral qualifies, or grant inviter milestones for distinct qualified friends.
- Inviter bonuses are additional. Inviter percentage bonuses are additional points; they do not reduce the friend's award.
- Corrections can reduce referral earnings. Unpaid corrections are offset against future referral payouts.
Point balances follow the ledger ID
Point balances are keyed by ledger ID. Renaming a ledger in Rewards → Point ledgers does not change a member's progress, total, or transaction history.
Two ledgers with the same display name remain separate balances. Use their descriptions and IDs to distinguish them.
Show a quest's rewards
Your app can list what each quest pays, such as "10 XP" or "Tote bag", next to the quest.
Keep progress through changes
- Accepted attempts keep their release. Accepted attempts retain their original release. Publishing new rules does not silently rewrite an attempt already in progress.
- Pending submissions are resubmitted. If rules change before a submission is accepted, the app asks the member to review them and submit again.
- Apps preserve input. Developers should preserve compatible input and use the SDK's recovery controls after a lost network response.
For implementation details, read Participant API.
Explain why a quest is unavailable
Your app can tell a member exactly why they can't take a quest yet: it's locked until they finish another quest, reach a point balance or join a group, or it's blocked because it's outside its dates, needs them to enroll first, or has run out of budget. It can also show when a daily or weekly budget resets.
Event admission
Scanning an event pass requires a verification integration for the campaign. A campaign can run its own verification on its server and use Relay to record pass ownership and submit the entry activity.
Consecutive-day streaks
A streak counts consecutive days with verified activity in the project calendar's timezone, such as checking in every day for a week. See calendar-day streaks for the model. Your developer configures a milestone with the streak authoring guide.
The member's app shows:
- The current run and the target
- The best run
- Whether today counts
- When today ends (the next day boundary)
How runs and days are counted
| Situation | What happens |
|---|---|
| Several actions on one day | They count as one qualifying day. |
| No activity yet today | The run remains alive while today is still open. |
| A whole day is missed | Only then does the run reset. There are no implicit grace days. |
| Delayed verified activity arrives | It can repair a missing day. |
| A submission is reviewed on a later day | It counts on the day it was submitted, not the day it was accepted. |
| Discord events are missing | They cannot be reconstructed automatically. |
| A day ends | Days end at midnight in the project timezone, including daylight-saving changes. |
| The project timezone is changed | The change takes effect at the next midnight in the current zone and never rewrites recorded days. The run continues, and the first day in the new zone ends at its next midnight, so it can be shorter than usual. |
All streak quests in a project share its calendar, and so do its budgets and calendar leaderboards.
How milestone rewards are paid
- Once per member. Each streak quest awards its milestone once per member. Separate quests can reward different milestones.
- No repeat payouts. A later broken or repaired run does not repeat an earned reward.
- Exhausted budgets are not retried. If a milestone's reward budget is exhausted, progress stays recorded and the app reports that the milestone was reached without a reward. Budget changes do not automatically retry that payout.
Show evaluator progress
Some checks wait and look again later, such as a post that needs five likes. While they wait, your app can show how far the member is, such as "3 of 5 likes", and when Domino checks next. Showing progress never completes the quest, and the member can't retry while the check waits.
An operator with review permission can stop a waiting attempt by rejecting it. Stopping a deferred attempt grants and revokes nothing. If it has already completed, use the existing reward adjustment path instead.
Show earned rewards in an app
Your app can show members what they've earned: reward tiers, whether they've collected them, pickup details, point awards and reversals, and the state of a Discord role. When a collected reward needs to be recovered, keep it visible with a follow-up message from your team. Members see a public explanation; the reason your team gave for revoking stays in Console and audit history. A delivery marked revoked or removed does not undo the history of its earlier delivery.
Notify someone about an asynchronous outcome
Your app can pop up a message when something happens later, such as "Your photo was accepted" after a review, or a reward arriving. Keep the completion message separate from the reward: a reward can arrive after the quest is accepted.
Distinct-action counters
A counter quest completes after several separate actions, such as three different posts in a week. Your app can show the count so far and the goal. An action below the goal counts as progress, with no completion or reward yet.
In Console, open Members, select the member, and find the counter section. Review actions shows distinct keys, occurrence times, reasons and achievement outcomes. Open attempt opens its evaluation history. Operators with review permission enter a reason and select Exclude action or Restore action for unsettled qualifying evidence. Restoration does not immediately grant rewards: the next accepted action checks the goal. For a settled awarded achievement, review and revoke its completion; the counter keeps its evidence and marks the achievement revoked.
domino api GET /members/MEMBER/counters/QUEST
domino api POST /members/MEMBER/counters/QUEST/CONTRIBUTION/moderate correction.jsonBudget-denied achievements remain final; see counter window and settlement rules.