I have created a webhook with Microsoft flow to send an email out when the survey is submitted but the date in the email returns as a long string of numbers ex:
I have it set up as a date type question in survey123 and it looks like this within the webhook:
I'm not sure what I'm doing wrong and help on this is much appreciated
Solved! Go to Solution.
Hi. You can use the addseconds function as follows.
addseconds('1970-1-1', Div(triggerBody()?['feature']?['attributes']?['mydate'],1000) , 'yyyy-MM-dd')
For context, Survey123 date and time objects are expressed in UNIX time. UNIX time is the number of seconds elapsed since Jan 1 1970. With addseconds, you can get back a human friendly date and or time string.
This and some other tips on Microsoft Flow available at: https://community.esri.com/groups/survey123/blog/2018/07/19/automating-workflows-with-survey123-and-...
It looks like the date is being exported in EPOCH time. See this link for an explanation of different date/time formats. I'm not sure how dates are handled when they are sent from Survey123 to other web apps but here is what I would try.
Create a calculated field in your survey (it should be hidden by default). In the calculate column try:
format-date(${[name of your date field]},'%m/%d/%Y')
This should create a new field with the date expressed as a string in the format MM/DD/YYYY. You should be able to reference this in your email webhook.
Note - you can customize the format however you need. The different options are listed on the link.
Thanks Chris so with doing what you recommended you can't immediately see your attribute as an option in the Microsoft Webhook dynamic content list because it's hidden in your survey. So going onto expression I was able to just type it out as:
Thanks a bunch!
Hi. You can use the addseconds function as follows.
addseconds('1970-1-1', Div(triggerBody()?['feature']?['attributes']?['mydate'],1000) , 'yyyy-MM-dd')
For context, Survey123 date and time objects are expressed in UNIX time. UNIX time is the number of seconds elapsed since Jan 1 1970. With addseconds, you can get back a human friendly date and or time string.
This and some other tips on Microsoft Flow available at: https://community.esri.com/groups/survey123/blog/2018/07/19/automating-workflows-with-survey123-and-...
If anyone wants to convert UNIX time into a readable date string using Integromat - use a similar expression to what's shown below.
{{formatDate(parseDate(substring(1.feature.attributes.dateTimeFieldName;0;10); "X"); "YYYY-MM-DD hh:mm A")}}
Can we use this in the Source File > Map? To rename the file? or is there another process
Thank you!!
Thank you Anonymous User, you are true hero!
Worked like a charm. Thanks!