Set column value in another table after typing a coupon code — what's the simplest approach?

Hi everyone,

I’m building a tutoring management app for a small tutoring organization. I’m on the Maker plan.

Context :

Parents buy coupon packs (5, 10, etc.). Each coupon has a unique 6-character code stored in a Coupons table with a status column (Available / Used).
After each tutoring session, the teacher receives a paper coupon from the parent and needs to enter the code in the app to validate the session.
Once validated, the coupon status must switch from Available to Used — so it can’t be reused.

The problem :
The teacher types the coupon code in a Text Entry field (stored in my Seances table). I need Glide to find the matching row in the Coupons table where code = typed_code and set its status to Used.

I’ve tried :

Webhook workflow with a Loop filtered on code = Query JSON output → the Loop finds no logs, the filter doesn’t seem to work with dynamic values
A relation rel_coupon from Seances to Coupons via code_typedcode → but App Interaction workflows can’t modify a related table
Passing the code via webhook body → the value arrives with escaped quotes \"I7XGY4\" instead of I7XGY4, breaking the filter

What I’m looking for :
The simplest native Glide approach to :

  1. Let a teacher type a coupon code
  2. Find the matching row in the Coupons table
  3. Set that row’s status to Used

Is there a clean way to do this without the Business plan API? Any help appreciated!

Thanks