Server API
Connect Supabase to Streakfox
Your data already lives in Supabase. Forward the action that matters from an Edge Function or Database Webhook and the streak takes care of itself.

SupabaseRow inserted (lesson_progress, workouts) ✓
7day streakThe fox is proud.
M✓
T✓
W✓
T✓
F✓
S✓
S✓
What can keep the streak alive
Pick one action per program. Daily streaks count the first action each day; running totals count distinct completions.
- Row inserted (lesson_progress, workouts)
- Any server-side action you can tie to a member
Set it up in 5 steps
- Create a program and copy its incoming URL from setup.
- Store the URL as a private STREAKFOX_INCOMING_URL secret available to an Edge Function or Database Webhook.
- In an Edge Function or Database Webhook, POST to the incoming URL after the action succeeds.
- Map a stable member email or ID to member and the source record ID to completion_id. Use the same member value as data-member in your widget.
- Trigger a test action and check processed progress before going live.
// Copy your program's incoming URL from Streakfox setup.
// Keep it in a server-only environment variable.
const response = await fetch(process.env.STREAKFOX_INCOMING_URL!, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
member: member.id,
completion_id: `lesson_complete:${completion.id}`,
}),
});
if (!response.ok) throw new Error(await response.text());Questions
How do I send Supabase events to Streakfox?
POST member and completion_id to your program's incoming URL from an Edge Function or Database Webhook. Keep that URL in server-only settings.
Works well with
If it can send a webhook, it can keep a streak.
Start a program, send one test action and watch the flame light up.
Start free