Allora, una variabile (come dice il nome) è un valore che cambia nel tempo.
In pratica, tu crei una variabile e gli dai un nome (ad esempio smsinviato) e la setti ad un valore iniziale (0 o no, che sta a significare 'sms non inviato'), nel task dove invii l'sms fai una azione 'setta variabile' e le cambi valore (1 o si, che sta a significare 'sms inviato').
Bene, ora puoi usare l'if come ti ha detto @
AlFaver oppure aggiungere una opzione al profilo e mettere il valore della variabile (a 0, in modo che si avvia il task solo se il messaggio non è stato inviato) assieme alla cella (facendo una add) così, se il messaggio non è stato inviato il task si avvia, altrimenti non si avvia (perché il valore è stato cambiato dal task stesso dopo che ha inviato l'sms).
Ora non ti resta che resettare la variabile, quidni crei un nuovo profilo che si attiva a mezzanotte e fai settare la variabile di nuovo al valore di 'sms non inviato' (nel nostro caso 0 o no)
Per avere sotto mano qualcosa di più pratico ti rimando agli ottimi tutorial di @
Odysseos a
questo indirizzo trovi il video sulle variabili