Help

Qualtrics and airtable integration

3842 2
cancel
Showing results for 
Search instead for 
Did you mean: 
Erin_Kraemer
4 - Data Explorer
4 - Data Explorer

Hi!

I’m working on a project that requires that responses from Qualtrics Surveys get logged in airtable. I keep encountering this mysterious error when I try to create a record via POST. Any advice or direction you might be able to share would be greatly appreciated! I’ve been trying to solve this for almost three days now.

First I create a JSON object formatted according to the api’s specifications in a code task after the response is recorded, then pass that JSON object to the web service to POST to airtable

Here’s the full message I get from Qualtrics when I attempt to write to airtable, with the error message highlighted in red below:

> Input Payload
>     {
>         "payload": {
>             "Fire": true,
>             "pipedTextConfig": [],
>             "exportMappings": [],
>             "customSaveHandler": true,
>             "taskNumber": 2,
>             "elementConfigured": true,
>             "createdAt": 1616820644283,
>             "updatedAt": 1616832335963,
>             "triggerAction": "WebService",
>             "requestType": "POST",
>             "contentType": "JSON",
>             "url": "https://api.airtable.com/v0/appg---------------------------",
>             "textPayload": "{\"records\":[\"~{ch://OCAC_2Qxm6xaGnwmHtfI/fields}\"],\"typecast\":\"true\"}",
>             "name": "Token",
>             "summary": "Authenticate with an access key",
>             "id": "PLUG_d4015baa-9716-4aaa-a26c-45cdd460f081",
>             "taskRegistryId": "APP_42a7f4b6-bb84-4c66-94cc-e3e1208e62bf",
>             "actionId": "OCAC_Xj45GqNFvP9NW6J",
>             "icon": "https://www.xm-apps-static.com/assets/v1/APP_42a7f4b6-bb84-4c66-94cc-e3e1208e62bf/1.0.27/2tl04rGNWIx8qbmr/images/logo-small.png",
>             "contextId": "SV_bPAsnaCYe1SYKmq",
>             "outcomeId": "OC_2CCX3dfIcEIfKIE",
>             "surveyId": "SV_bPAsnaCYe1SYKmq",
>             "Type": "OutcomeAction",
>             "currentPipedTextTestMappings": {
>                 "~{ch://OCAC_2Qxm6xaGnwmHtfI/fields}": ""
>             },
>             "credentials": {
>                 "credentialId": "CRED_WwQTbyqDMWcYyk",
>                 "name": "volunteers",
>                 "scheme": "apikey"
>             },
>             "ownerObject": {
>                 "orgId": "berkeley",
>                 "userId": "UR_eh9TkyjopJ1LOsd"
>             },
>             "keyValues": {
>                 "typecast": "true",
>                 "records": [
>                     "~{ch://OCAC_2Qxm6xaGnwmHtfI/fields}"
>                 ]
>             },
>             "pipedTextImports": {
>                 "url": [],
>                 "headers": [],
>                 "body": [
>                     "~{ch://OCAC_2Qxm6xaGnwmHtfI/fields}"
>                 ]
>             },
>             "exports": [
>                 {
>                     "key": "headers",
>                     "display_name": "Headers"
>                 },
>                 {
>                     "key": "statusCode",
>                     "display_name": "Status Code"
>                 },
>                 {
>                     "key": "data",
>                     "display_name": "Data"
>                 }
>             ],
>             "dependencies": {
>                 "OCAC_2Qxm6xaGnwmHtfI": [
>                     "fields"
>                 ]
>             },
>             "headers": {
>                 "Content-Type": "application/json",
>                 "Authorization": "Bearer {{CRED_WwQTbyqDMWcYyk}}"
>             },
>             "chain": {
>                 "OCAC_2Qxm6xaGnwmHtfI": {
>                     "fields": {
>                         "Email": "erinkraemer@berkeley.edu",
>                         "ResponseId": "R_0JqkYtbDgYRUwP7",
>                         "First": "first",
>                         "Last": "last",
>                         "State": "California",
>                         "County": "orange",
>                         "Race": [
>                             "White"
>                         ],
>                         "RaceOther": "White",
>                         "Phone": "6504683045",
>                         "Languages": [
>                             "Armenian",
>                             "Bengali",
>                             "Cantonese",
>                             "English"
>                         ],
>                         "Roles": [
>                             "Vaccine Appointment Sleuth",
>                             "Community Outreach"
>                         ],
>                         "Source": "ok",
>                         "Certificate": "Yes",
>                         "CertificateCopy": "https://berkeley.qualtrics.com/WRQualtricsSurveyEngine/-----------------",
>                         "School": [
>                             "Yes at UC Berkeley"
>                         ],
>                         "Occupation": "ok",
>                         "Skills": "ok",
>                         "Notes": "oi"
>                     }
>                 }
>             }
>         },
>         "data": {
>             "eventTimestamp": 1616832428607,
>             "throttleCount": 0,
>             "uniqueId": "R_0JqkYtbDgYRUwP7",
>             "contextId": "SV_---------------------",
>             "workspaceId": "SV_------------------------",
>             "workflowName": "Lets see if this workflow"
>         },
>         "user": {
>             "userId": "UR_-----------sd",
>             "brandId": "berkeley"
>         },
>         "notification": {
>             "infos": [],
>             "errors": []
>         }
>     }
> 
>     Task Output
>     {
>         "name": "ACTIONS.ERROR_CODES.INTERNAL_ERROR",
>         "message": "{\"error\":{\"type\":\"INVALID_REQUEST_UNKNOWN\",\"message\":\"Invalid request: parameter validation failed. Check your request d",
>         "needRetry": false
>     }
2 Replies 2

Welcome to the community, @Erin_Kraemer!

I don’t have the specific answer to your question on how to modify your JSON code, but you might want to consider using Integromat instead.

Integromat is a no-code automation tool that lets you integrate Qualtrics and Airtable with just a few clicks of your mouse. No need to type up any JSON data or any other code.

And it’s FREE for up to 1,000 operations per month!

Integromat can monitor for Qualtrics survey responses, and then send the survey data onto Airtable.

Just a few clicks of your mouse, and you’ll be setup:

(Note that I am a professional Airtable consultant and a Registered Integromat Partner, and the Integromat links contain my personal referral code.)

Thanks Scott! Unfortunately, I cannot use Interomat because I do not have the credentials to set it up for my account through my organization.