Use both checks. In Busabase, keep the customer's current follow-up status, subscription/opt-out state, and a follow-up round or version. When n8n is about to send an email, read that latest approved state again. Send only if the customer still needs this round's follow-up and has not replied, booked, or unsubscribed; if the lookup fails or the status is unclear, pause rather than sending. A pending Change Request is not yet the current record until it is merged.
When a reply, booking, or unsubscribe arrives, also try to cancel that customer's queued n8n work by its customer/round identifier. Keep the pre-send check as the final guard because cancellation can arrive late. Record a send key for each planned message so a retry cannot send it twice, and carry unsubscribes into the sending service's suppression list. Updating Busabase alone does not cancel an external queue. This related discussion walks through the same setup in Chinese. Are you using n8n Wait nodes or a scheduled scan of customers due for follow-up?