DocsUsage and billing

Cutting calls

The quickest way to use fewer calls is to stop sending one request for every row. Two settings on the Push step do most of the work.

Send in batches

On a Push step, turn on Send in batches of 100. Ladeworks sends up to 100 rows in each request, so 1,000 rows take 10 calls instead of 1,000. Each row still gets its own result in run details. The switch is off for an endpoint that takes one row per request, and the step says so.

When batching would save a lot, the builder says so next to the estimate: a link such as "Cut this by about 98%" opens the step. Once it is on, the step shows "About 10 API calls per run instead of 1,000" and the page says "Batching saves about 10,800 calls a month".

The Workflows page points at your biggest workflow too: under the usage card, a link such as Batch "Supplier price feed" followed by "to save about 2,000 calls a month."

Records already sent

Turn on Don't send records that were already sent on a Push step. A record whose key and contents match what the step sent before is not sent again. It makes no request and is not counted. Run details show it as "Already sent, unchanged". A record that changed is sent again, and updates the one already there if the step has "Update it if it already exists". Pick the field that tells records apart under Tell records apart by, or let Ladeworks pick.

This also makes a run that stopped partway safe to run again: it picks up where it stopped instead of sending everything twice. Forget sent records clears the memory when you want a full resend.

Estimates take the records you usually leave out into account.

Other ways

  • Run less often. A daily schedule makes 30 runs a month, an hourly one makes about 720.
  • Check the run's calls in run details, then the Workflows page for the workflow with the biggest share.