Ask Follow-Up Questions: Link Thumbs Buttons to Quests
Open a quest after a thumbs-up, a thumbs-down or a screen recording, instead of the message box.
Under Customize → FOLLOW-UP QUESTS, pick a published quest for Thumbs up, Thumbs down or After video, then copy THUMBS CODE. The feedback is saved first, then the quest opens as its own modal and its response is linked to that feedback. The quest uses its own default look, not your thumbs theme.
After a thumbs click, the feedback embed asks “Would you like to add a message?”. Link a button to a quest and it asks your own questions instead: what went wrong after a thumbs-down, what to build next after a thumbs-up.
Pick follow-up quests in Customize
You need at least one published quest. The pickers list only quests with a live version.
Open Customize
Open your project and click Customize in its header.
Pick a quest per button
In the FOLLOW-UP QUESTS panel, choose a quest for Thumbs up, Thumbs down or both. After video appears once Video is on in the controls; recording needs Pro. Leave a button on “No quest (show message box)” to keep the box.
Copy the snippet
Copy THUMBS CODE. The Script form now carries
data-quest-baseand adata-quest-*attribute per linked button. The ESM form carries aquestsblock.
With no published quest yet, the panel says “No published quests yet.” with a Create a quest link.
Write the quests block by hand
import { QaidFeedback } from "@qaiddev/thumbs-embed";
new QaidFeedback({
endpoint: "https://qaid.dev/api/feedback",
apiKey: "YOUR_PROJECT_KEY",
captureVideo: true,
quests: {
base: "https://qaid.dev/api/quests",
up: "QUEST_ID_FOR_THUMBS_UP",
down: "QUEST_ID_FOR_THUMBS_DOWN",
video: "QUEST_ID_AFTER_VIDEO",
},
});
The script-tag form of the same thing:
<script
src="https://unpkg.com/@qaiddev/thumbs-embed/dist/embed.js"
defer
data-api-key="YOUR_PROJECT_KEY"
data-endpoint="https://qaid.dev/api/feedback"
data-capture-video="true"
data-quest-base="https://qaid.dev/api/quests"
data-quest-up="QUEST_ID_FOR_THUMBS_UP"
data-quest-down="QUEST_ID_FOR_THUMBS_DOWN"
data-quest-video="QUEST_ID_AFTER_VIDEO"
></script>
| Option | Data attribute | Does |
|---|---|---|
quests.base |
data-quest-base |
Turns the feature on. On qaid.dev it is https://qaid.dev/api/quests |
quests.up, down, video |
data-quest-up, data-quest-down, data-quest-video |
The quest ID for each button. Leave one out to keep its message box |
quests.apiKey |
data-quest-api-key |
The key the quest uses. Defaults to the embed’s apiKey |
quests.moduleUrl |
data-quest-module-url |
Where to load the quests embed from. Defaults to https://unpkg.com/@qaiddev/quests-embed@1/dist/qaid-quests.js |
Use the quest’s ID, the last part of its editor URL. A slug gets a 404. The embed loads {base}/{id}/definition and saves to {base}/responses.
What happens after a click
- Qaid saves the feedback as usual.
- On first use, the thumbs embed loads the quests embed from the module URL. The quest opens as a centred modal with its own backdrop and close button.
- Each quest response carries the new feedback’s ID. Qaid keeps that link only when both belong to the same project.
For the After video quest, the recording uploads first, and the quest opens once Qaid accepts it. A refused upload shows its error in the review, and no quest opens. With singleButton on, the one button records neutral feedback, which never opens a quest.
When the quest cannot open
| What went wrong | What the visitor sees |
|---|---|
| The quests embed could not load, for example a blocked CDN | The usual message box. The feedback is already saved |
| The quest is unpublished, archived or the ID is wrong | A quest modal that reads “Couldn’t load form” |
No base is set |
The message box. Quest IDs are ignored |
If your site has a Content Security Policy, allow script-src for the module URL.
The quest uses its own look
The launched quest gets only the endpoint, the quest URL, the key and the feedback link. Your thumbs colours, CSS and preset do not carry over, and no quest theme is applied, so it draws with the quests embed’s default look.
Find the answers
Answers land on the quest’s Responses and Analytics pages, and feedback lands in your inbox as before. Neither page says which feedback a response came from; only the Platform API’s GET /api/v1/quests/{id}/responses returns each response’s feedbackId.
The Platform API needs Pro. See Free vs Pro.