Activity log
The audit trail: every send, every compliance check and every settings change, what a single row tells you and how far back it reaches.
Sidebar: Account → Activity log. Page heading: Activity log, the sidebar's own word.
Every send that went through the compliance gate — and every settings change — in one audit trail. This is what makes "compliance-first" checkable rather than a claim.
Open to every role.
What a row tells you
The log is a table with four columns: Time (how long ago), Source, Event and Outcome. Two kinds of row, kept visually distinct so they never blur.
Send rows
The Event reads "<source> sent a reply to <contact>" or "<source> failed to reach <contact>". Open Details under it for the channel and an Open conversation link (when the contact is known).
Where the error log is turned on, owners and admins also see Why? under a Failed outcome. It opens Settings → Logs showing only sending failures on that row's channel, each with what to do, over a time range long enough to include that failure.
Source is what produced the message:
| Label | Means |
|---|---|
| AI agent | The agent's own reply |
| You | A human reply typed in the Inbox |
| Automation | A flow message step |
| Scheduler | A resumed flow step |
| Follow-up | A nudge after an untapped link |
| Retry | A retried send |
| Sequence | A drip step |
| Broadcast | A broadcast |
| AI step | An AI Step node inside a flow |
| Dynamic block | A dynamic message block |
| system | An automatic acknowledgement — e.g. the confirmation sent when a customer texts STOP or START (shows lowercase in the log) |
The Outcome is an honest three-rung ladder, each a word with its own icon:
| Outcome | Means |
|---|---|
| Sent | Instagram's API accepted the message |
| Seen | The recipient actually opened it — strictly stronger than sent, so it stands in for it |
| Failed | It did not reach them |
Settings rows
The plain-English summary of the change, with the source Settings and the outcome Settings change. Renaming the workspace, changing the timezone, pausing everything, flipping a channel — they all land here. A plan limit that stopped new conversations is its own row: source Billing, outcome Replies stopped.
Where link tracking controls are offered, a change under Settings → Workspace → Links lands here too ("Link tracking turned off — new links go out exactly as typed" / "Link tracking turned on — new links are tracked again"), and the outcome filter has Link tracking changes to show only those. The option also stays wherever such a change is already in the log.
What it's for
Three real jobs:
- "Did that message actually send?" — find the contact, read the status.
- "Who changed this?" — settings rows record configuration changes.
- "Prove the AI didn't say something it shouldn't." — every send passed the gate, and blocked sends are counted in the Analytics trust row.
Scope
The log shows the most recent ~60 entries (sends and settings changes combined) for this workspace — a count limit, not a time window, so on a busy workspace older rows are pushed out quickly. The sentence under the filters says so — "Showing N of M loaded events. This view searches the latest 60 events, not the complete account history." — and it stays on screen when a filter matches nothing.
The three filters above the table — the source (All sources), the outcome (All outcomes) and the time range (Loaded history, Last 24 hours, Last 7 days) — narrow the loaded events; Reset filters puts all three back.
Empty states
Two different situations, two different messages:
- Nothing logged yet — the workspace has no history: "once HyperDM starts replying, every sent and blocked message shows up here, alongside every settings change you make." The button under it depends on your setup: Connect Instagram if you have not connected yet, Create an automation if you have.
- No events match — there is history, but the filters match none of it. Clear filters resets them.
Common questions
Why is a message "sent" but the customer says they didn't get it? "Sent" means Instagram accepted it. "Seen" means they opened it. If it stays at sent, the message was delivered to Instagram but not opened.
*Where do I see what was blocked? The Analytics Answered vs. held and Compliance activity cards, on every plan. See Analytics. (A reply blocked by a guardrail* is recorded as a ⚠ note in that conversation in the Inbox instead — see Trust & Guardrails.)
Can I export it? Not from this page. Analytics has Export CSV for the metrics.
Does it show messages customers sent me? No — this is the outbound audit trail plus settings changes. Inbound conversations live in the Inbox.
More in Account & billing
- SettingsThe settings tabs: channels, main menu, commerce, integrations, billing, referrals, team, workspace & links, notifications, security, API & webhooks, Profile.Read
- Plans and billingEvery plan and what it includes, each gate, overage protection, a monthly ceiling, AI credits, what stopped your replies, and how to upgrade, pause or cancel.Read
- Roles and permissionsThe six workspace roles, what each may do, what you see instead of a control you lack, inviting teammates, changing a role and how seats are counted.Read
Try HyperDM for free
50 free conversations a month, no card. Connect Instagram and follow the guide you just read.