Hi. Been trying to set up an automation to read emails and create a google calendar entry if a certain email arrives. Managed to get it working eventually, but couldnt get the variables to work across different fields. Can anyone suggest any improvements to this rather than having the same code three times?
Cheers
alias: Booking
if:
- condition: template
value_template: |
{{ trigger.event.data[“subject”].split(" ").0 == ‘Booking’ }}
then: - action: notify.mobile_app_darrensmobile
metadata: {}
data:
message: |-
{% set x=trigger.event.data[‘text’] %}
{% set code= x.split(“FIELD”).1[:22] %}
{% set field= code.split(" “).1 %}
{% set date= code.split(” “).3 %}
{% set time= code.split(” ").4 %}
{{ "Dog Field " + field|string }}
{{ "Date " + date|string }}
{{ "Time " + time|string }} - action: google.create_event
target:
entity_id:
- calendar.family
data:
summary: |-
{% set x=trigger.event.data.text %}
{% set code= x.split(“FIELD”).1[:22] %}
{% set field= code.split(" “).1 %}
{{ “Dog Field " + field|string }}
start_date_time: |-
{% set x=trigger.event.data.text %}
{% set code= x.split(“FIELD”).1[:22] %}
{% set field= code.split(” “).1 %}
{% set date= code.split(” “).3.split(”-”) %}
{% set gdate = date.2 + “-” + date.1 + “-” + date.0 %}
{% set time= code.split(" “).4 %}
{% set etime = (strptime( time, “%H:%M”) + timedelta(hours=1)).time() %}
{{ gdate|string + " " + time|string }}
end_date_time: |-
{% set x=trigger.event.data.text %}
{% set code= x.split(“FIELD”).1[:22] %}
{% set field= code.split(” “).1 %}
{% set date= code.split(” “).3.split(”-“) %}
{% set gdate = date.2 + “-” + date.1 + “-” + date.0 %}
{% set time= code.split(” ").4 %}
{% set etime = (strptime( time, “%H:%M”) + timedelta(hours=1)).time() %}
{{ gdate|string + " " + etime|string }}
