CMS Development

vikram-mit
Participant

inserting date into email template

SOLVE

i have email template for our lead follow up emails where we usually suggest a date 2 business days of sending the email. currently, it is a pain to manually update the date every time we send email. is there a way to insert it dynamically the way we can do the personalization attributes?

1 Accepted solution
amwilie
Solution
Key Advisor | Elite Partner
Key Advisor | Elite Partner

inserting date into email template

SOLVE

@LoraBergeron 

You can use the plus_time filter to get a future date from the current date, like so:

{% set future_date = local_dt|plus_time(21, 'days')%}
{{ datetimeformat(future_date, '%B %e, %Y') }}

If this answer solved your question, please mark it as the solution!

border

Alyssa Wilie

Web Developer at LyntonWeb

Kickstart your success on HubSpot's CMS with a theme by the HubSpot experts at Lynton


View solution in original post

21 Replies 21
LoraBergeron
Contributor

inserting date into email template

SOLVE

Thank you, thank you!!  Works perfectly!

0 Upvotes
amwilie
Solution
Key Advisor | Elite Partner
Key Advisor | Elite Partner

inserting date into email template

SOLVE

@LoraBergeron 

You can use the plus_time filter to get a future date from the current date, like so:

{% set future_date = local_dt|plus_time(21, 'days')%}
{{ datetimeformat(future_date, '%B %e, %Y') }}

If this answer solved your question, please mark it as the solution!

border

Alyssa Wilie

Web Developer at LyntonWeb

Kickstart your success on HubSpot's CMS with a theme by the HubSpot experts at Lynton


YHandler
Member

inserting date into email template

SOLVE

hi there! 

 

how do we implement this ?

 

best,

jona

0 Upvotes
spogue
Top Contributor

inserting date into email template

SOLVE

@amwilie This is really great, thanks for the solution. I'm curious to how this would work if I only wanted to show the next 4 business days? If its showing today (a Thursday), it would show Friday, Monday, and Tuesday. Is that possible through Hubl?  

0 Upvotes
amwilie
Key Advisor | Elite Partner
Key Advisor | Elite Partner

inserting date into email template

SOLVE
@spogue Not sure if you can get them concurrently but you can use multiple plus_time calls to get the next three days and %A in the format to get the weekday.

{{ datetimeformat(local_dt|plus_time(1, 'days'), "%A") }}
{{ datetimeformat(local_dt|plus_time(2, 'days'), "%A") }}
{{ datetimeformat(local_dt|plus_time(3 , 'days'), "%A") }}

If this answer solved your question, please mark it as the solution!

border

Alyssa Wilie

Web Developer at LyntonWeb

Kickstart your success on HubSpot's CMS with a theme by the HubSpot experts at Lynton


ShiranA
Contributor

inserting date into email template

SOLVE

Thank you! This was very helpful!

0 Upvotes
spogue
Top Contributor

inserting date into email template

SOLVE

@amwilie Makes sense. Have you ever seen code to only show business days?

 

For example, if I took the way you just wrote the code, but I only wanted to show the next 3 business days, is there a way to "skip" weekdays if one of those days is a Saturday or Sunday? Like this:

 

Friday, September 24, 2021

Monday, September 27, 2021

Tuesday, September 28, 2021

 

Thanks again for the help.

0 Upvotes
amwilie
Key Advisor | Elite Partner
Key Advisor | Elite Partner

inserting date into email template

SOLVE

@spogue  You can use a for loop and if statements to increase the plus_time if the weekday lands on a Saturday or Sunday. You'll probably want to put this in a custom module instead of directly in the email though.

 

{% for day in [1, 2, 3] %}
  {% if datetimeformat(local_dt|plus_time(day,'days'), '%A') == "Saturday" %}
    {{ datetimeformat(local_dt|plus_time(day + 2,'days'), '%A, %B %e, %Y') }}<br>
  {% elif datetimeformat(local_dt|plus_time(day,'days'), '%A') == "Sunday" %}
    {{ datetimeformat(local_dt|plus_time(day + 1,'days'), '%A, %B %e, %Y') }}<br>
  {% else %}
    {{ datetimeformat(local_dt|plus_time(day,'days'), '%A, %B %e, %Y') }}<br>
  {% endif %}
{% endfor %}

 

If this answer solved your question, please mark it as the solution!

border

Alyssa Wilie

Web Developer at LyntonWeb

Kickstart your success on HubSpot's CMS with a theme by the HubSpot experts at Lynton


Glay_Imutan
Participant | Diamond Partner
Participant | Diamond Partner

inserting date into email template

SOLVE

Hello Alyssa,

 

Is there a way how to change the format of personalization tokens? For example, instead of 7/14/2022, the output will be Jul 14, 2022.

 
Here's what it looks like from the source code:

Screen Shot 2021-08-24 at 8.30.30 PM.png

 

Thank you in advance.

amwilie
Key Advisor | Elite Partner
Key Advisor | Elite Partner

inserting date into email template

SOLVE

@Glay_Imutan I believe using the filter instead of the function is better suited for personalization tokens:

 

{{ company.subscription_end_date|datetimeformat('%b %e, %Y') }}

 

 

If this answer solved your question, please mark it as the solution!

border

Alyssa Wilie

Web Developer at LyntonWeb

Kickstart your success on HubSpot's CMS with a theme by the HubSpot experts at Lynton


Glay_Imutan
Participant | Diamond Partner
Participant | Diamond Partner

inserting date into email template

SOLVE

That was fast! Thanks Alyssa. I tried the script above however I think I missed something? 

Here's what it looks like from the source code:

Screen Shot 2021-08-25 at 2.30.02 AM.png

It doesn't reflect the date as it should be. It appears blank on the "preview" mode:

 

Screen Shot 2021-08-25 at 1.56.26 AM.png

 

What could be the problem? 

amwilie
Key Advisor | Elite Partner
Key Advisor | Elite Partner

inserting date into email template

SOLVE

@Glay_Imutan Sorry, I completely missed that this post was about email. Unfortantely, Hubspot does not support formatting on contact properties in email. 😔

 

As stated in their documentation :
"Please note that using filters on any personalization variables (such as but not limited to contacts, company, and deal variables) is not currently supported for email in HubSpot due to how emails are rendered"

If this answer solved your question, please mark it as the solution!

border

Alyssa Wilie

Web Developer at LyntonWeb

Kickstart your success on HubSpot's CMS with a theme by the HubSpot experts at Lynton


Glay_Imutan
Participant | Diamond Partner
Participant | Diamond Partner

inserting date into email template

SOLVE

Oh no worries! thanks for checking and for helping me. Greatly appreciate your effort 😃

 

I'll just use zapier to do the format. 

CCassidy
Member

inserting date into email template

SOLVE

This is great!!

I've been looking through HubL, some really good stuff. 

One more additional question on this one.

 

in a workflow within an email can I set the date as 'end of the month' for example: Available until the end of May

So then June arrives and it will prepopulate to now be Available until the end of June.

 

Thank you in advance.

0 Upvotes
amwilie
Key Advisor | Elite Partner
Key Advisor | Elite Partner

inserting date into email template

SOLVE

@CCassidy You can grab the current month like so :

{{ datetimeformat(local_dt, '%B') }} 

So at the time of me posting this that code would output "May" then on June 1st it'll start outputting "June".

If this answer solved your question, please mark it as the solution!

border

Alyssa Wilie

Web Developer at LyntonWeb

Kickstart your success on HubSpot's CMS with a theme by the HubSpot experts at Lynton


amwilie
Key Advisor | Elite Partner
Key Advisor | Elite Partner

inserting date into email template

SOLVE

@vikram-mit 

You don't need a personalization token or workflow. You just need one little line of HubL -

 

{{ datetimeformat(local_dt, '%B %e, %Y') }}

 


You can hardcode it into a module or you can even paste it into the HTML of a richtext module. Note: if placed in a richtext module it'll show as code in the page editor, but the date will be rendered in preview and on send). Ex:

Page Editor (Do not type directly into the rich text, open the source code)
email-date-03.png

email-date-02.png

 

Preview

email-date.png

 

 

 

 

 

 

 

 

 

 

If this answer solved your question, please mark it as the solution!

border

Alyssa Wilie

Web Developer at LyntonWeb

Kickstart your success on HubSpot's CMS with a theme by the HubSpot experts at Lynton


kaitlynwells
Contributor

inserting date into email template

SOLVE

Found this while looking for a way to insert a dynamic date into an automatic email, this worked perfectly - thank you! 

Rob_Gordon
Member

inserting date into email template

SOLVE

Did you manage to insert this into a template? For a 1:1 email? Or only in a Marketing email?

Thanks
Rob

0 Upvotes
LoraBergeron
Contributor

inserting date into email template

SOLVE

Hi,

 

I need to add a variable date as well, but I'd like to add, for example, 21 days after the current date. I'm using this to communicate an expiration date that changes with an email send from a workflow.  It can't link to the content.update information.  It needs to link to whatever date the email is sent out.  Can you help me?

Thanks in advance,

Lora B

0 Upvotes
kamlesh_k
Member | Diamond Partner
Member | Diamond Partner

inserting date into email template

SOLVE

There is no token that you can use that inserts the date.

 

One thing you could try is a workflow to manage the email send. If you use a workflow then you can have a field with the date that triggers the email then you can use a personalization token for a date field.

 

0 Upvotes