Qruuk
Integrations & automation

Every scan can set something off.

Every booking, check-in, stamp and sale in Qruuk is an event. Send it to your spreadsheet, your newsletter, your team chat or your own code, and let your till or online shop report sales back.

Why "Qruuk"?

QR + hook.

The name comes from QR and hook, as in webhook. Qruuk started as a developer tool for what happens after a QR code is scanned: the automations and side effects a scan sets off. Today it's a tool for small gyms and cafés, but the scan is still the hook everything else hangs from.

Out: events

What happens in Qruuk goes where you need it.

Pick the events you want. Qruuk sends each one as a signed POST to your address, with the card, the program and the customer.

Classes and bookings

  • session.bookedA client booked a place
  • session.booking_cancelledA booking was cancelled
  • session.checked_inA client checked in
  • session.check_in_undoneA check-in was undone
  • session.no_showBooked, but didn't come
  • session.cancelledA class or event was cancelled

Cards and visits

  • card.issuedA new card
  • entry.recordedA visit on a pass or membership
  • ticket.usedA ticket was checked at the door
  • stamp.addedStamps were added
  • reward.earnedA reward is ready
  • reward.redeemedA reward was used

Customers and money

  • customer.opted_inA customer agreed to hear from you
  • customer.unsubscribedA customer opted out
  • order.paidAn order was paid
Ideas

What people build with it.

Each one is an event and a step in Zapier, Make or n8n.

session.checked_in

Attendance in a spreadsheet

Every check-in is a row in Google Sheets: date, class, coach, client. The club board's report, already done.

session.no_show

A friendly nudge

Whoever booked and didn't come gets an email or text the next morning: "Missed you yesterday. See you Thursday?"

session.booked

A ping for the coach

A new booking lands in the coach's Slack or Telegram channel.

customer.opted_in

Onto the newsletter

A customer who agreed to hear from you joins your Mailchimp list (or any other); one who opts out leaves it.

order.paid

For the accountant

Every paid order becomes a row in the sheet your accountant picks up at the end of the month.

reward.earned

Thank a regular

A full card sends a thank-you email, or a coupon for next time.

In: sales and actions

Your other systems talk to Qruuk.

A till, an online shop or your own code can tell Qruuk about a sale and issue cards.

  • Your tillConnect Loyverse or Erply and purchases add stamps by themselves. A Loyverse refund takes them back. On Core and Pro.
  • An online shop or anything elseSend the sale to Qruuk ("Record sale"): it finds the customer by email, phone or card code, and stamps by your rules. The same order sent twice counts once.
  • Cards and customersIssue a card, validate a card, add or update a customer, find a customer. Say, a new member from your website form gets their class pass straight away.
Your website

Your schedule and passes on your own site.

Two lines you paste into your site: visitors see the week's classes, book a place and buy a pass right there. The same data as your booking page; works in Wix, WordPress, Voog, Squarespace and plain HTML.

<script src="https://app.qruuk.com/embed.js" data-qruuk="your-studio"></script>
  • WixAdd → Embed code → Embed HTML. Paste the snippet and drag the block where the schedule should be.
  • WordPressAdd a Custom HTML block (a Code block in Elementor) and paste the snippet.
  • VoogAdd a text area, switch to the HTML view (<>) and paste.
  • SquarespaceAdd a Code block, paste, keep "HTML" selected.
  • Your own sitePaste into the page where the schedule should appear.

A free class is booked right in the block, with a first name. Paying for a pass or a drop-in opens your Qruuk payment page; the pass arrives by email. The snippet with your own address is under Settings → Website, with a live preview.

data-view shows only the schedule (schedule), the passes (passes) or the extras (products); data-accent gives the buttons your site's colour, data-lang the language, data-coach one coach's classes.

How to connect

Four ways in, one key.

  • WebhooksSettings → Webhooks: add an https address and pick the events. Every request is HMAC-signed, failed deliveries are retried, and each one is in the delivery log. Endpoints: 1 / 5 / unlimited (Free / Core / Pro).
  • Zapier, Make and n8nQruuk's own apps for these are built and on their way into each platform's directory. Until then, use their webhook and HTTP steps with a Qruuk API key: events arrive as a webhook, sales and cards go out as an HTTP request.
  • The APIA REST API at api.qruuk.com/v1: cards, customers, programs, events, webhooks and sales. Each API key has only the permissions you give it. Keys: 1 / 5 / unlimited.
  • Your AI assistantClaude, ChatGPT and others can put up the schedule, connect your till and create webhooks for you. Anything that costs money waits for your approval. How →
For developers

Signatures and retries.

Every webhook request carries Qruuk-Signature: t=<time>,v1=<hmac>: an HMAC-SHA256, with your endpoint's secret, of <time>.<body>. Answering 410 ends the subscription. The envelope's id is the event's id, so you can spot a repeat.

POST https://your-endpoint.example
Content-Type: application/json
Qruuk-Signature: t=1792646400,v1=5f2b…

{ "id": "e3b0c442-…", "type": "session.checked_in", "createdAt": "…", "data": { … } }

The full description (OpenAPI, webhooks, MCP) is in /llms.txt and the MCP resources.

Put the scan to work.

Start free. A webhook and an API key come with the Free plan too.

Start free →