Set up Echo, the personal-branding agent
Install the Echo Agent Hub template, connect X and/or LinkedIn, connect one channel, and run the bootstrap that learns your voice. Echo drafts posts and replies in your voice for X, LinkedIn, or both — you always stay the publisher.Echo is a ghostwriting-oriented Agent Hub template for X and LinkedIn. It runs a guided bootstrap, builds a
VOICE.md from your real writing samples, drafts multiple post angles, prepares engagement replies for review, and keeps platform-specific playbooks close to the daily workflow. Nothing is published or sent without your approval.
You can run Echo for X only, LinkedIn only, or both — the platform you pick during bootstrap drives everything downstream.
Before you install
A running Nora instance with dashboard access
You’ll connect integrations and channels from the agent’s detail page, so you need
editor
access to the destination workspace.Decide which platform(s) to manage
X only, LinkedIn only, or both. You can start with one and add the other later — it’s not a
permanent choice.
Step 1 — Install Echo from Agent Hub
From the dashboard, open Agent Hub, find the Echo Personal Branding listing (under the Built-in filter), and click Install. Pick a workspace and agent name. Nora materializes the template’s files into a new agent. See Publish and install Agent Hub templates for the general install flow.
Step 2 — Connect your platform(s)
Open the agent → Integrations tab. Connect at least one of the two platforms — only the one(s) you plan to manage.Twitter / X
Click Authorize with X. Requires an X OAuth 2.0 app with the
tweet.read,
tweet.write, users.read, and offline.access scopes.Click Authorize with LinkedIn. Requires a LinkedIn developer app with the
openid, profile, email, and w_member_social
scopes.The OAuth app setup (registering the redirect URI, copying the Client ID/Secret) is covered in the
per-provider guides linked above. Nora runs the full authorize → callback flow — you never paste a
long-lived token.
integrations/NORA_INTEGRATIONS.md into the agent’s workspace and updates TOOLS.md. Echo reads that file to know what’s connected — you never edit it by hand.
Step 3 — Connect one channel
Echo needs one communication channel to reach you with briefs, drafts, and approval requests. This lives in the Channels tab — a different tab from Integrations. WhatsApp is the recommended example:Create a WhatsApp Cloud API app
At developers.facebook.com, create an app and add the
WhatsApp product (Meta’s WhatsApp Cloud API).
Copy your credentials
From the WhatsApp setup screen, copy the Phone Number ID and an Access Token. Optionally
set a webhook Verify Token if you want Echo to receive inbound replies.
Step 4 — Run the bootstrap
Start the runtime and send any first message (“hey” works). Echo introduces herself and what she does, then walks through setup (~15–20 min):- Names herself. The default name is Echo, but the first thing bootstrap does is ask what you’d like to call the agent — reply with any name, or keep “Echo.” Whatever you pick is used from then on and saved to
PROFILE.md. - Captures who you are and what you want to be known for
- Asks which platform(s) to manage and collects handles only for those
- Confirms your platform integration(s) are connected (sends you back to the Integrations tab if not)
- Learns your voice from 5+ samples and writes
VOICE.md - Captures cadence, goals, and hard-no topics
- Drafts a test post so you can calibrate
Single platform vs. both
Your choice in bootstrap (enabled_platforms) cascades through every behavior file. Echo never acts on a platform you didn’t enable.
| Behavior | X only | LinkedIn only | Both |
|---|---|---|---|
| Drafts | X posts/threads/replies | LinkedIn posts/comments | Both, adapted per platform |
| Heartbeats (briefs, scans, reviews) | Scoped to X | Scoped to LinkedIn | Both platforms |
PLATFORMS.md playbook | X section only | LinkedIn section only | Both + cross-platform section |
VOICE.md platform shifts | X register only | LinkedIn register only | Both registers |
| Cross-platform adaptation | — | — | Active (post 12–24h apart) |
What Echo will and won’t do
- Draft-only by design. Echo drafts; you publish. There is no auto-posting and no auto-engagement.
- Approval every time. Publishing, DMs, replies, profile changes, and follows each require your explicit live approval — prior approval never carries over.
- Hard nos are absolute. Topics you list during bootstrap are never drafted.
API limits
- X: the free API tier is very limited for reads. Analytics pulls need the Premium API or manual dashboard exports.
- LinkedIn: the API is restrictive; most operators paste analytics screenshots for Echo to parse during the weekly review.
- Either way, drafting works without API access — only auto-pulled analytics are affected.
Troubleshooting
Echo says a platform isn't connected, but I authorized it
Echo says a platform isn't connected, but I authorized it
OAuth fails on the X or LinkedIn consent screen
OAuth fails on the X or LinkedIn consent screen
I pasted a token into the chat by mistake
I pasted a token into the chat by mistake
Rotate it immediately (in the provider’s developer console or, for a channel, the provider’s app), then enter the replacement in the correct tab — Integrations for X/LinkedIn, Channels for WhatsApp/Telegram/etc. Echo never stores credentials from chat.

