·
Integration Fundamentals
·
Josh Santinon
What is an integration, really?
If you've ever tried to have a conversation with someone who's learning your language, you already understand integrations. You just didn't know it.

Think about that conversation. The words might come out in a funny order. They might use the past tense when they mean right now. You have an idea in your head, and you’re trying to get that exact idea into their head, using a shared code that neither of you fully controls. It mostly works. Sometimes it doesn’t. And when it doesn’t, it’s rarely because either person is stupid or careless. It’s because the translation between “what I meant” and “what I said” broke down somewhere in the middle.
That’s an integration. Swap the two people for two systems, and swap language for the integration itself, and you’ve got the whole picture.
Two systems, one idea, imperfect words
Every system holds ideas about the world. A termination date. A cost centre. A customer’s shipping address. When two systems need to talk, one of them has to take its idea and turn it into words the other system can understand, then trust that the receiving system reconstructs the same idea on the other end.
Just like a real conversation, this doesn’t have to be back and forth. Sometimes it’s a presentation, one system talking and the other only listening, a one-way feed with no reply expected. Sometimes it’s a genuine two-way exchange, request and response, question and answer. And sometimes, like a conversation between two people with no shared language at all, you need someone standing in the middle doing the translating in real time.
The examples

You’re speaking entirely different languages, so you both pull out Google Translate. Picture two people who share no common language at all. Neither one is wrong, they just grew up with different words for the same things. So they lean on a translator in the middle, someone or something that takes what one person means and turns it into words the other person can actually use.
That’s exactly what happens between two systems that store the same information differently. One might call it a “start date,” the other calls it a “hire date,” and they might even format it differently, day first or month first. Neither system is broken. They just grew up speaking differently. So something needs to sit in the middle and convert one side’s version into the other side’s version, the same job Google Translate is doing in that conversation.

You’re in different time zones and need to agree on when to call. Anyone who’s tried to organise a call with someone overseas knows this dance. Is it their morning or their middle of the night? Whose “today” are we even talking about? And once you’ve found a time, is this a one-off call, or are you now committed to a standing catch-up every week, forever?
Systems have exactly the same conversation, they just have it in the background. Something has to decide when the two systems talk to each other. Is it happening constantly, like a phone call that never hangs up? Or just once a night, like a scheduled catch-up? And if it’s scheduled, whose clock are we using, because “midnight” means something very different depending on where you are. Get this wrong and you end up like calling someone at 4am without realising it.

Someone uses the wrong tense, and now you’re not sure what they meant. This is the quiet, dangerous one. Imagine someone tells you “I finish work” and you’re not sure if they mean they’ve finished for the day, they’ve quit their job, or they’re about to finish, right now, this second. The sentence sounds fine. Grammatically nothing is wrong. But you could both walk away with two completely different understandings of what just happened.
The same thing happens with a date sitting in a system. Something as ordinary as a “finish date” can mean someone’s last day physically in the building, their last day of employment, or the day before a long stretch of leave begins with the real finish date sitting somewhere else entirely. The field is filled in correctly. The format is perfect. But if the two systems don’t agree on what the date actually represents, they can both be technically right and still be talking about two different days.

Two people talking over each other, or one going suddenly quiet. You’ve had this conversation, two people start speaking at the exact same moment, and now you’re both stepping back, unsure who goes first. Or worse, you’re mid-conversation and the other person just stops responding, and you’re left wondering if they’re still there.
The same thing happens between systems. Two updates can land at exactly the same moment and clash with each other. Or one side can simply go quiet, offline, unreachable, and the other side has to decide whether to keep trying, wait it out, or flag that something’s wrong.

Repeating yourself louder or more clearly because the first attempt didn’t land. If someone doesn’t hear you the first time, you don’t just give up. You say it again, maybe slower, maybe in different words, maybe you try a completely different way of getting the point across.
A well-built connection between two systems does the same thing. If a message doesn’t get through the first time, it doesn’t just vanish silently. Something notices it failed and has a sensible way of trying again, rather than pretending everything went fine.

Someone exaggerates for effect, and the other person takes it completely literally. You say “it took forever” and you both know you mean twenty minutes, not actual forever. Humans are good at reading intent behind loose language. But imagine someone wrote that down as a literal fact, and it got treated as gospel from then on.
Systems can make exactly this mistake. One side might store a rounded or approximate figure, and the other side treats it as an exact, precise fact, simply because that’s what arrived. Nobody lied. But a loose number ended up being trusted like a precise one.

Meeting a stranger versus catching up with an old friend. Meeting someone brand new takes a bit of upfront work, who are you, why should I trust what you’re telling me, are you actually who you say you are. Catching up with an old friend needs none of that, you both already know each other, so the conversation just gets straight to the point.
The same is true between systems. A brand-new connection needs to prove who it is and earn the right to share information before anything useful can happen. A long-standing, trusted connection can skip straight past that and get on with the actual conversation, because the trust was already established long ago. Unless they’re using a new number, then you need a little proof it’s really them.
The point of it all
None of this is really about the technology. The specific tools and protocols are just the mechanics of how the conversation physically happens, the same way vocal cords and grammar are the mechanics of human speech. The actual hard work of an integration is the same hard work that goes into any conversation between two people who don’t fully share a language. Agreeing on what words mean. Agreeing on when to talk. Making sure the idea that left one head actually arrives intact in the other.
So next time two apps on your phone sync up perfectly, or don’t, spare a thought for the conversation happening between them. Somewhere, a Google Translate is doing its best, a time zone is being negotiated, and someone is hoping “last day” means the same thing to both parties.
Need help with integrations that have become harder to support?
Santinon Consulting brings practical experience to the design, remediation, and handover of Workday integrations.