MasterStudy LMS에서 레슨을 완료한 사용자를 AirTable에 자동 등록하는 방법
WordPress 사이트에서 사용자가 MasterStudy LMS의 레슨을 완료할 때마다, 사용자·레슨·코스에 관한 커스텀 데이터를 AirTable로 전송하고 지정된 테이블에 레코드를 생성합니다.

인테그레이션
사용자가 MasterStudy LMS의 레슨을 완료할 때마다, 커스텀 데이터를 AirTable로 전송하고 지정된 테이블에 레코드를 생성합니다.
이 동영상에서는 사용자가 LMS 코스에서 두 개의 레슨을 완료합니다. 각 레슨이 완료되면 Gato GraphQL 자동화가 필요한 데이터와 함께 AirTable에 레코드를 생성합니다.
테이블에는 사용자 데이터로 Name, ProfileURL, Email 열이 있으며, LMS 데이터로 Course와 Lesson 열이 있습니다.

다음 GraphQL 쿼리를 포함하는 퍼시스티드 쿼리를 생성하고, 제목을 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
}
}
]
}
}
})
}퍼시스티드 쿼리는 MasterStudy LMS의 액션 훅 stm_lms_lesson_passed(아래 참조)에서 파라미터를 받아 관련된 모든 데이터를 가져옵니다.
- 사용자의 이름, 이메일 주소, URL
- 레슨의 제목
- 코스의 제목
그런 다음 AirTable API에 연결하여 제공된 데이터로 레코드를 생성합니다.
API에 연결하려면 인증을 위한 개인 액세스 토큰이 필요합니다. 테이블용 개인 액세스 토큰을 생성하고, 스코프 data.records:write를 할당해 주세요.
다음으로, 새 자동화를 생성하고 MasterStudy의 액션 stm_lms_lesson_passed를 트리거로 설정합니다.
이 액션 훅은 다음 데이터를 제공합니다.
do_action( 'stm_lms_lesson_passed', $user_id, $lesson_id, $course_id );또한 동적 변수의 JSON 딕셔너리를 제공하여 액션의 세 가지 파라미터를 모두 GraphQL 쿼리의 변수로 전달해야 합니다.
{
"userId": 1,
"lessonId": 2,
"courseId": 3
}
액션으로는 새로 생성한 퍼시스티드 쿼리 Export MasterStudy LMS lesson data to AirTable를 선택하고, AirTable 데이터가 포함된 정적 GraphQL 변수의 JSON 딕셔너리를 제공합니다.
{
"baseId": "{ your baseId }",
"tableName": "{ your tableName }",
"personalAccessToken": "{ your access token }"
}
마지막으로 자동화를 게시합니다. 이후부터는 사용자가 레슨을 완료할 때마다 AirTable 테이블이 자동으로 업데이트됩니다.