I have dealt a few times with the challenge of linking two different sets of people according to a specific condition (teachers with students, consultants with clients, mentors with mentees, etc.). I have generally adopted two different approaches, both triggered whenever a new student is created as when a student is created, you need to assign a teacher to him/her.
Easy to implement but limited → Using Airtable/Zapier automations to perform the matching by using find automations which you can set to look for the relevant teacher record (for example look for all teachers with spare capacity)
Harded to implement but extremely flexible → Using an Airtable script triggered whenever a new student is created. The script should go into the teachers’ table and look for a teacher with spare capacity and then assign the student to the teacher found. I prefer this implementation as down the line you might want to add additional logic (like making the choice of the teacher among the teachers with spare capacity randomized, adding to the choice relevancy scores based on common interests between teachers and students and much more)
Hope this was helpful!
Calendly: Calendly - Alessio Monino