Their team is holding a window for you. You no longer believe the window. The draft that feels collaborative explains the architecture change and ends with "we may need a bit more time." Their PM now has to translate that into a date for people you will never meet.
Give them the date you would want if the roles were reversed.
Lead with the date and the ask
"We cannot take the integration on the 12th. The new date I will keep is the 26th, 09:00 UTC. Please release the 12th on your side. I still need the sandbox refresh you planned — that can land any day before the 24th."
An honest deadline is a service to their calendar. A soft delay is how they keep a team on standby and then bill you, in attention if not in a change order, for a window you had already abandoned.
If you do not have the 26th yet, give the hour when you will. They can hold a conversation for two days. They cannot hold a platform slot around "soon."
Say what they can stop doing
Vendors waste whole days on a date that died in your stand-up. List what is cancelled. List what is still wanted. Mixing those in a paragraph is how they keep building the cancelled piece.
A short factual why is enough for them not to invent a story: what moved, what you ruled out, what is not their fault. Do not send the postmortem. They are not on your team, and they should not have to become it.
They may not be in your tools
You do not need a shared Slack. Writing to someone who is not on RelayLink is ordinary email plus a page. They need nothing installed. If they already have an account, invite them and wait for the accept before you treat the thread like an internal one.
You approve the wording. There are no attachments; link the spec. A nickname you use for their company does not belong in a note they will forward internally. Use the name on the contract.
Follow up only if the date changed again, or if you need a yes they have not given. A default helps: "If I have not heard by Thursday 16:00 UTC I will assume the 12th is released and the sandbox refresh is still on."
If the slip is already obvious in a session, connect your assistant and have it put the new date in the first sentence.