@siennaatsafe (Sienna I was told it might be good to tag you since you were instrumental in making the video I reference below).
The Issue - Topic not working on FME Server when submitting a survey via Esri's Survey123 for ArcGIS
We use Esri's Survey123 for ArcGIS to collect field data. User's utilize the mobile application to collect the data and not the online version of Survey123. In the past we've used Microsoft Power Automate (formerly known as Microsoft Flow) and recently we've tried Integromat for sending out notifications ranging from a simple generated email letting stakeholders know when a survey was submitted all the way up to letting those same stakeholders know when certain values fall outside the maximum or minimum allowable range. Being that we are a big FME user (Both Desktop and Server) we were thrilled to see it can be used for notifications based on a webhook in Survey123.
On September 25, 2019 there was a video posted, that was created by Safe, on how to do this at a high level. I say high level because the video is only a little over 3 minutes long, so it assumes everything falls right into place when setting up the Topic and Topic Monitoring to listen for Survey123 submissions. For anyone interested you can find it on Safe's official YouTube channel. It's titled ... FME Tutorials: Automating Workflows from Survey123 to ArcGIS using FME Server. The link to this YouTube video on the FME Channel is:
https://www.youtube.com/watch?v=9X4b3YcQsaU
We have followed everything in this tutorial regarding setting the topic up and even testing Topic Monitoring but no matter how many surveys we submit via the application, nothing shows up in Topic Monitoring like you see in the Safe video when they test it. The only thing different is we do not generate, or submit, the survey with the less robust online option of Survey123 like it is being done in the video. This shouldn't matter anyway, because a submission is a submission regardless of how it is done. Meaning the records will always be applied directly to the survey located at https://survey123.arcgis.com/ when submitted.
The first question you will likely have is .. Did we build out the webhook properly on Survey123? The answer is yes. We established it by generated a token on FME Server and applying it to the webhook. It looked exactly like this on Survey123 (I'm leaving out our company specific information in the name of security. It has been replaced with the bold bracketed text below.):
Payload URL:
https://fme.sCOMPANY SPECIFIC INFO].com/fmerest/v3/notifications/topics//TOPIC NAME INSERTED HERE]/message/subscribercontent?token=t40 CHARACTER TOKEN GENERATED ON FME SERVER]
The next question will be ... Did we create the Topic on FME Server correctly? I'm 99.9999 percent sure we did because when we use the FME Server REST API V3 site for testing the Topic it works flawlessly and shows the proper information under Topic Monitoring. So, we know we have it set up correctly or nothing would come through Topic Monitoring.
We did have a question related to the video that has us perplexed. Watch the video FME Tutorials: Automating Workflows from Survey123 to ArcGIS using FME Server, mentioned above, and pause it at the 1:25 mark. The screen you will be paused on is one found under FME Server's Notifications --> Topics section where Safe has chosen to edit the Topic of PSGraffitiReporting. Notice the generated token that Safe uses for their demonstration video is embedded in the two URLs shown under the POST URL section (Message as Subscriber Content and Message as Subscriber Settings). We cannot figure out how Safe was able to achieve this, so we can embed the Token in our Topic as well. I will use Safe's URL with Token for the next examples (Even ours).
This is what the 2 URLs looks like on Safe's Topic if you paused the YouTube video:
Message as Subscriber Content
Message as Subscriber Settings
Here's the issue. No matter what we try ours looks like this below. With fmetoken=.TOKEN] at the end instead of it displaying our actual 40-character generated token, like the example clearly shows in this Safe video. Remember I'm using Safe's URLs to demonstrate what we see on our Topic for this example below:
This is what the 2 URLs would look like on our Topic:
Message as Subscriber Content
Message as Subscriber Settings
Please note that via the online live chat option yesterday with Safe - FME Server Support, Jen (The person helping us) verified that the version of FME Server being used in the video matches the version we are currently using. So, this is not a missing functionality issue due to one version of FME Server being newer than the other.
Thank you in advance for any insight or direction you can give us to assist us in making this work. The video is great, but it moves so quick through everything there's no time for possible troubleshooting potential issues related to this procedure not working. Any additional information used by Safe while building this out that can be shared would be greatly appreciated
Thank you in advance for any help you can provide.
Sincerely,
Tony