Recued
Menu
← Back to recipes

Register paid DeepTutor student

by recued-core v7 38 views

Use “Register paid DeepTutor student” in Recued. It turns one complete Seller order into a class roster record.

Complete workflow

DeepTutor Records 9 pinned recipes

Use DeepTutor Records in Recued for tutoring, student and assignment record-keeping. It stores students, assessments, answers, artifacts and scorecards, and includes 7 ready-to-run workflows that enrol students, send assessments, capture answers and grade them. Paid students arrive through any Seller provider lane (Stripe, Paddle, Lemon Squeezy). It needs the DeepTutor pack for question generation. It runs locally on your machine. Actions that change data use Recued's approval controls.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Use “Register paid DeepTutor student” in Recued. It turns one complete Seller order into a class roster record.

pack:deeptutor-daily-masterystudentenrollmentpaid
by recued-core pinned v7

Use “Enroll free DeepTutor student” in Recued. Exact-form enrollment template for a free class.

pack:deeptutor-daily-masteryform-response-templatestudentenrollment
by recued-core pinned v7

Use “Send DeepTutor assignment or exam” in Recued. Scheduled class dish. It uses the connections and settings you choose when you run it.

pack:deeptutor-daily-masterydeeptutorassignmentexam
by recued-core pinned v10
Capture DeepTutor answer
Background automation

Use “Capture DeepTutor answer” in Recued. It runs on its own when a student emails their answers back, and files that reply as a pending answer so the grading workflow can score it on the next run.

pack:deeptutor-daily-masterydeeptutorstudentanswer
by recued-core pinned v8

Use “Grade DeepTutor answers” in Recued. Scheduled class batch. It uses the connections and settings you choose when you run it.

pack:deeptutor-daily-masterydeeptutorgradingassignment
by recued-core pinned v10

Use “List DeepTutor assignments and exams” in Recued. It provides a read-only class index over the DeepTutor pack's own assessment records.

pack:deeptutor-daily-masterydeeptutorassignmentexam
by recued-core pinned v4
Show all 9 recipes

Use “View DeepTutor assessment” in Recued. It provides a read-only exact detail for one DeepTutor assignment or exam.

pack:deeptutor-daily-masterydeeptutorassignmentexam
by recued-core pinned v3

Use “View DeepTutor scorecards” in Recued. Lists the derived assignment and exam scorecards the DeepTutor pack keeps in its own records. Supply one Seller customer id for that student's rows, or leave it blank for the owner-wide scorecard list.

pack:deeptutor-daily-masterydeeptutorscorecardstudent
by recued-core pinned v3
Require DeepTutor records runtime
Background automation

Use “Require DeepTutor records runtime” in Recued. It confirms this server can store the class records the other DeepTutor workflows depend on, and stops with a clear message when it cannot.

by recued-core pinned v1
View pack details, dependencies, and permissions →

Subscription or paid-pass signup

Use Recued's Seller acquisition workflow for the public signup, checkout, provider verification, and access issue - on Stripe, Paddle, or Lemon Squeezy alike. A subscription runs through the provider's open-subscription-access-order workflow and its Seller Subscription Payment Events pack; a pass through open-pass-order and the Seller One-Time Pass pack (each with the provider's suffix, -paddle or -lemonsqueezy, outside Stripe). Once the order is complete, run this recipe with the order's oh_... handle. The order must have originated from a Reception submission, name an entitlement key, and link a Seller customer. This recipe re-reads the accepted form response only to recover the normalized email and then writes the minimum student record. It cannot turn an unpaid order into a student.

Which class the student joins

The roster, the assessments, and the scorecards all key on class_key. By default it is the order's tier key, which is the class whenever the tier is named after the class: a manual pass tier, or a Stripe entitlement feature. A Paddle or Lemon Squeezy subscription tier is keyed by the provider's product id (pro_..., or a number), so set Class key on this dish to the class the free enrolment form uses; the tier key is still recorded on the student as entitlement_key. The two enrolment paths then meet on one roster.

Where the student is stored

One student record owned by this pack (D-221), keyed by a collision-safe sha256(canonical-json([class_key, customer_id])) - the same identity the free-enrollment template writes, so a student who moves between the two paths keeps one row rather than gaining a second. The write is an upsert, so re-running the same order handle is safe.

How it works 27 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (27 steps)
■ order_handle_value trim
Trim whitespace from setting order handle
■ order_handle_valid starts_with
Check if order handle value starts with oh_
⚠ order_handle_guard guard
Stop if order handle valid equals
◆ order_read core.seller.order.get
Get seller order
■ order_valid all
Check if all conditions are true
⚠ order_guard guard
Stop if order valid equals
◆ form_response core.data.form-response.get
Get data form response
■ email_raw default
Apply default
■ email_trimmed trim
Trim whitespace from email raw
■ email lowercase
Convert email trimmed to lowercase
■ email_valid compare
Check if email contains @
■ email_bounded_value truncate
Truncate email to a max length
■ email_bounded compare
Check if email equals email bounded value
■ email_checks all
Check if all conditions are true
⚠ email_guard guard
Stop if email checks equals
■ class_key_configured trim
Trim whitespace from setting class key
■ class_key_configured_present compare
Check if class key configured has data
■ tier_key default
Apply default
■ class_key ternary
Apply ternary
■ class_key_bounded_value truncate
Truncate class key to a max length
■ class_key_bounded all
Check if all conditions are true
⚠ class_key_guard guard
Stop if class key bounded equals
■ student_id_seed json_stringify
Apply json_stringify
■ student_id sha256
Apply sha256
■ enrolled_at date_add
Add 0 seconds to
◆ student_upsert recued-core.deeptutor-records.student.upsert
Upsert student on deeptutor records
■ summary to_summary
Format results as a summary card
▼
Output
summary summary
Settings 2 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

class key setting =
order handle setting =

Uses (3 operations)

Selling Get seller order core.seller.order.get
Form responses Get data form response core.data.form-response.get
Pack operation Upsert student on deeptutor records recued-core.deeptutor-records.student.upsert

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Read Selling core.seller.order.get read-only
Read Form responses core.data.form-response.get read-only
Write Pack DeepTutor Records external change
Write: student.upsert · No approval

Data it touches

SurfacesSellingForm responses
Warehousedata.form

About

Tags

pack:deeptutor-daily-masterystudentenrollmentpaidsubscriptionseller-orderclass-tierrecordsmulti-provider

Details

27 steps 2 configurable settings recipe_id: register-paid-student-deeptutor