Hoe gebruikers die een les van MasterStudy LMS hebben voltooid automatisch in AirTable te registreren
Telkens wanneer een gebruiker een les van MasterStudy LMS op de WordPress-site voltooit, stuur je aangepaste gegevens (over de gebruiker, les en cursus) naar AirTable en maak je records aan in een opgegeven tabel.

Integraties
Telkens wanneer een gebruiker een les van MasterStudy LMS voltooit, sturen we aangepaste gegevens naar AirTable en maken we records aan in een opgegeven tabel.
In deze video voltooit de gebruiker twee lessen van een cursus in het LMS. Wanneer elke les wordt voltooid, maakt een Gato GraphQL-automatisering een record aan in AirTable met de vereiste gegevens:
De tabel heeft kolommen Name, ProfileURL en Email met gegevens van de gebruiker, en Course en Lesson van het LMS.

Maak een persisted query aan met de volgende GraphQL-query en geef het de titel Export MasterStudy LMS lesson data to AirTable:
query ExportUserData(
$userId: ID!
$lessonId: ID!
$courseId: ID!
) {
user(by: { id: $userId }) {
displayName
@export(as: "userDisplayName")
email
@export(as: "userEmail")
url
@export(as: "userURL")
}
course: customPost(by: {id: $courseId}, customPostTypes:["stm-courses"]) {
title
@export(as: "courseTitle")
}
lesson: customPost(by: {id: $lessonId}, customPostTypes:["stm-lessons"]) {
title
@export(as: "lessonTitle")
}
}
query CreateRecordInAirTable(
$baseId: String!
$tableName: String!
$personalAccessToken: String!
)
@depends(on: "ExportUserData")
{
url: _sprintf(
string: "https://api.airtable.com/v0/%s/%s",
values: [$baseId, $tableName]
)
bearerToken: _sprintf(
string: "Bearer %s",
values: [$personalAccessToken]
)
@remove
response: _sendJSONObjectItemHTTPRequest(input: {
url: $__url,
method: POST,
options: {
headers: [
{
name: "Authorization",
value: $__bearerToken
}
]
json: {
records: [
{
fields: {
Name: $userDisplayName,
ProfileURL: $userURL,
Email: $userEmail,
Course: $courseTitle,
Lesson: $lessonTitle
}
}
]
}
}
})
}De persisted query ontvangt de parameters van de action hook stm_lms_lesson_passed van MasterStudy LMS (zie hieronder) en haalt alle bijbehorende gegevens op:
- De naam, het e-mailadres en de URL van de gebruiker
- De titel van de les
- De titel van de cursus
Vervolgens maakt het verbinding met de AirTable API en worden de records aangemaakt met de opgegeven gegevens.
Om verbinding te maken met de API hebben we persoonlijke toegangstokens nodig voor authenticatie. Zorg er dus voor dat je een persoonlijk toegangstoken aanmaakt voor je tabel en het bereik data.records:write toekent.
Vervolgens maken we een nieuwe automatisering aan en geven we de action stm_lms_lesson_passed van MasterStudy op als trigger.
Deze action hook levert de volgende gegevens:
do_action( 'stm_lms_lesson_passed', $user_id, $lesson_id, $course_id );We moeten ook het JSON-woordenboek opgeven voor de dynamische variabelen, om alle drie de parameters van de action als variabelen door te geven aan de GraphQL-query:
{
"userId": 1,
"lessonId": 2,
"courseId": 3
}
Voor de action selecteren we de nieuw aangemaakte persisted query Export MasterStudy LMS lesson data to AirTable en geven we het JSON-woordenboek op voor de statische GraphQL-variabelen met gegevens uit AirTable:
{
"baseId": "{ your baseId }",
"tableName": "{ your tableName }",
"personalAccessToken": "{ your access token }"
}
Publiceer ten slotte de automatisering. Vanaf nu wordt de AirTable-tabel automatisch gevuld telkens wanneer de gebruiker een les voltooit.