Clarify the agreement that existed
Identify the promise, policy, schedule, ownership, or shared understanding that applies before assigning blame. For a message about how to apologize for canceling on a friend repeatedly, use this factual base: identify the moment, the impact on trust or inclusion, and what your friend should not have had to carry.
Resolve the next dependency
State what is complete, what remains disputed, and which action would move the situation forward. Offer a repair that matches the harm and show how your behavior will be different. Make the immediate next step clear enough that the recipient can answer without reconstructing the entire history.
Document without threatening
Do not use shared history, mutual friends, or public gestures to pressure a private response. If contact is unwelcome, stop and avoid using mutual friends as messengers. Keep a factual record and describe only remedies you are entitled and prepared to use.