Skip to main content

Zapier

API key

The Linguapop Zapier integration requires an active Integration API key for authentication.

We suggest that you create a separate API key for your Zapier integration.

Linguapop Integration

The Linguapop Zapier integration consists of the following:

  • New Placement Test Result trigger
  • Create Placement Test Invitation action

New Placement Test Result trigger

When you create or activate a Zap using this trigger, Zapier sends a POST request to our server with your Integration API key and a callback URL of the Zap.

We then store the URL in our database and send the placement test result data each time one of your candidates completes their placement test.

You can have multiple active Zaps using the trigger and each active Zap will be triggered whenever your candidate completes their placement test.

The trigger will send the following data to each active Zap:

  • externalIdentifier - string, can be null, max length 500
    • This is an ID you can generate from your CRM to uniquiely identify your candidate.
  • invitationId - number (integer)
    • The unique ID of the invitation. Same ID as the one you receive from Linguapop.
  • placementTestId - number (integer)
    • The unique ID of the placement test. You can use this to identify the placement test within the Linguapop app.
  • name - string
    • The name of the tested candidate.
  • email - string
    • The email of the tested candidate.
  • phone - string
    • The phone number of the tested candidate.
  • finalLevel - string
    • The final level Linguapop determined for the candidate, as a human-readable string.
  • finalLevelCode - string
    • The final level Linguapop determined for the candidate, as a unique machine-readable code.
  • reading - number (integer), can be null
    • The number of questions answered correctly for the reading task, if any.
    • Will be null if no reading task was performed.
  • readingMax - number (integer), can be null
    • The total number of question for the reading task.
    • Will be null if no reading task was performed.
  • listening - number (integer), can be null
    • The number of questions answered correctly for the reading task, if any.
    • Will be null if no reading task was performed.
  • listeningMax - number (integer), can be null
    • The total number of question for the listening task.
    • Will be null if no listening task was performed.
  • rating - number (floating point)
    • The system-determined rating for the candidate.
    • This rating corresponds to the level from the finalLevel and finalLevelCode fields.
    • For details, see Levels used in Linguaopop
  • completedOn - string, ISO 8601-formatted UTC timestamp without offset
    • The date and time when the placement test has been completed.
    • This is an ISO 8601-formatted UTC timestamp, without an offset component.
  • publicResultsUrl - string
    • This is a direct link to the results page that your candidate can access.
Response
{
"externalIdentifier": "EXTERNAL_IDENTIFIER",
"invitationId": INVITATION_ID,
"placementTestId": PLACEMENT_TEST_ID,
"name": "CANDIDATE_NAME",
"email": "CANDIDATE_EMAIL",
"phone": "CANDIDATE_PHONE_NUMBER",
"finalLevel": "B2 High",
"finalLevelCode": "B2H",
"reading": null,
"readingMax": null,
"listening": null,
"listeningMax": null,
"rating": 1652.7278254974933,
"completedOn": "2023-08-14T13:58:06.391139Z",
"publicResultsUrl": "PUBLIC_RESULTS_URL"
}

When you deactivate or delete your Zap, Zapier will send a request to our server to deactivate the associated trigger.

Our server will then no longer send the result data to that specific Zap.

Create Placement Test Invitation action

The action allows you to create and send a placement test invitation to your candidate.

Input parameters:

  • externalIdentifier - optional, string, max length 500
    • This is an ID you can generate from your CRM to uniquiely identify your candidate.
  • name - optional, string
    • The candidate's name. This can be used to identify your candidate.
  • email - required, string
    • The candidate's email address. This can also be used to identify your candidate.
  • languageCode - required, string
    • The code of the language you want to test. All language codes will be listed in a dynamic dropdown. Supports custom strings but requires that advanced Zapier conditions are set.
  • sendEmail - required, boolean
    • This determines whether Linguapop sends an invitation email to your candidate.
  • testReading - optional, boolean
    • This determines whether the test will include a reading section.
    • If not provided, the default option set in your Customization will be used.
  • testListening - optional, boolean
    • This determines whether the test will include a listening section.
    • If not provided, the default option set in your Customization will be used.
  • returnUrl - optional, string, max length 1000
    • The URL the candidate will be redirected to after completing the placement test. The redirect is triggered by a button on the results screen.
    • If not provided, the button will not be visible.

The action will return the following data to your Zap:

Response
{
"invitationId": INVITATION_ID,
"externalIdentifier": "EXTERNAL_IDENTIFIER",
"url": "https://app.linguapop.eu/accept-placement-test-invitation/INVITATION_TOKEN",
"emailSent": false
}