Skip to content

Instantly share code, notes, and snippets.

@cweems
Created December 12, 2020 03:31

Revisions

  1. cweems created this gist Dec 12, 2020.
    283 changes: 283 additions & 0 deletions COVID-19-Vaccine-Notifications.flow-meta.xml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,283 @@
    <?xml version="1.0" encoding="UTF-8"?>
    <Flow xmlns="http://soap.sforce.com/2006/04/metadata">
    <actionCalls>
    <name>Remind_to_Book_Appt_1</name>
    <label>Remind to Book Appt 1</label>
    <locationX>175</locationX>
    <locationY>570</locationY>
    <actionName>TwilioSF__TwilioSendSMS</actionName>
    <actionType>apex</actionType>
    <inputParameters>
    <name>message</name>
    <value>
    <elementReference>FirstAppointmentMessage</elementReference>
    </value>
    </inputParameters>
    <inputParameters>
    <name>toNumber</name>
    <value>
    <elementReference>$Record.MobilePhone</elementReference>
    </value>
    </inputParameters>
    </actionCalls>
    <actionCalls>
    <name>Remind_to_Book_Appt_2</name>
    <label>Remind to Book Appt 2</label>
    <locationX>659</locationX>
    <locationY>577</locationY>
    <actionName>TwilioSF__TwilioSendSMS</actionName>
    <actionType>apex</actionType>
    <inputParameters>
    <name>message</name>
    <value>
    <elementReference>SecondAppointmentReminderText</elementReference>
    </value>
    </inputParameters>
    <inputParameters>
    <name>toNumber</name>
    <value>
    <elementReference>$Record.MobilePhone</elementReference>
    </value>
    </inputParameters>
    </actionCalls>
    <actionCalls>
    <name>Send_24_Hour_Reminder_for_First_Appt</name>
    <label>Send Appt 1 24 Hour Reminder</label>
    <locationX>415</locationX>
    <locationY>573</locationY>
    <actionName>TwilioSF__TwilioSendSMS</actionName>
    <actionType>apex</actionType>
    <inputParameters>
    <name>message</name>
    <value>
    <elementReference>FirstAppt24HourReminderMessage</elementReference>
    </value>
    </inputParameters>
    <inputParameters>
    <name>toNumber</name>
    <value>
    <elementReference>$Record.MobilePhone</elementReference>
    </value>
    </inputParameters>
    </actionCalls>
    <actionCalls>
    <name>Send_Second_24_Hour_Reminder</name>
    <label>Send Appt 2 24 Hour Reminder</label>
    <locationX>885</locationX>
    <locationY>573</locationY>
    <actionName>TwilioSF__TwilioSendSMS</actionName>
    <actionType>apex</actionType>
    <inputParameters>
    <name>message</name>
    <value>
    <stringValue>This is a reminder that you have an appointment in 24 hours.</stringValue>
    </value>
    </inputParameters>
    <inputParameters>
    <name>toNumber</name>
    <value>
    <elementReference>$Record.MobilePhone</elementReference>
    </value>
    </inputParameters>
    </actionCalls>
    <decisions>
    <name>Remind_to_Schedule_First_Appt</name>
    <label>Remind to Schedule First Appt</label>
    <locationX>168</locationX>
    <locationY>353</locationY>
    <defaultConnector>
    <targetReference>Send_Appt_1_24_Hour_Reminder</targetReference>
    </defaultConnector>
    <defaultConnectorLabel>Default Outcome</defaultConnectorLabel>
    <rules>
    <name>Needs_1st_Reminder</name>
    <conditionLogic>and</conditionLogic>
    <conditions>
    <leftValueReference>$Record.First_Appointment_Date__c</leftValueReference>
    <operator>IsNull</operator>
    <rightValue>
    <booleanValue>true</booleanValue>
    </rightValue>
    </conditions>
    <connector>
    <targetReference>Remind_to_Book_Appt_1</targetReference>
    </connector>
    <label>Needs 1st Reminder</label>
    </rules>
    </decisions>
    <decisions>
    <name>Remind_to_Schedule_Second_Appt</name>
    <label>Remind to Schedule Second Appt</label>
    <locationX>651</locationX>
    <locationY>354</locationY>
    <defaultConnector>
    <targetReference>Send_Appt_2_24_Hour_Reminder</targetReference>
    </defaultConnector>
    <defaultConnectorLabel>Default Outcome</defaultConnectorLabel>
    <rules>
    <name>Send_Reminder_to_Book_Second_Appt</name>
    <conditionLogic>and</conditionLogic>
    <conditions>
    <leftValueReference>SevenDaysAfterFirstAppointment</leftValueReference>
    <operator>LessThanOrEqualTo</operator>
    <rightValue>
    <elementReference>$Flow.CurrentDate</elementReference>
    </rightValue>
    </conditions>
    <conditions>
    <leftValueReference>$Record.Second_Appointment_Date__c</leftValueReference>
    <operator>IsNull</operator>
    <rightValue>
    <booleanValue>true</booleanValue>
    </rightValue>
    </conditions>
    <connector>
    <targetReference>Remind_to_Book_Appt_2</targetReference>
    </connector>
    <label>Send Reminder to Book Second Appt</label>
    </rules>
    </decisions>
    <decisions>
    <name>Send_Appt_1_24_Hour_Reminder</name>
    <label>Send Appt 1 24 Hour Reminder</label>
    <locationX>407</locationX>
    <locationY>353</locationY>
    <defaultConnector>
    <targetReference>Remind_to_Schedule_Second_Appt</targetReference>
    </defaultConnector>
    <defaultConnectorLabel>Default Outcome</defaultConnectorLabel>
    <rules>
    <name>Send_First_24_Hour_Reminder</name>
    <conditionLogic>and</conditionLogic>
    <conditions>
    <leftValueReference>DayBeforeFirstAppointment</leftValueReference>
    <operator>EqualTo</operator>
    <rightValue>
    <elementReference>$Flow.CurrentDate</elementReference>
    </rightValue>
    </conditions>
    <connector>
    <targetReference>Send_24_Hour_Reminder_for_First_Appt</targetReference>
    </connector>
    <label>Send First 24 Hour Reminder</label>
    </rules>
    </decisions>
    <decisions>
    <name>Send_Appt_2_24_Hour_Reminder</name>
    <label>Send Appt 2 24 Hour Reminder</label>
    <locationX>876</locationX>
    <locationY>357</locationY>
    <defaultConnectorLabel>Default Outcome</defaultConnectorLabel>
    <rules>
    <name>Send_Second_Reminder</name>
    <conditionLogic>and</conditionLogic>
    <conditions>
    <leftValueReference>DayBeforeSecondAppointment</leftValueReference>
    <operator>EqualTo</operator>
    <rightValue>
    <elementReference>$Flow.CurrentDate</elementReference>
    </rightValue>
    </conditions>
    <connector>
    <targetReference>Send_Second_24_Hour_Reminder</targetReference>
    </connector>
    <label>Send Second Reminder</label>
    </rules>
    </decisions>
    <formulas>
    <name>DayBeforeFirstAppointment</name>
    <dataType>Date</dataType>
    <expression>DATEVALUE({!$Record.First_Appointment_Date__c}) - 1</expression>
    </formulas>
    <formulas>
    <name>DayBeforeSecondAppointment</name>
    <dataType>Date</dataType>
    <expression>DATEVALUE({!$Record.Second_Appointment_Date__c}) - 1</expression>
    </formulas>
    <formulas>
    <name>removed</name>
    <dataType>DateTime</dataType>
    <expression>null</expression>
    </formulas>
    <formulas>
    <name>SevenDaysAfterFirstAppointment</name>
    <dataType>Date</dataType>
    <expression>DATEVALUE({!$Record.First_Appointment_Date__c}) + 7</expression>
    </formulas>
    <formulas>
    <name>TwentyEightDaysAfterFirstAppointment</name>
    <dataType>Date</dataType>
    <expression>DATEVALUE({!$Record.First_Appointment_Date__c}) + 28</expression>
    </formulas>
    <formulas>
    <name>TwentyOneDaysAfterFirstAppointment</name>
    <dataType>Date</dataType>
    <expression>DATEVALUE({!$Record.First_Appointment_Date__c}) + 21</expression>
    </formulas>
    <interviewLabel>COVID-19 Vaccine Notifications {!$Flow.CurrentDateTime}</interviewLabel>
    <label>COVID-19 Vaccine Notifications</label>
    <processMetadataValues>
    <name>BuilderType</name>
    <value>
    <stringValue>LightningFlowBuilder</stringValue>
    </value>
    </processMetadataValues>
    <processMetadataValues>
    <name>CanvasMode</name>
    <value>
    <stringValue>FREE_FORM_CANVAS</stringValue>
    </value>
    </processMetadataValues>
    <processMetadataValues>
    <name>OriginBuilderType</name>
    <value>
    <stringValue>LightningFlowBuilder</stringValue>
    </value>
    </processMetadataValues>
    <processType>AutoLaunchedFlow</processType>
    <start>
    <locationX>50</locationX>
    <locationY>50</locationY>
    <connector>
    <targetReference>Remind_to_Schedule_First_Appt</targetReference>
    </connector>
    <filters>
    <field>First_Appointment_Date__c</field>
    <operator>IsNull</operator>
    <value>
    <booleanValue>true</booleanValue>
    </value>
    </filters>
    <filters>
    <field>Second_Appointment_Date__c</field>
    <operator>IsNull</operator>
    <value>
    <booleanValue>true</booleanValue>
    </value>
    </filters>
    <object>Contact</object>
    <schedule>
    <frequency>Daily</frequency>
    <startDate>2020-12-11</startDate>
    <startTime>15:13:00.000Z</startTime>
    </schedule>
    <triggerType>Scheduled</triggerType>
    </start>
    <status>Active</status>
    <textTemplates>
    <name>FirstAppointmentMessage</name>
    <text>Hi {!$Record.FirstName}, this is a reminder to book an appointment to get your first COVID-19 vaccine shot. Use this link to book: [link].</text>
    </textTemplates>
    <textTemplates>
    <name>FirstAppt24HourReminderMessage</name>
    <text>Hi {!$Record.FirstName}, this is a reminder that you have an appointment on {!$Record.First_Appointment_Date__c}.</text>
    </textTemplates>
    <textTemplates>
    <name>SecondAppointmentReminderText</name>
    <text>Hi {!$Record.FirstName}, it&apos;s time to book your second COVID-19 vaccine appointment. Book a date between {!TwentyOneDaysAfterFirstAppointment} and {!TwentyEightDaysAfterFirstAppointment}.</text>
    </textTemplates>
    <textTemplates>
    <name>SecondAppt24HourReminderMessage</name>
    <text>Hi {!$Record.FirstName}, this is a reminder that you have an appointment on {!$Record.Second_Appointment_Date__c}.</text>
    </textTemplates>
    </Flow>