Client comms and client numbers in the same place, so nobody has to reconcile two tools.
A shared SMS and email inbox
Every conversation with a contact — text messages and email — lands in one threaded inbox the whole team can see. Messages send through the workspace's own Twilio number and SendGrid sending domain, so replies come back to the business, not to an individual's phone. Inbound messages arrive by webhook and appear in the thread without a refresh.
Each message carries its delivery state — sent, delivered, failed, received or suppressed — so a failed text is visible rather than assumed delivered. Media sent by MMS or attached to an inbound email is stored with the message.
Campaigns to a list, not one at a time
A campaign is an SMS or email send to a segment of the workspace's contacts. It is composed, previewed, and then queued: recipients are drained in the background rather than sent in one request, and each recipient row keeps its own status (pending, sent, delivered, failed, bounced) so a send can be audited afterwards.
Unsubscribes are handled for you. Email carries an unsubscribe link, replies of STOP are honoured on SMS, and a contact who has opted out is suppressed on every later send from that workspace.
The record behind every conversation.
Contacts, tags and segments
Contacts hold the usual details plus tags, notes and a timestamped activity history. Saved segments are built from simple rules over status and tags, and a segment is what a campaign or an automated sequence sends to.
Pipelines, forms and invoices
Opportunities move through the stages of a pipeline the workspace defines. Public web forms can be published per workspace and drop submissions straight in as contacts. Simple invoices can be raised, sent and marked paid against a contact.
One shape of data, whatever platform it came from.
Every account, normalised into one dashboard
Each connected account is polled on a schedule and its figures are normalised into a common metric shape — account, platform, metric, value, date — before anything is stored. That is what makes a single dashboard possible: followers from TikTok, page engagement from Facebook and watch time from YouTube are comparable rows rather than five different API payloads.
Metrics are stored durably, so the charts show real history over any date range you pick, not just the window a platform's API happens to expose today. Per-post performance sits alongside the account totals.
Figures the APIs don't expose
Some numbers a client cares about are simply not in the public APIs — Facebook organic impressions among them. Rather than pretend otherwise, the analytics page will hand you a pre-filled CSV template, and an upload puts those figures onto the same charts as the API data. Re-importing the same month updates rather than duplicates it.
Compose once, confirm, publish where it was authorised.
Plan a month, then post it
The planner lays a client's content out on a calendar. A post is written once, with the media attached, and then targeted at one or more connected accounts; each target is previewed with the settings that platform actually requires before anything is sent.
A post can be published immediately or scheduled, in which case a scheduled job publishes it at its time. Each target reports back independently — published, pending or failed with the platform's own error — so a partial send is visible rather than silently half-done. Video that is still being processed by the platform stays pending; it is never claimed as live before the platform says it is.
Nothing publishes on its own. A person at the agency writes the post and confirms it, and for a short window after publishing the post can be pulled back down again from the platforms that support removal.
For the client-facing appointments an agency actually books.
Bookable calendars, synced with Google Calendar
A workspace can define bookable calendars — a studio, a meeting room — each with its own hours, slot length and time zone. Availability is calculated from those hours minus what is already booked.
Where the client connects Google Calendar, each calendar is mapped to one of their real Google calendars: a booking made here creates the event there, existing Google events are read back so a busy slot is not offered twice, and cancelling a booking deletes the event Nordic Connect created. The client keeps working from the calendar they already use.
The follow-up that otherwise depends on somebody remembering.
Workflows
A workflow is an ordered list of steps that runs for one contact: send an SMS, send an email, add a tag, create an opportunity, notify a staff member, wait, wait for a tag, or branch on whether a contact has one.
Waits are written the way an agency thinks about them — a fixed delay, or an offset anchored to an appointment, so "two hours before the shoot" is a step rather than a calculation. A workflow can be tested before it is switched on, and every run is logged with the step it is on, so you can see what a contact was actually sent and when.
Public numbers, through official APIs.
How you're doing against the accounts you care about
A workspace can track rival accounts alongside its own. Their publicly available figures are collected through the same official platform APIs and shown side by side over any date range, with a share-of-voice figure for the tracked set. Where a platform publishes an ad library, the competitor's active ads and recent posts can be listed too.
The deliverable the client sees.
Monthly performance reports
Reports are generated from the same stored metrics as the dashboards, in the workspace's own branding, and a monthly report can be produced and sent on a schedule. Because the metrics are stored rather than re-fetched, a report run later still shows the numbers as they were.
Advisory only, reviewed by a person, on a budget the agency sets.
Drafting and reading, never deciding
Nordic Connect can draft or tighten a caption, suggest hashtags, score a published post against the client's own rubric, indicate the sentiment of a piece of text, and write a short strategic brief from the workspace's figures.
All of it is advisory. A person reads it, edits it and decides — nothing is published or sent because a model suggested it. Every request goes through one internal gateway that checks the workspace has the feature enabled and has budget left, and every workspace has a daily token budget the agency sets, so the cost cannot run away. Contact records and message contents are not sent for content scoring.
Many clients, kept properly apart.
One workspace per client
Each client gets its own workspace, and each workspace's data lives in its own isolated database schema — not a shared table with a client column. A request is resolved to exactly one workspace before any data is read.
The agency decides which modules each client gets: analytics without messaging, messaging without publishing, whichever fits. A module the client is not entitled to is not merely hidden — the API refuses it and the background jobs skip it. Each workspace can also carry its own logo and colours, so what the client sees is branded to them.
Which platforms feed all of this, and exactly what is read and published on each, is set out on the platforms page. Workspaces are set up by Nordic Media for its clients — write to info@nordic.media.