How to Auto-Add Appointment Date to a Sparkforge Contract

By Sparkforge Support Team ·Last reviewed May 3, 2026

Sparkforge contracts cannot read appointment merge tags directly. Use a workflow to copy the appointment start time into a custom field on the contact or opportunity, then send a contract template that pulls from that field.

Contract templates in Sparkforge pull merge values from the contact or opportunity record — not from the appointment trigger directly. To send a contract with the booked date pre-filled, copy the appointment start time into a custom field first, then send the contract that references that field.

Prerequisites

1. Create the custom field

  1. Open Settings → Custom Fields.
  2. Click Add Field and choose Contact (simple method) or Opportunity (advanced method).
  3. Set the field type to Text.
  4. Name it clearly, e.g. Session Date.

2. Update the contract template

  1. Open Payments → Contracts.
  2. Clone an existing template or create a new one.
  3. Insert the merge variable: {{contact.session_date}} for the contact method, or {{opportunity.session_date}} for the opportunity method.
  4. Save.

Method 1: Contact-based workflow (simple)

Use this when each contact has at most one active booking.

  1. Trigger: Customer Booked Appointment. Optionally filter by calendar.
  2. Update Contact Field: Field = your custom field. Value = Appointment → Start Time.
  3. Send Documents & Contracts: select your updated template.
  4. Save and publish.

Method 2: Opportunity-based workflow (advanced)

Use this when one contact may have multiple bookings tracked as opportunities.

  1. Trigger: Customer Booked Appointment, filtered by calendar.
  2. Find Opportunity: Most recently created opportunity. Add a field filter where your custom field Is Empty so only un-dated opportunities update.
  3. Update Opportunity: on the Opportunity Found branch, set the custom field value to Appointment → Start Time.
  4. Send Documents & Contracts: select the opportunity-based contract template.

Required workflow order

  1. Trigger — appointment booked.
  2. Update field — contact or opportunity.
  3. Send contract — using the updated template.

Troubleshooting

Contract sent but the date field is blank

  • The Update Field action is after the Send Contract action. Move it before.
  • For the opportunity method, no opportunity exists yet. Add a Create Opportunity step first.

Old contract sent without the date field

Open the Send Contract action and confirm the dropdown points to the cloned template, not the original.

Frequently Asked Questions

Why can't I use the appointment merge tag directly in a contract?
Contract templates only read contact and opportunity fields. The appointment trigger data has to be copied into one of those records first, then merged from there.
Should I use the contact method or the opportunity method?
Contact method if each customer has one booking at a time. Opportunity method if a contact can have multiple concurrent bookings you need to track separately.
What field type should the custom field be?
Text. Even though it stores a date, Text avoids formatting conflicts when the appointment time is merged in.
Can the same workflow send multiple contracts?
Yes — add additional Send Documents & Contracts steps after the field update. Each can pull from the same custom field.
Will the date format match my locale?
The format reflects the appointment's stored timestamp. To control display, use a date-formatted custom field type and a custom merge format on the template.

Was this article helpful?