We need a way to set values in a document when creating it via API. We should be able to pass values to it without relying on only contact custom fields to do this. This way, a document can be created as a draft with everything filled in from any custom system that uses the API. Then the GHL user just needs to open the draft, check it over, and send to client.
This is how other platforms work already. Event Temple for example, will fill in all the fields about a booking when a contract is created for that booking. Outside of this specific feature, we've been able to recreate all of Event Temple's features in GHL. But the Documents & Contracts APIs being limited to just creating and sending with no customization is extremely limiting to how useful they can be and how automated they can be.