We need to create a custom token with custom object fields in order to push this data by a webhook.
We're trying to preserve our API quota. Is this possible?
I'm able to create an email script token to pull in the fields but it's only at program level. Am I doing this wrong?
You can't use Velocity tokens directly in webhooks, as you've found. I recommend you use JSON text fields instead of Custom Objects (in many ways JSON is more powerful, since your "poor man's" COs can then be accessed on LPs as well).
FlowBoost Pro has what we call Floxy (FlowBoost Proxy) that does allow real COs to be passed to external services, but it's better to avoid the need entirely.