Automatically Add Appointment Dates to Contracts

When clients book services like consultations or sessions, you may need to automatically send contracts that include their specific appointment date. This article explains how to set up a workflow that captures the booking time and inserts it into a contract template.

How It Works

The CRM cannot directly pull appointment times into contract templates using merge tags. Instead, you must first save the appointment date to a custom field on either the contact or opportunity record. Then, your contract template can reference that custom field to display the correct date.

Before You Begin

Prepare these two elements before building your workflow:

Create a Custom Field

Navigate to Settings > Custom Fields and create a new field:

  • Choose either Contact or Opportunity as the field type
  • Set the field type to Text
  • Name it clearly (e.g., "Session Date" or "Booking Date")
  • Save the field

Update Your Contract Template

Go to Payments > Contracts and either clone an existing template or create a new one:

  • Edit the template content
  • Add the appropriate merge tag where you want the date to appear:
    • For contact fields: {{contact.your_field_name}}
    • For opportunity fields: {{opportunity.your_field_name}}
  • Save the updated template

Building the Workflow

Choose the method that matches your business process:

Method 1: Simple Contact-Based Workflow

Use this method if you don't use opportunity pipelines and want to send contracts directly after booking:

  1. Create a new workflow with the "Customer Booked Appointment" trigger
  2. Add an "Update Contact Field" action:
    • Select your custom date field
    • Set the value to Appointment > Start Time using the tag selector
  3. Add a "Send Contract" action directly after the update step:
    • Select your updated contract template from the dropdown
  4. Save and publish the workflow

Method 2: Advanced Opportunity-Based Workflow

Use this method if you manage bookings through opportunities:

  1. Create a workflow with the "Customer Booked Appointment" trigger
  2. Add a "Find Opportunity" action:
    • Set to find the most recently created opportunity
    • Add a filter to only update opportunities where your date field is empty
  3. On the "Opportunity Found" branch, add an "Update Opportunity" action:
    • Select your custom date field
    • Set the value to Appointment > Start Time using the tag selector
  4. Add a "Send Contract" action directly after the update step:
    • Select your opportunity-based contract template
  5. Save and publish the workflow

Troubleshooting

If your contract sends but the date field is blank:

  • Ensure the update field action comes before the send contract action
  • For opportunity methods, verify an opportunity exists for the contact
  • Check that you selected the correct updated template in the send contract action