Quick start
- Open After Networking from your CRM sidebar.
- Tap Scan to capture a card with your camera, or Upload Cards to choose images from your device.
- Review the extracted contact (name, email, phone, company, title) and tweak anything the AI got wrong.
- Hit Sync. The contact is created in your CRM with the tags and custom fields you've configured.
- Your follow-up workflow takes it from there — email, SMS, and tasks fire automatically.
How scanning works
When you submit a card image, the app sends it to our vision pipeline, which runs OCR on the card and extracts structured fields:
- Name and title
- Company
- Email and phone
- Website and LinkedIn URL when present
You'll see the extracted record next to the original photo so you can verify the result before syncing.
Tip: good lighting and a flat surface produce the best results. If the photo is blurry or angled, retake it before syncing.
Bulk upload
After an event you can drop a stack of card photos in at once.
- Click Upload Cards.
- Select up to 50 images at once (front and back of the same card count as one card).
- The app processes them in parallel and lists each result in the dashboard.
- Click Sync All to push every successful extraction to your CRM in one shot.
Duplicate detection
If you scan the same card twice — or if a contact with the same email or phone already lives in your CRM — the app will detect the match and merge new info into the existing record instead of creating a second one.
- Matches are made on email first, phone second, and a name + company fuzzy match third.
- Existing values are preserved by default; new fields fill in any blanks.
- You'll see a Merged badge instead of Created on cards that were matched.
Custom field mapping
Standard fields — first name, last name, email, phone, company — write to your CRM's built-in contact fields automatically and don't need any mapping.
Three additional values from each card map to GHL custom fields by default, using the same key on both sides:
title→titlewebsite→websiteaddress→address
If your CRM uses different field keys, or you want to send a value somewhere else, open Settings > Custom Field Mappings and click + Add. Each row maps one source to one destination:
- Source (card field) — pick one of
title,website,address,companyName,email, orphone. - Destination (GHL custom field key) — paste the exact key from your CRM. To find a key, in GHL go to Settings → Custom Fields → Contact and copy the field's identifier.
- Click Save. New scans use the mapping; existing cards aren't backfilled.
Tips
- You can map the same source to multiple destinations by adding multiple rows.
- Adding a custom mapping replaces the default for that source. Mapping
title→job_titlemeanstitlestops going to its default destination. - If a card field is empty, nothing is written for that custom field — existing values in your CRM aren't blanked out.
- Tags applied at scan time attach as tags on the contact, not custom fields. Use those for workflow filtering.
Workflows in GoHighLevel
Automations run inside GoHighLevel — not in After Networking
When you sync a card, GoHighLevel creates or updates a contact. To follow up automatically — for example, send a welcome email or queue a task — build a workflow in GoHighLevel. Workflows run on their own once the trigger conditions are met.
What workflows are
A workflow is an automated sequence of actions that starts when a trigger fires. They help you save time on follow-ups, reminders, and CRM updates without doing each step by hand.
Trigger
The event that starts the workflow — for example, Contact created, a form submission, or a tag applied.
Actions
What happens next: send email or SMS, create tasks, update fields, assign owners, and more.
How GoHighLevel expects you to build one
- Choose a trigger — In GHL, open Automation (workflows), click Add new trigger, and pick the event (for card syncs, Contact created is a common starting point).
- Refine with filters (optional) — Filters limit when the workflow runs. For contacts from this app, a tag filter keeps the automation scoped to the right people. Save the trigger when it looks right.
- Add actions — Click Add action and choose what should happen (email, SMS, task, etc.). You can chain several actions in one workflow.
Example: Email everyone from one expo
When you scan cards, tag each upload with the event name (for example
techwest-2026 or whatever you typed as the tag in this app). That tag is how GoHighLevel knows they met you at that show — not another one.
In GoHighLevel, build one workflow per expo (or reuse a recipe and duplicate it): trigger Contact created, add a filter so the contact has that exact tag, then add a Send email action. Every synced contact who lands with that tag gets your follow-up; change the tag in the filter when you exhibit somewhere else.
Subject: Great meeting you at TechWest 2026
It was great meeting you at TechWest 2026 — thanks for taking a card. [Add what you promised: calendar link, deck, coupon, etc.]
In the GHL email action, plug in merge fields so each contact sees their name; keep the expo name in the sentence so every send still references the event.
Swap TechWest 2026 for whatever expo name you use as the tag and in the message so the email always matches where you met them.
For publishing, testing, and troubleshooting (reentry, live tests, multiple triggers), see GoHighLevel's guide: Getting started with workflows.
LinkedIn integration
After Networking can send a LinkedIn connection request to every new contact you scan, on autopilot. Connect your account once, scan cards, and the queue does the rest — throttled, paced, and retried automatically so you stay safely inside LinkedIn's limits.
What gets sent
- For each newly scanned card, the app searches LinkedIn for the same name + company and sends a connection request to the top match.
- If you set a note template, the request is sent with a personalized note. Otherwise it's a connection-only request.
- Status updates as the request progresses: queued → sent → connected. If the search can't find the person, the job ends in an error you'll see on the card row.
- The same person isn't queued twice within 7 days — even if you scan their card again at another event.
Setting it up
Open the Settings modal in the app (gear icon) and fill in the LinkedIn connect section:
- Enable LinkedIn integration — checkbox; off by default. Nothing queues until you turn it on.
- LinkedIn login email — the email you use to sign in to LinkedIn.
- LinkedIn password — entered once. Stored encrypted at rest; we never log it. Leave blank when you re-save to keep the existing password.
- Country — two-letter code (e.g.
us,uk,ca) used to disambiguate the LinkedIn person search when multiple people share the same name. - Note template — optional. Use
{firstName}or{name}as placeholders. Default: "Hi {firstName}, would love to connect." Keep it short — LinkedIn caps invite notes at 300 characters.
Click Save. From the next scan onward, every new contact gets queued for an invite.
First-run verification
The first time the queue tries to log into LinkedIn, LinkedIn treats it as a brand-new sign-in and almost always sends you a "Was this you?" verification email (sometimes a 6-digit code).
That means:
- The very first connect attempt typically fails or stalls at the verification screen.
- The job stays in the queue and retries automatically: 5 minutes later, then 10, 20, 40, 80, 160 minutes, then capped at 5 hours apart, for up to 8 attempts — about 11 hours of total budget.
- Open the verification email LinkedIn sends and click "Yes, this was me." The session is now trusted and the next retry from the queue completes normally.
One-time prep that makes day-one work smoothly:
- Right after enabling the integration, scan one test card to kick off the first attempt.
- Watch the inbox of the email you entered in Settings for a LinkedIn message titled "Verify it's you" or similar.
- Click the link / enter the code on LinkedIn.
- Within 5–20 minutes the queue retries automatically. The badge on that card flips to sent.
If your LinkedIn account uses authenticator-app or SMS 2FA, the integration will not work. Disable 2FA on the account you use for outreach, or create a separate LinkedIn account specifically for After Networking.
Daily and weekly limits
To stay safely under LinkedIn's invite limits and avoid account flags, the queue paces requests for you. Defaults:
- 20 connection requests per day maximum.
- 100 connection requests per week maximum. The week resets Monday at 00:00 UTC.
- At least 2 minutes between consecutive requests, plus up to 3 minutes of random jitter so the cadence looks human.
- The daily allowance auto-adjusts so the weekly cap spreads across the days you have left in the week. Example: if it's Friday and you've only sent 10 of 100 invites, you can do up to 20/day across the weekend rather than burning the whole 100 in one day.
When a cap is hit, jobs aren't dropped — they roll forward to the next eligible day. You can scan as many cards as you want; the queue absorbs the backlog.
Watching the queue
Each card row in the dashboard shows a LinkedIn badge with the current status:
- queued — waiting in line. Still subject to pacing and limits.
- sent — the request was successfully delivered to LinkedIn.
- connected — the recipient accepted the request.
- error — a temporary failure (will retry automatically) or a terminal failure after 8 attempts. Click the card to see the message.
You can manually requeue a failed job by opening the card and clicking Retry connect.
Things to know
- Your credentials never leave the After Networking infrastructure. The password is encrypted in our database and only decrypted in memory when the queue runs.
- If you change your LinkedIn password, update it in Settings as well. Until you do, every queued job will fail.
- If LinkedIn shows a CAPTCHA on a future login, the queue will pause until you complete it through a normal LinkedIn login from any browser. Future runs reuse the resulting trusted session.
- To stop sending requests, uncheck Enable LinkedIn integration. Pending jobs are skipped on the next pass; nothing currently in flight gets sent after that point.
- Connection requests sent through the integration count toward your normal LinkedIn weekly invite cap (which LinkedIn also enforces account-side). Treat the daily/weekly limits in this app as a safe floor, not a ceiling.
Troubleshooting
"AI couldn't read this card"
Retake the photo with better lighting on a flat surface. Avoid glare from glossy cards. You can also edit the fields by hand and sync.
"Sync failed"
Open the card and check the error banner. The most common cause is a missing required field in your CRM. Fill it in and click Retry sync.
"My follow-up sequence didn't start"
Sequences fire from your CRM, not from After Networking. See also Workflows in GoHighLevel for how to wire triggers and tags. Double-check the trigger that watches for new contacts (or for the tag the app applies) is enabled.
"LinkedIn requests aren't sending"
Open the card and check the LinkedIn badge / error message. The most common causes:
- You haven't completed the verification email LinkedIn sent for the first sign-in. See First-run verification.
- Your account has 2FA turned on. The integration cannot complete a 2FA challenge — disable 2FA on the account, or use a separate LinkedIn account for outreach.
- You've hit the daily or weekly cap. The queue resumes automatically the next day / Monday UTC.
- You changed your LinkedIn password without updating Settings.
"LinkedIn is asking me to log in from a new browser"
That email is normal on the very first attempt — click "Yes, this was me" and the queue will retry within 5–20 minutes. If you keep receiving the same email on every attempt, the trusted session isn't sticking; contact us so we can investigate.
Still stuck?
Drop us a line at /contact — we read every message.