Zapier adds five hours: Timezone difficulty with Givebutter and Salesforce.

  • 1 January 2024
  • 8 replies
  • 57 views

The profile settings in zapier are EST.

The event settings in Givebutter, the donation platform we are using, are set to EST. 

The Salesforce company timezone is EST. 

When we create an event zapier is adding 5 hours onto whatever timezone we select. 

Please advise. 


This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

8 replies

Userlevel 7
Badge +6

Hi there @AnnH,

Welcome to the Community! 🎉

Before we dig deeper into this, would you mind sharing a detailed screenshot of how your Zap is configured? Also, please send a screenshot of the “Action” section of the action step that show all of its fields. Like so:

46dd6c0979e3d815d621b8da43084ef1.png
(view larger)

Please don't include personal information in the screenshot, or be sure blur out any personal information.

Thanks!

Hello there.

Screenshots of Givebutter and Zapier below.

 

Givebutter Event

 

Zapier with the fields in question. As you can see what is displayed in Zapier and sent to Salesforce from this Givebutter campaign is 4 and 5PM EST.

 

 

Screenshot 2: 

 

 

 

 

Userlevel 6
Badge +8

Hey @AnnH ,

What GiveButter action are you using?

I can’t find any documentation of the `Event` object that it looks like is coming through, but it looks like GiveButter’s API always returns datetimes in UTC, which is currently five hours ahead of Eastern Time.

One way to get around this is to, in the fields you show at the bottom, add a “ -5h” (without the quotes) to the fields and it should subtract five hours. Note you need a space before the minus sign.

The downside of this approach is that, assuming you’re in a place that will observe Daylight Savings Time, you’ll need to change that to “ -4h” when the time change occurs.

There is a second approach that involves a little bit more work but avoids the “time change” problem described above. You can add a Formatter step to convert the times to your timezone (US/Eastern). See this link and then click on the `Format` tab for more details on that.

Let us know if you have more questions!

@shalgrim   Thanks for the reply.  In my situation there are multiple campaigns created in multiple timezones.

So there’s a timezone field in Givebutter, it’ll say “EST” or “PST”, etc. etc. -- that will come over to Zapier, but then the actual time, as we discussed, is always in UTC.

It looks like the only way to capture every possible timezone that the user might select when creating an Event in Givebutter is to use a path for each timezone, convert that time to the appropriate timezone within that path, and update the Event in Salesforce.  Or possibly create a formatter step for each timezone before the paths,  then reference the appropriate formatter step within the path to update.

But I think I’d still need a formatter step for every timezone, right?

Is there a simpler solution or maybe something obvious I am missing as far as how I could auto convert what’s coming over from Givebutter to what it should be before it gets to Salesforce?

 

Userlevel 6
Badge +8

Can you set the timezone to UTC when sending to Salesforce?

Apologies not sure what you mean.

When it’s received from Givebutter it’s in UTC. If I do nothing to it in Zapier, it stays in UTC, and after sending to Salesforce the start/end time of the event will be the UTC time. I want the start/end time for the event in Salesforce to match the actual timezone. I can do it with paths. But there’s lots of possible timezones! 😂  

Userlevel 6
Badge +8

No worries, here’s what I mean. When something happens at Noon UTC, it’s always at Noon UTC no matter where you are on the globe. If you’re in New York in the winter, the clock on the wall will say 7 AM but that time is still Noon UTC. If you send it in to Salesforce and say “Hey, Salesforce, here’s an event that takes place at Noon UTC” it should be smart enough to figure out that that event is at Noon UTC and record it as such in its database. (I would be shocked if Salesforce is storing times as anything but UTC in its database.) Then when you log in from New York in the winter it will show to the user as 7 AM

Salesforce does store date/time in UTC.  But the UTC time is still displayed in this date/time field that comes over from Zapier regardless as to the personal settings of whoever is looking at it.

So, EST campaign created in Givebutter. Stored in UTC. Goes to Zapier. Sent to Salesforce in UTC. Displays to EST user as UTC.  

But also in this case I don’t want to display it as whatever timezone the user is in. I would like to display the actual times based on the timezone of the event. I have a text field that indicates what timezone it is so it’s not confusing. Not necessarily interested in seeing that a 9am event in Israel is at at 2am EST yknow?