I have a fairly complex application form as part of an intake flow for a learning program. The first part of the application has a series of screening questions to see if the respondent is eligible for the program. If they are eligible, we then ask for their personal information (name, email) and feed that into Salesforce to churn through our automated onboarding process.
If they aren’t eligible for the program, we then ask if they would like to sign up for our mailing list so we can capture their information and send updates in case our requirements change in the future. If they say yes, we then ask for their name and email as well. If they say no, we show them an ending.
The issue I’m running into is that the sync to Salesforce was working well for the first few days, and then stopped abruptly. The error messages simply said “Exception: Invalid field for Contact” with no other information. Eventually, I realized that we had received a few responses that were ineligible for the program and had selected No for the mailing list (and therefore did not have name or email attached). When I deleted these responses from our Typeform response table, all of the new responses finally synced up properly.
To me, the expected behaviour would be that if a response doesn’t have enough information to create a Salesforce record, it would skip that response and move on to the next. However, it looks as though what actually happens is that it blocks the syncing of any responses until they are removed on the Typeform end.
Is there a way to change this behaviour? We very much don’t want to collect the names and emails of every single person filling out the form from a data ethics perspective, unless they are eligible for our programs. Even if I take out the mailing list signup and have that be a separate linked form, anyone who fails screening questions would create a response without the required fields and muck up the Salesforce sync.
Would love some insight or recommendations to explore here.