Nickolas Strebig | XM Community
Solved

Nickolas Strebig

  • 7 September 2018
  • 1 reply
  • 7 views

Hello,

We have set up a survey where we display a clients contact information for them to confirm or update their information. For this survey we have created personalized links for each client which we have embedded in a Iframe of a splash page they see when they log into their client portals. We are pulling results automatically via an API call that brings the submissions into our internal database, compares the data to what we have on file and then sends a confirmation email if anything has changed.

We ran into a issue where partial responses were closing after a weeks time and bringing unsubmitted data into our systems, shooting off confirmation emails to clients who never submitted anything. Since the survey is embedded into a splash page that the client hits upon entering their client portal, all of the clients who log in will automatically have "started" their survey even if the client next enters anything and bypasses. Right now I have partial responses to delete after one week to alleviate the issue of the emails automatically sending of. However, I was informed today that this option also will make those personal urls inactive once the partial response is deleted. This causes an issue as we want to display the splash page again if a client bypasses it without having to generate new urls each time someone doesn't complete the survey the first time seeing it.

An idea I had was to set the partial responses to record after a long period of time and delete them prior to that time frame passing so they don't record. However, so we don't have to keep track of time frames for thousands of clients and manually delete them I was wondering if there is a way to utilize the API call to delete partial responses after a certain period of time? This could allow us to keep the survey open longer than one week without concern that the response will eventually close without the client submitting, triggering the automatic emails. For examples we set partial responses to record after 5 months of the last activity but utilize the API call to delete partial responses after 4 months of inactivity.

If the theory above is not possibly, is it possible let those partial responses record but then set up the API call to only pull results who have a Progress value of 100% and a Finished value of True?

Any help would be greatly appreciated!
icon

Best answer by JasonHill 7 September 2018, 19:53

View original

1 reply

Userlevel 4
Badge +6
If I'm understanding this correctly, the API call is firing based on whether the iFrame was displayed to the user. It may be better to use branching and then have the API call fire at the end of that branch, only after the user hits the 'Submit' button. This could be accomplished by using a custom end of survey message for that branch that uses the Redirected to a URL option (Notes on this at the bottom). For example, if they see their contact information on the splash screen, they see two buttons: Confirm & Update. If they choose Confirm, close the survey. If they choose Update, take them to the Update branch. They fill in their updated info and then click the Submit button. When they click the Submit button, they're redirected to a custom URL. The custom URL that contains the data they entered for the API call.

We did something similar to feed Qualtrics-entered data into DocuSign, but we didn't want a new DocuSign to be created unless the user actually submitted something. This is the URL we entered:

https://na2.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=XX-XX-XX-XX-XX&Employee_UserName=${e://Field/EmployeeFullName}&Employee_Email=${e://Field/UvuEmail}&Employee_Department=${e://Field/Department}&Employee_SupervisorName=${e://Field/SupervisorFullName}&Supervisor_UserName=${e://Field/SupervisorUvuEmail}&Supervisor_Email=${e://Field/SupervisorUvuEmail}&Compliance_UserName=${e://Field/COIEmail}&Compliance_Email=${e://Field/COIEmail}

I masked the PowerFormId value, but you get the gist. You can see that we're grabbing the embedded data values for the DocuSign fields, not the user's actual input for the question. The embedded data values are set from the user's input, though.

If you do it this way, your redirect URL could display a 'Thank You' message within the iFrame, so the user has some visual feedback.

Doing it this way would only fire the API call when the user clicks the Submit button. Partial responses can just be deleted.

To redirect to a custom URL for a specific branch, do the following:

1. In the Survey Flow, you would add an 'End of Survey' element at the end of the Update branch
2. Override the Survey Options
3. choose Redirect to a URL
4. Enter the custom URL in that field.

Leave a Reply