okki-go API Integration Rescued Our LinkedIn Sales Navigator List: What Data You Actually Need

2026-09-04 · Julian Hartwell

Friday, March 8, 2024. 4:47 p.m.

That's when our CRO sent the Slack message. No preamble, just: “We need verified professional emails for every target in the LinkedIn Sales Navigator list by Monday morning. 1,107 accounts. Yes, including the AMER ones.”

I stared at my screen and did the math. Fifty-two hours until the team started sending. Normal turnaround for enriching that many records was six business days. We had two.

For context: I'm not a GTM engineer. My title is RevOps lead, which means I'm the person who shows up when the data pipeline catches fire. I've coordinated more than 40 rush data projects over the last five years—most of them last-minute prospecting pulls—so I've learned to trust that uncomfortable feeling when a deadline is a trap.

This one was a trap.

The ask: 1,107 emails from LinkedIn Sales Navigator in 48 hours

The list itself wasn't messy. Our account executives had spent weeks building it in LinkedIn Sales Navigator. We had account names, website domains, and the contact name and title of the person we wanted to reach.

What we didn't have was a single email address.

The event team had a hard date. If we didn't send invitations by Monday, we'd lose seven business days of meeting-book time before our March 20 webinar. Missing that window wasn't going to cancel the event. It was going to make the event pointless.

So we started doing what every sensible team does in this situation: we picked a professional email finder, asked if it could handle 1,107 contacts, and realized the real issue before we even paid for a subscription.

We didn't know what data is required to find email in a way that actually solved our problem.

What data is required to find email? The answer surprised me

Let me pause the story here, because this is the part I wish someone had explained to me three years ago.

A professional email finder rarely pulls an email out of a public directory. It builds the address by matching a person's name against a company domain and then verifying it. If the request says “John Smith, Acme Corp,” the tool will try something like [email protected], [email protected], or [email protected] and check which one responds.

So the minimum data required to find email is:

  • Full name — not “J. Smith”; the more exact, the better
  • Company domain — not the website name, not a LinkedIn company page

But we had something even more useful in our export. We had the LinkedIn profile URL. And that turned out to be the tiebreaker.

One of our VP targets was named Mike Smith. Our CRM said there was one Mike Smith at a 400-person manufacturing company, but the enrichment engine came back with three possible Mike Smiths. Two were false positives. We didn't know which one to email.

When we re-ran the request with the LinkedIn URL, the API returned the exact match. The surprise wasn't the technology. It was how much difference one extra field makes.

If you're building an outbound list and asking what data is required to find email, don't strip out the LinkedIn profile URL when you export from LinkedIn Sales Navigator. It's not a nice-to-have. For common names, it's often the only way a professional email finder will pick the right person.

The okki-go API integration that bailed us out

Back to Friday night.

At 6:30 p.m., our GTM engineer said the manual CSV upload approach wasn't going to work. We had 1,107 rows. The UI would choke, and we'd spend the whole night staring at progress bars.

Then she said four words I'll never forget: “Let me try the API.”

Earlier that week she had set up an okkigo sandbox to test waterfall enrichment. It wasn't supposed to be part of this project. But the sandbox was running, and the okki-go API integration was exactly what we needed.

She wrote a script that did one simple thing. For each row, it sent the contact's name, company domain, and LinkedIn URL to the enrichment endpoint. Then it waited for a webhook to say the job was done.

That's the part that surprised me most. okki-go for GTM engineers didn't require a six-week middleware project. We called an endpoint, passed the fields I just described, and waited.

The response included the email, plus some firmographic and intent flags that later helped us score accounts. And because we weren't sure about rate limits, she split the requests into four batches.

All four batches finished in 47 minutes.

Not 48 hours. Forty-seven minutes.

What actually happened when the campaign went out

Now the honest part. The enrichment didn't return a perfect list.

We got verified emails for 1,048 of the 1,107 contacts. Fifty-nine came back as no result. That sounds like a failure, but it was the correct outcome. We'd rather have 59 empty responses than 59 guessed addresses that bounced later and hurt the rest of the campaign.

By Sunday night, we had cleaned the output, removed duplicates, and loaded the list into our outreach tool. Two SDRs reviewed the first 50 personalized invitations because automation still needs human judgment.

Then the agent-native side of okkigo came into play. The system scored each contact and drafted event invitations based on what it found in the firmographic and intent data. We didn't send those drafts blindly. Our team edited the tone, approved the sequence, and scheduled the sends.

On Monday at 8:02 a.m., the first batch went out. By Wednesday, we had emailed all 1,048 verified addresses. 63 bounced, which left roughly 985 delivered emails—a 94% deliverability rate for that run. From those, 212 people opened, 38 clicked, and 12 booked a meeting slot.

Was 12 meetings a massive result? No. But the alternative was zero meetings because we never sent anything.

Three lessons I'd pass to a GTM engineer

The okki-go API integration is now part of our stack. But the more valuable takeaway wasn't the API. It was the data logic underneath.

1. Treat LinkedIn profile URLs as core payload.
If you're using LinkedIn Sales Navigator to build lists, export the profile URL even when you think you don't need it. The difference between “John Smith, Acme” and a resolved LinkedIn URL is the difference between a guess and an identity.

2. Enrichment is a waterfall, not a single lookup.
What made okkigo feel different from older tools was its waterfall behavior. It didn't stop after one source returned nothing. It tried a second source, then a third, and when an address looked stale, it flagged it. If you're evaluating a professional email finder, ask about failure handling more than match rates. Any tool can find an email when the data is perfect.

3. The human-in-the-loop part is not a weakness.
I know there's pressure to say AI replaced all manual review. It didn't. The agent drafted, we approved. That combination saved us from sending something that sounded robotic, and it also saved us from blasting people who weren't ready to hear from us.

So if you're ever in the same position, start with the right question. Don't ask “which tool finds the most emails?” Ask what data is required to find email without creating a mess of false positives. Then give the tool a real name, a company domain, and the best LinkedIn profile URL you can find.

Or, if you're me, get a GTM engineer to say “let me try the API” before 6:30 p.m. on a Friday.