How to send Qualtrics survey from custom application not from Qualtrics. | XM Community
Skip to main content

Dear All,
Our aim is distribute Qualtrics survey by Email and SMS but from a custom application not from Qualtrics. We will create a survey in Qualtrics and add the Contacts/Mailing List in the Qualtrics, but distribution should be happen outside Qualtrics.
We are planning to create a NodeJS application or any other approach appreciated. our main aim is to get the contacts and mailing list from Qualtrics and get the Survey URL and distribute to all contacts outside Qualtrics. SMTP configuration /SMS gateway will be done outside Qualtrics. But Survey response , distributed list should be updated in Qualtrics. Some one can suggest Quick and Best approach would be highly appreciate.

Thanks in advance.

You can either create unique links for the contact list and then just distribute them like any other survey.
Or you could take the anonymous link, add your query parameters and create an action task to update your directory post the survey.


Hi Ahmed,
Thanks for your answer, I have created a unique URL for each user and able to distribute to Email and SMS by my NodeJS application. Now I want to update for each contact in Qualtrics after sending URL successfully, from my application I need to update Qualtrics?. How can i do this? can you please tell me which API i have to use?


You can start by looking at the directory api in Qualtrics.


Thanks again for your quick response. could you please tell me which specific API to be used? and I am new to consume these API's.Could you please give me any code to integrate with API?


See the Qualtrics API. You'll probably have to create a field in the directory which corresponds to sent survey. I can't be more specific, as I don't know the pupose of updating.


The purpose for update ,later we need to generate report how many persons survey URL send and how many of them responded. Whole idea is to inform Qualtrics, these contacts survey URL delivered successfully.


  1. You can create some variable in the xm directory, like "sent_survey" and give it any value like true-false, 1-0 etc. after you send the email.

  2. If you have created personal links, they are already tied to contact. You can always to go the xm directory to see what links have been generated for each contact/list

  3. When a person starts a survey with a personalized link, it is updated in the xm directory.

  4. When you download your data, the response will whether the link was anonymous/personalized.

  5. At any point during the data collection phase, you can go to the distribution section to see how many links were opened and for how long.

To me, therefore, this steps seems redundant, so, you see why I'm confused, and not able to provide an appropriate answer.
Perhaps what you are looking for email validation, i.e. whether the email id is correct, for that I would recommend using something like mailgun, sendgrid, mailjet etc. which provide much better solutions. These platforms also have features related to inbox placement, delivery confirmation etc.
I do not know what your app does or why do you want to update Qualtrics that the link was sent. Why are you generating a link, if you don't want to send it? Send me a PM with the details of the problem, and I maybe able to provide more directed assitance.


Hi Ahmed,
Thanks for your response, Can we have a call in either Zoom or Microsoft Teams? It will be a quick call I can explain the correct situation


Hi Ahmed,

Actually I want to update the below survey details from my application. For each person survey links will be generated in Qualtrics and using my NodeJS application will send the survey URL and SMS. While sending each contact I have to update the following details using API. like : Status { Sent : 1, bounced : 0, From email : ouremail@email.com.....}

"headers": {
"fromEmail": null,
"replyToEmail": null,
"fromName": null
},
"message": {
"libraryId": null,
"messageId": null,
"messageText": null
},
"embeddedData": null,
"stats": {
"sent": 0,
"failed": 0,
"started": 5,
"bounced": 0,
"opened": 5,
"skipped": 0,
"finished": 4,
"complaints": 0,
"blocked": 0
}
},


Leave a Reply