Decide which program holds the original
Every piece of information needs one home. Client contact details might live in your booking system, with your accounting software receiving a copy. Then everyone knows where to correct a phone number, and the correction flows outwards.
Syncing everything in both directions sounds convenient, but it raises a hard question: when the same detail was changed in both programs, which one wins? If nobody decided, the answer is random.
Match records carefully
People's names are spelled in different ways, email addresses change, and two clients can share a name. A connection has to know whether "Dana Levi" in one program is the same person as "D. Levi" in the other. Where programs offer a permanent ID for each record, I use it. And I decide in advance what happens when there's no match, or two.
Plan for failures, because they will happen
- Programs go down for a few minutes, passwords expire, and services limit how many requests they accept.
- A connection should try again, but safely: sending the same booking twice must never create two invoices.
- When something still fails, it goes to a list that a person actually sees, with enough detail to fix it.
Give each connection only the access it needs
If a connection only needs to read your calendar, it shouldn't be able to delete it. Access should be easy to remove at any time, and you should know exactly which information passes through which service.
Test it with real, awkward cases
- A name spelled two ways.
- A booking that's moved, then cancelled.
- A client who is already on file.
- A form with a missing field.
- Two changes arriving at the same moment.
The easy case almost always works. These are the ones that create the mess weeks later.
Know what happens when a program changes
Software companies update their products, and sometimes a connection needs updating too. That's normal. What matters is that a failure is visible right away instead of quietly piling up, and that it's agreed in advance who fixes it.
Four questions to ask whoever connects your tools
- Which program holds the original of each detail?
- What happens if the same record is sent twice?
- Who is told when a transfer fails, and how?
- What access does the connection have, and how do I remove it?
If the answers are vague, the connection will be too.