I'm stuck with condition based matching

Hi!

Use case: we onboard job seekers (JSs) who share their job preferences and send them job opportunities (JOs) we have available.

Both JSs and JOs have a number of details based on which we’re looking for a perfect match. Example: JSs can specify they are looking for manual work in Prague (true/false value), we need to match them with with a manual JOs located in Prague.

Both JSs and JOs are stored in Airtable base, separate tables.

I’m struggling with effectively matching the two. What I tried was:

  1. Get available JOs (around 30)
  2. Aggregate the results by Airtable record IDs to save operations
  3. Get JSs (around 250 as of now)
  4. Match JOs with JSs by filters
  5. Save matching JOs Airtable record IDs as linked records in JSs table.

However an aggregated string from step 2 can contain multiple records that don’t match the JSs (eg. some of them are a match, and some of them are not).

Note the (4) is multi-layer filtering as some of the onboarding questions for JSs are optional, some of the answers for onboarding questions may not be available. THIS is the biggest struggle right now as this is hardly feasible to set up.

I’d appreciate if some of you have had experience with a similar use case and could share some ideas I could go ahead with. Inspiration and out of the box ideas are highly welcome!

Thank you,
Adam

Hello!

If I understood well, both JOs and JSs have an array field that contains preferences (for JSs), and details (for JOs). And you want to add a link between JOs and JSs if all items in JSs = all items in JSs, right? When you say “perfect match”, does it mean it has to be the exact same list of info in both JOs and JSs?

Could you eventually show use an example record for both JO and JS and explain how you want to match? It will help us understand what exactly you need so that we can hopefully help you.

Benjamin