Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jeremylongshore/juicebox-webhooks-events
Handle Juicebox webhooks and events. Trigger: "juicebox webhooks", "juicebox events".
Passed 19 of 22 test cases with the skill, and 11 of 22 without it.
and 9 more in the full report
9 fixed10 passed either way2 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
I want to catch live notifications whenever Juicebox finds new candidate matches for a saved search agent. What is the event string for search alerts, and what payload field holds the count of newly discovered candidates?
| Checked | Without skill | With skill |
|---|---|---|
| Identifies search.alert as the event string for match notifications. | Missed | Passed |
| Reads candidate match count directly from event data instead of polling search APIs. | Passed | Passed |
The instructions your model reads when the skill loads.
Juicebox delivers webhook notifications for AI-powered people search and analysis workflows. Subscribe to events for completed analyses, updated datasets, ready exports, and quota warnings to build automated pipelines that react to Juicebox intelligence in real time without polling the API.
const response = await fetch("https://api.juicebox.ai/v1/webhooks", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.JUICEBOX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
url: "https://yourapp.com/webhooks/juicebox",
events: ["analysis.completed", "dataset.updated", "export.ready", "quota.warning"],
secret: process.env.JUICEBOX_WEBHOOK_SECRET,
}),
});
import crypto from "crypto";
import { Request, Response, NextFunction } from "express";
function verifyJuiceboxSignature(req: Request, res: Response, next: NextFunction) {
const signature = req.headers["x-juicebox-signature"] as string;
const expected = crypto.createHmac("sha256", process.env.JUICEBOX_WEBHOOK_SECRET!)
.update(req.body).digest("hex");
if (!crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) {
return res.status(401).json({ error: "Invalid signature" });
}
next();
}
test cases passed, vs 11 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.