Skip to content

Commercial operations and calculations

Generate future deals from a contract

Creates future renewal deals from a bounded contract schedule using a CRM-enforced unique schedule key.

Available recipeIncludes configuration, sample data and tests

Make it your own

Review the setup and limits below, then open an editable copy in Turbyn.

Use this recipe

Your selection stays with you through signup.

What it does

Month-end clamping, stable contract/date keys, uniqueness checks and partial-result reporting.

What to customize

Precreate the unique deal key property and choose the destination pipeline and stage IDs.

Run the included tests with your configuration and mappings. Review success, missing-input and failure results before publishing.

Expected outcome

This included example runs in dry-run mode with synthetic data. Integration tests separately cover provider responses using test doubles. It is not a live customer result.

Sample input

sample-input.json

{
  "inputFields": {
    "field1": "{\"contractId\": \"contract-42\", \"count\": 2, \"startDate\": \"2026-01-31\", \"cadenceMonths\": 1}"
  }
}
Sample output

sample-output.json

{
  "outputFields": {
    "output1": "0",
    "output2": "0",
    "output3": "{\"status\":\"dry_run\",\"plans\":[{\"key\":\"contract-42:2026-02-28\",\"date\":\"2026-02-28\",\"name\":\"Renewal 1\"},{\"key\":\"contract-42:2026-03-31\",\"date\":\"2026-03-31\",\"name\":\"Renewal 2\"}]}"
  }
}

Returned fields

output1
Created count
output2
Existing count
output3
JSON status, IDs, plans or partial failure

What changes when it runs

Reads the configured unique property and matching deals; creates missing renewal deals only in live mode.

Ready to try it with your rules?

Map your inputs, test a sample and publish the version you’ve checked.

Use this recipe