Update Kleer Agreement
Updates an existing agreement in Kleer using the enrolled deal's input fields and line items. Designed for "change" deals — when a customer upgrades, downgrades, or renews, a new deal represents the change, and this action applies it to the corresponding Kleer agreement.
Workflow Type
Deal-based — This action is available in deal workflows.
Prerequisites
- The deal must have the Kleer Agreement ID property (
kleer_agreement_id) set to the ID of the agreement you want to update - The deal's line items represent the new full row set for the agreement (see the warning below)
Input Fields
Same fields as Create Agreement. All fields are optional — only the fields you set are sent to Kleer.
| Field | Type | Description |
|---|---|---|
| Name | Text | Agreement name/description |
| Start Date | Text | Agreement start date in YYYY-MM-DD format |
| Start Invoice Date | Text | Date of first invoice in YYYY-MM-DD format |
| End Date | Text | Agreement end date in YYYY-MM-DD format |
| Your Reference | Text | Customer's reference |
| Payment Days | Text | Number of days until payment is due |
| Invoice Interval (Months) | Text | Billing interval in months (e.g. 1, 3, 12) |
| Currency | Text | Currency code |
| Invoice Day | Text | When to generate invoices |
| PO Number | Text | Purchase order number |
Behavior
- The action reads the enrolled deal, its associated company, and its line items
- It uses the deal's
kleer_agreement_idto identify which Kleer agreement to update - The agreement is updated in Kleer with the provided field values and line items
- The updated agreement is immediately synced back to HubSpot — the linked subscription is refreshed without waiting for the next scheduled sync
Line items are an overwrite, not an append
The line items on the deal replace the agreement's full row set in Kleer. Any rows that were on the agreement before but are not on this deal will be removed. If you want to add a row while keeping existing ones, include both the old and the new line items on the deal.
The associated client cannot be changed
Kleer's agreement update endpoint does not allow changing the client (the client-ref) on an existing agreement — the client is fixed at creation. Changing the company associated with the deal does not transfer the agreement to a different client in Kleer. If you need a different client, create a new agreement instead.
Diff invoice
If Kleer's "create diff invoice" setting is enabled in your Kleer account, Kleer may automatically generate a diff invoice when the update changes the billed amount. The integration ignores the returned diff invoice ID — it will be picked up by the next outbound invoice sync.
Tips
- Create a separate "change" deal (e.g. with a "Subscription Change" pipeline) and set its
kleer_agreement_idto the agreement being changed - Use a workflow that fires this action when the change deal reaches the closed-won stage
- Because the action targets a specific agreement ID, each change deal applies one update to one agreement