Skip to main content

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.
Echo is just the default name. Bootstrap’s first question is what you’d like to call the agent — rename it to anything, or keep “Echo.” This guide calls it Echo throughout.

Before you install

1

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.
2

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.
3

Have 5+ writing samples ready

Real posts, emails, or texts that sound like you. Echo extracts your voice from these during bootstrap. Quality matters more than format.

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.
Echo template detail

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.

LinkedIn

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.
When you connect a provider, Nora automatically writes 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:
1

Create a WhatsApp Cloud API app

At developers.facebook.com, create an app and add the WhatsApp product (Meta’s WhatsApp Cloud API).
2

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.
3

Add the channel in Nora

Open the agent → Channels tab → add WhatsApp → paste the Phone Number ID and Access Token. Credentials are encrypted at rest and never shown back in full.
Prefer something else? Telegram, Slack, Discord, and email all work — see Configure channels for each one’s required fields. You only need one.

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
You can bail and resume later, or re-run anytime with “rebootstrap”.

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.
BehaviorX onlyLinkedIn onlyBoth
DraftsX posts/threads/repliesLinkedIn posts/commentsBoth, adapted per platform
Heartbeats (briefs, scans, reviews)Scoped to XScoped to LinkedInBoth platforms
PLATFORMS.md playbookX section onlyLinkedIn section onlyBoth + cross-platform section
VOICE.md platform shiftsX register onlyLinkedIn register onlyBoth registers
Cross-platform adaptationActive (post 12–24h apart)
Started with one and want the other? Just tell Echo “add X” or “add LinkedIn” — she’ll walk you through connecting it and switch on its workflows.

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 reads integrations/NORA_INTEGRATIONS.md in its workspace. That file is regenerated when integrations sync. Re-open the Integrations tab to confirm the provider shows connected, then tell Echo to re-check.
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.