Help

The Community will be temporarily unavailable starting on Friday February 28. We’ll be back as soon as we can! To learn more, check out our Announcements blog post.

How do I set a date field to NOW() in automation?

Solved
Jump to Solution
8977 6
cancel
Showing results for 
Search instead for 
Did you mean: 
Ruchika_Abbi1
7 - App Architect
7 - App Architect

I want to set a Date field to the current date time in an automation. I tried using a formula field (with NOW()) from a previous step in the automation to set this Date field but the automation fails with the error;
Field "Date" cannot accept the provided value: Could not convert string to date.

No amount of formatting of the formula field is helping. 

1 Solution

Accepted Solutions
Alexey_Gusev
13 - Mars
13 - Mars

Hi,
Using NOW() to set current time, you should be aware that it updates every 5-10 minutes. So, the minute value won't be precise to a single minute. Also, it can cause delay of triggering automation.
I would set one-liner script step and use output for field value in next Update step. Precision+No delay+No extra column.
 

output.set('now',new Date().toISOString())

 here, 'now' is just a variable name, you can change it

See Solution in Thread

6 Replies 6

Hmm, weird.  Could you provide screenshots of your table and automation setup, or access to an example base where you're encountering this issue?

I was able to use an automation to paste the value from a formula field with "NOW()" into a Date field without that error and so I think my setup's different from yours:

Screenshot 2023-05-04 at 10.28.42 PM.png

Screenshot 2023-05-04 at 10.28.36 PM.png
Link to base

Alexey_Gusev
13 - Mars
13 - Mars

Hi,
Using NOW() to set current time, you should be aware that it updates every 5-10 minutes. So, the minute value won't be precise to a single minute. Also, it can cause delay of triggering automation.
I would set one-liner script step and use output for field value in next Update step. Precision+No delay+No extra column.
 

output.set('now',new Date().toISOString())

 here, 'now' is just a variable name, you can change it

This worked, thanks!

garyj
4 - Data Explorer
4 - Data Explorer

Thanks for the solution

Thanks for this solution - simple, efficient and genuis! 🙂

clabonty
5 - Automation Enthusiast
5 - Automation Enthusiast

This script is great, very helpful for some of my automated emails! But can you help me refine the formatting a bit for my use?

Here's my current code:

 

 

output.set('now',new Date().toLocaleString("en-US", {timeZone: "America/Los_Angeles"}))

 

 

This outputs: 6/25/2024, 5:15:25 PM

I wanted the date/time to be formatted differently, so I'm using toLocaleString instead of toISOString. And I was able to properly set the timezone as I desire... however I can't figure out how to remove the seconds. Everything I've tried so far generates an error.

I'm a bit of a Java newbie, so any help is appreciated!

EDIT: I figured it out, here's my current code which has a nice clean output.

output.set('now', new Date().toLocaleString("en-US", {
    timeZone: "America/Los_Angeles",
    month: 'numeric',
    day: 'numeric',
    year: 'numeric',
    hour: 'numeric',
    minute: 'numeric',
    hour12: true
}).replace(',', '').replace(' AM', 'AM').replace(' PM', 'PM'));