Use the trigger Champ de date spécifique in Mes Automatisations. Point it at any date-typed contact field — renewal date, contract end, last visit, due date, custom anything — and the workflow fires for each contact when that date matches today (with the offset you set). Unlike the Birthday trigger, this one also reads the year, so it fires once per contact per field, not yearly.
Pick the right field
The trigger lists every date-typed custom field you have configured on your contacts. If the field doesn’t exist yet, create it in your contact properties first — renewal date, expiry, contract end, next-visit, last-order, anything date-shaped. A single workflow can only watch one field; build a second workflow if you need a second field.
Offsets work the same way as Birthday
J-30 sends the email a month before the date arrives (useful for renewals). J+0 sends on the date itself (good for expiry confirmations). J+7 sends a week after (post-visit follow-up). The trigger does the offset math from the stored date, so you don’t need to pre-compute anything in your CRM.
What happens when the date passes
The trigger fires once for each contact when their stored date matches the day Mailpro’s daily worker is checking, minus offset. If you update the date field later (push the renewal another year), the trigger will fire again on the new date — effectively turning a custom field into a recurring schedule. Empty fields are simply skipped.
Build a date-driven workflow
Open Mes Automatisations > Ajouter, choose Champ de date spécifique, then read about all the triggers for context.