The real cost of an integration isn't building it. It's maintaining it.
Connecting two systems the first time is finite, estimable work. What nobody estimates correctly is what happens afterwards: the provider changes a field, adds a mandatory parameter, changes a date format, introduces a new version.
In the traditional approach every integration is hand-written code: when something changes, someone has to find it, understand it and modify it — and meanwhile the flow stops. Worse, that code was often written by someone who has since left, so the change begins with a phase of archaeology.
When an external service is declared — which calls it exposes, which fields it wants, what it returns, what to do on error — the adjustment is an edit to that declaration. It doesn't eliminate the work, but it reduces it to an afternoon instead of a week, and above all it doesn't require touching anything else.