← Back to app
PULSE
Help & Guide
Pulse Social Command Center — how it works, for admins and users.
Getting started
Pulse Social Command Center drafts platform-native social copy with AI,
lets you attach media and schedule posts on a calendar, and publishes them
to your connected channels — manually or automatically at their scheduled
time. It also includes Pulse SMS for business text messaging
(see Messages). You'll receive an invitation email (or
link) from an administrator; set your password and you're in.
New here, or want a refresher? PiP can walk you through setup step by step —
tuning your brand voice, connecting a channel, and creating your first post. You can
relaunch the guided setup ▶ any time to go
through it again (it also lives at the top of the app's left nav under Get started).
PiP, your assistant new
PiP is your built-in helper — a friendly, full-body character who waves
hello, reacts as you work, and lip-syncs while she speaks. Drag her anywhere, or
click to chat in plain language: ask her to draft or sharpen a post, plan a week of content,
suggest a hook or hashtags, or explain where a feature lives.
- She proposes, you approve. PiP never publishes on her own. Anything she plans or schedules lands in your Queue marked "Awaiting approval" and can't go live until you approve it — regardless of your workspace's approval setting. You're always in control.
- She learns you. Over time PiP remembers your tone, goals, and recurring topics, so her drafts sound more like you and your greeting knows what's waiting. Click the 🧠 in her header to see "What I remember about you" — and view, edit, or clear any of it. She never stores passwords, payment details, or other sensitive data.
- She takes action. Ask her to "generate 3 posts about…", "plan my week," or "auto-schedule my drafts," and she does it end-to-end (the results land pending your approval).
- Plan your week. Say "plan my week" (or use Plan my week in the Queue) and PiP writes a week of on-brand posts around timely hooks and slots them at your best times, for your review.
- Upload → posts. Tap the 📎 in her chat and attach an image or file (PDF, .txt, .md, .csv) — PiP reads it and drafts a post for each channel you have connected, attaching your image. Say "just LinkedIn" to target one channel. (Also on the Generate screen as Upload → posts.)
- Voice. Turn on 🔊 in her header and she reads replies aloud (natural voice when configured, with a built-in fallback). Tap 🎤 to talk to her instead of typing.
- From the Dashboard, the Ask PiP quick action opens her, and Today with PiP gives you a daily brief.
- In the Inbox, Draft all replies has PiP draft an on-brand response to every open item and flag which ones actually need you (questions, complaints, buying intent) — you approve & send.
- In the editor, the Refine chips and Hook lab (3 ranked openers) sharpen your copy in one click.
- On Generate and in the Library, Do more of what works and Worth resurfacing turn your best past posts into fresh drafts.
- In Brand voice, Pull with PiP reads your website and fills in your brand details for you to review and Save.
PiP is a proposal engine, not an autopilot: she drafts and plans, but nothing publishes until you review and approve it.
Light & dark mode
Use the ☀ / 🌙 toggle in the top-right to switch between light and dark themes;
your choice is remembered on this device. The whole app — including the admin and sign-in
screens — follows the theme. Settings (admin) now lives in the left navigation.
Roles
Your access depends on the role your administrator assigned within your organization:
| Role | What you can do |
| admin | Everything below, plus manage members & invites, connect social accounts, configure approvals/SSO, view the audit log, and manage billing. |
| editor | Generate, edit, schedule, and publish posts; reply in the engagement inbox. |
| viewer | Read-only — view the calendar, queue, and inbox; can't create, generate, or publish. |
Organizations
Each organization is its own private workspace — its own brand voice, posts,
media, connected accounts, and queue, isolated from every other
organization. If you belong to more than one, use the organization
switcher in the top-right to move between them; your role can differ
per organization.
Connecting your accounts
Admins only. Go to Admin → Connections and
click Connect for a platform. For most channels you're sent to that
platform to authorize Pulse, then you pick which page/account/board to link.
You only ever grant access to accounts you already administer
— Pulse never sees your platform password, and tokens are stored securely on
the server, never in your browser.
You do not need your own developer approval from the
networks. Pulse is the approved application; you simply authorize your own
accounts through the standard "Log in with…" screen. (A few networks must be
enabled by your Pulse administrator before their Connect button
appears.)
LinkedIn
- You must be an administrator of the LinkedIn Company Page you want to post to.
- Click Connect LinkedIn, approve the permissions, and choose the Company Page.
Facebook & Instagram
- You must be an admin of the Facebook Page.
- To post to Instagram, the IG account must be a Business (or Creator) account linked to that Facebook Page.
- Click Connect Facebook / Instagram, approve, and pick the Page — its linked Instagram account connects automatically.
X (Twitter)
- Click Connect X and authorize — posts go to the X account you sign in with.
TikTok
- Click Connect TikTok and authorize. A TikTok post is a video (or photo carousel) with your text as the caption, so it needs at least one image or video.
- Publishing uses a compliant Post to TikTok dialog where you confirm the account and choose privacy, interaction, and disclosure settings — see Posting a video.
- TikTok's Direct Post audit is approved, so you can publish publicly. Pick the audience — Everyone, Friends, Followers, or Only me — in the Post to TikTok dialog before you post.
Threads
- Click Connect Threads and authorize the Threads account you want to post to.
- Threads is text-first (up to ~500 characters) with one optional image. If you set a first comment on a post, it's added as a reply right after publishing.
Google Business Profile
- Click Connect Google Business, authorize, and pick the business location to post to.
- Posts publish as Google local posts — your text as the summary, plus an optional photo.
YouTube
- Click Connect YouTube and authorize your channel.
- YouTube publishes by uploading a video — the post's first line becomes the title and the body becomes the description. Because it needs a video file, YouTube is a Publish-now action: attach the video and use Publish (scheduled YouTube posts aren't supported, since videos aren't stored between sessions).
Pinterest
- Click Connect Pinterest, authorize, and pick a board.
- Posts publish as Pins — the first line becomes the title, the body the description. Pinterest is image-first, so a Pin needs an image.
Bluesky
- Bluesky uses an app password instead of a login redirect. At bsky.app → Settings → App passwords, create one (don't use your main password).
- In Admin → Connections click Connect Bluesky, enter your handle and the app password, and connect. Posts are text (up to 300 characters) with up to 4 images. The app password is never stored — only the resulting session.
Mastodon
- On your Mastodon server go to Preferences → Development → New application (scope
write:statuses) and copy the access token.
- In Admin → Connections click Connect Mastodon, enter your instance (e.g.
mastodon.social) and the token.
Telegram
- Create a bot with @BotFather to get a token, then add the bot to your channel as an admin.
- In Admin → Connections click Connect Telegram, paste the bot token and the channel (e.g.
@yourchannel or a numeric chat id).
Tumblr
- Register an app at tumblr.com/oauth/apps and generate an OAuth2 access token.
- In Admin → Connections click Connect Tumblr and enter the blog (e.g.
myblog.tumblr.com) and the token.
Discord
- In your server: Server Settings → Integrations → Webhooks → New Webhook, pick a channel, and copy the webhook URL.
- In Admin → Connections click Connect Discord and paste the webhook URL. Posts are text plus any public image links.
Canva (design import)
- Canva is a media source, not a posting channel. An admin clicks Connect Canva in Admin → Connections and authorizes the brand's Canva account.
- Editors can then use Add from Canva in the Editor's media area to browse the account's designs and import one (exported as an image) straight onto a post.
Disconnecting
An admin can disconnect any account in Admin → Connections; that immediately removes its stored tokens.
Generating content
In Generate, enter a topic, pick a goal, tone, and the
platforms you want, then Generate posts — you get one platform-native
draft per channel. Optionally pull live market context with Research.
Trend radar new
The Trend radar card at the top of Generate scans (via live web
search) for topics that are rising or breaking in your industry this week — each
scored breaking / rising / emerging with a one-line "why now" and a
brand-specific angle. Click Draft this to load the angle and context
into the generator, then pick platforms and generate a timely, on-trend post.
Translate new
In the Editor, pick a language and click Translate to turn the
current draft into a native-quality post in any of a dozen languages (Spanish,
French, German, Japanese, Arabic, Hindi, and more). It keeps your brand voice,
tone, emojis, and call-to-action, localizes hashtags, and adds the translated
version as a new draft in your Library.
Multi-day campaigns
- Switch the Schedule toggle to Multi-day, set the number of days (up to 14), a start date, and a time.
- Pulse plans a distinct angle for each day and writes one post per platform per day, each pre-scheduled across the range.
PiP Autopilot new
- Switch the Schedule toggle to Autopilot and hit Plan my month. PiP plans about a dozen posts on a steady cadence across the next four weeks straight from your brand pillars — varied angles, the best-fit platform for each, no topic required.
- Everything lands in the usual preview first, so you review and edit before anything schedules.
Holidays & your important dates
Generation automatically considers U.S. federal holidays and high-engagement
observances (e.g. Mother's/Father's Day, Data Privacy Day, Cybersecurity
Awareness Month). Add your own dates — launches, conferences, anniversaries —
under Brand → Important dates (mark annual for
recurring ones), and they'll be woven in when a post lands on them. They also
appear on the Calendar.
AI images
In the Editor's media area, Generate an image creates an image from a
short prompt and attaches it (downscaled automatically). It counts toward your
organization's monthly AI usage. optional This button
only appears when your Pulse administrator has enabled image generation.
AI drafts are a starting point — always review and edit before publishing.
AI video (for TikTok, Reels & Shorts)
In the Editor's media area, Generate a video turns your topic or copy into a
vertical (9:16) short. Pulse writes a storyboard, generates a scene image for each
beat, records a voiceover, and assembles them — with on-screen captions and a Ken
Burns effect — into an MP4 attached to the post. optional
Appears when your administrator has enabled image generation.
Options (click Generate a video to open them):
- Voice — Warm female (default), Bright female, Warm male, Clear male, or Neutral.
- Scenes — 3–6 (default 5), roughly a 15–25 second clip.
- Captions — on-screen text from the storyboard (on by default; most short-form is watched muted).
- Voiceover — AI narration (on by default; turn off for a silent montage).
Generation runs storyboard → images → voiceover → render → host. The finished MP4 is
uploaded to storage (so it survives scheduling) and attached to the post. It counts
toward your monthly AI usage. When it finishes, any storyboard scaffolding in your
copy — section labels like Hook / Transition / Close and stage directions in
[brackets] or (parentheses) — is automatically removed so the
caption reads clean. The video itself is a real H.264/AAC MP4, which
TikTok, Reels, and Shorts play correctly.
Use a recent Chrome or Edge browser. The video is encoded in your browser with WebCodecs into a true, seekable MP4. Other browsers fall back to an older recorder whose file some platforms flatten to a still image, so stick with Chrome/Edge for AI video.
Admin notes. Image & voiceover providers are set with environment
variables: FAL_KEY (fal.ai) powers both images (FLUX) and voiceover
(Kokoro) on one key; OPENAI_API_KEY is the alternative. Without a
voiceover provider, videos render silent. Generated videos upload directly from the
browser to Vercel Blob, so a valid BLOB_READ_WRITE_TOKEN (auto-injected
when you connect a Blob store in Vercel → Storage — it must start with
vercel_blob_rw_) is required; without it a video stays session-only and
can't be scheduled or posted. The daily blob cleanup prunes media after
BLOB_TTL_DAYS (default 14); raise it if you schedule videos more than two
weeks out. Connectivity shows in Admin → Status.
Posting a video
Once a video is attached, post it like any other media:
- Post now — in the Editor, Post now publishes immediately to the connected account (or, if the platform isn't connected, copies the text and opens its composer).
- Publish — in the Queue, click Publish for the connected account; the video uploads to the platform right away.
- Schedule — set a date & time and arm auto-publish; the scheduler posts it at that time. The hosted video is included automatically.
For TikTok, Post now opens a Post to TikTok
dialog (required by TikTok's guidelines) that confirms which account you're posting to
and lets you choose who can view the video, the Comment /
Duet / Stitch settings your account allows, and whether to disclose
commercial content (your own brand, or a paid partnership). You must pick a
privacy level before the post button enables, and you agree to TikTok's Music Usage
Confirmation by posting. After you publish, the toast shows "Sent — processing…"
then "posted ✓" (or the rejection reason). Until the platform passes TikTok's
Direct Post audit, videos can only post as private and
from a private account; once approved, the dialog automatically offers Public. See
Connecting your accounts → TikTok.
Submitting the TikTok Direct Post audit admin
To lift the private-only restriction and post publicly, the platform owner submits
TikTok's Direct Post audit in the TikTok Developer portal. It requires
up to three screen-recording MP4s (max 50 MB each) that demonstrate the compliant
flow. Record each in a recent Chrome/Edge window (keep the window small to stay under
50 MB; trim dead time), and make sure every on-screen element below is clearly visible.
| Video | What to capture |
| 1. Authorization |
Admin → Connections → Connect TikTok → the TikTok authorization (consent) screen showing the requested permissions → redirected back to Pulse showing Connected. |
| 2. The Post-to-TikTok page |
Open a post in the Editor (with a video attached) → click Post now → pause on the Post to TikTok dialog so the reviewer sees the creator name/avatar, caption, the (unselected) privacy options, the Comment/Duet/Stitch toggles, the Disclose video content option, and the Music Usage Confirmation line. |
| 3. After posting |
Select a privacy level (note the Post button enables only after a choice) → optionally toggle a commercial-content disclosure so its label appears → click Post to TikTok → show "Sent — processing…" then "posted ✓" → cut to the TikTok app showing the published video. |
Reviewers verify the UX against TikTok's
Content Sharing Guidelines — the Post-to-TikTok dialog already implements every required element, so the key is making each one visible on camera. Review takes roughly 5–10 business days; once approved, the dialog offers Public automatically.
Stories (Instagram & Facebook) new
- For an Instagram or Facebook post, tick Publish as a Story in the Editor. Stories are media-only (an image or video) and disappear after 24 hours.
- When you publish, Pulse routes it to the Story endpoint instead of the feed. review Story publishing goes live for your account once Meta approves the app's publishing permissions; until then you can still create and queue Stories.
Blog writer new
Open Blog from the sidebar to draft long-form articles with AI in your
brand voice. Give it a topic (plus an optional angle, audience, or keywords) and Pulse writes
a complete post — headline, structured sections, and an SEO meta description — for you to edit.
- Draft & edit. Generate a draft, then refine the title, body (Markdown), slug, and meta description in the editor. Drafts are saved so you can return to them.
- Repurpose to social. Turn a finished article into platform-native social posts for your connected channels in one click — they land as drafts in your Library.
- Export. Copy the article as Markdown or HTML to paste anywhere.
- Publish to a CMS. Connect the platform you already run and a Publish → button sends the post straight to it — see below.
Publish to your CMS new
In Blog → Publish to your CMS, connect the content platform you run and
publish blog posts to it directly. Supported: Hygraph, WordPress, Ghost, Webflow,
and Medium. Connections are per-workspace and admin-managed; each secret
(token, password, or key) is stored write-only and never shown again. Once
connected, a Publish → button appears on your blog drafts; publishing creates the entry
in your CMS (and publishes it live, if you chose) and returns a link.
Hygraph
Hygraph publishes over its GraphQL Content API. You need the Content API URL and a Permanent Auth Token with the right permissions:
- Content API URL — in Hygraph, Project settings → API Access → Endpoints, copy the High Performance Content API URL (like
https://<region>.cdn.hygraph.com/content/<id>/master). Despite the name, that is the content endpoint in current Hygraph and it publishes fine with a Permanent Auth Token — there's usually no separately-listed "regular" Content API. (The https://api-<region>.hygraph.com/v2/<id>/master form also works if your project exposes it.)
- Permanent Auth Token — Project settings → API Access → Permanent Auth Tokens → create one, then under its permissions grant your content model Read, Create, and Publish (on the Draft and Published stages). Read alone connects but can't publish.
- Model & fields — set Model to your model's API ID (default
Post) and the Title / Slug / Content fields to your schema's API IDs. If the body is a Rich Text field, leave Content is Rich Text checked; for a plain String/Markdown field, uncheck it.
- Publish immediately — checked publishes to the live stage on send; unchecked creates a draft entry only.
Getting "Couldn't verify" or a 400 when you connect? Use the High Performance Content API URL from API Access → Endpoints (that's the content endpoint — it publishes with a token) and a Permanent Auth Token with Read + Create + Publish. If you saved a wrong URL on an earlier try, disconnect and reconnect — the stored URL is what's verified. The connect message shows Hygraph's specific reason (bad URL vs. token).
WordPress
- Works with any WordPress site that has the REST API enabled. Enter your Site URL, Username, and an Application Password — create one in WordPress under Users → Profile → Application Passwords (not your login password).
Ghost
- In Ghost, Settings → Integrations → Add custom integration. Copy the Admin API URL and the Admin API Key (the
id:secret string) into Pulse.
Webflow
- Create an API Token in Webflow (Site settings → Apps & integrations → API access) and copy your blog Collection ID. Enter both, then map the Title (name), Slug, and Rich-text body fields to your collection's field slugs (defaults
name / slug / post-body).
Medium
- Create an Integration Token in Medium (Settings → Security and apps → Integration tokens) and paste it in. Choose whether posts publish public or as a draft, and add optional comma-separated tags.
Previews & best times
- Preview — in the Editor, Preview on <platform> shows a styled mock of how the post will read on that channel, including where the text gets truncated to a "…more".
- Best times — the Editor's schedule field suggests upcoming high-engagement send times for the post's platform; click one to set it. Once a channel has enough of your own published posts with engagement data, the suggestions switch from general heuristics to times learned from your own results (shown as "optimized from your history").
Scheduling & the Queue
- Saving generated posts to the Queue (or scheduling from the Editor) places them on the calendar. The Queue is grouped by day.
- Auto-schedule drafts — when you have drafts, the Queue offers a one-click button that spreads them into each channel's best time slots across the coming weeks.
- For a connected platform, a post shows "Auto-publish at time" — arm it and Pulse publishes it automatically at its scheduled time (checked every few minutes).
- Each armed post shows live status: armed → publishing → published (with a link to the live post) or failed (with a reason and a retry). Failed posts retry automatically a few times.
- You can also cancel an armed post before it fires.
- Recycle evergreen posts — on any post with a connected channel, Recycle reposts it automatically on a cadence you choose (e.g. every 14 days). Pause, resume, or remove rules in the Queue's Recycling panel.
- Conditional follow-ups — arm a follow-up that auto-posts when a published post crosses an engagement threshold (e.g. ≥ 50 likes). Set it up in the Queue's Conditional follow-ups panel; it fires once that post has engagement data.
Approvals
Admins can turn on approval required under Brand →
Workflow. When it's on:
- Editors submit a draft for review instead of publishing directly; admins are notified.
- An admin approves (or sends it back) in the Queue/Editor. Only approved posts can be published or armed for auto-publish.
Publishing: assisted vs. automated
- Post now — the Editor's Post now button publishes the post you're editing straight away: directly through Pulse when the platform is connected, or via the assisted hand-off when it isn't. It sits next to Schedule and Save draft.
- Automated — when the platform is connected, publishing posts directly through Pulse, and scheduled posts fire on their own. Any links in the post can be tracked (see below).
- Assisted — if a platform isn't connected, "Copy & open" copies the text, readies media, and opens the platform's composer so you can paste and post manually.
- Publish status — some platforms (e.g. TikTok) accept a post for processing before it's live. Pulse polls the status and tells you when it's posted or, if moderation rejects it, the reason — and returns the post to draft so you can fix and retry.
- Video everywhere — a video posts natively as a TikTok video, Instagram Reel, Facebook Reel, YouTube Short (vertical videos become Shorts automatically), or a Threads video — so one AI video reaches every short-form channel.
- No double-posts — clicking publish twice (or while an upload is still running) is ignored, so a slow upload never results in two copies.
- First comment — for Instagram, Facebook, and Threads you can set a first comment (e.g. your hashtags) that's posted automatically right after the post. Use Move hashtags here in the Editor to keep captions clean.
Engagement inbox
The Inbox collects comments, mentions, and inbound SMS replies on
your published posts so you can respond without leaving Pulse. Editors and admins
can reply or dismiss an item; it links out to the original post.
- AI sentiment — open items are tagged Positive / Neutral / Negative / Question automatically, so you can triage at a glance.
- Assign & tag — assign an item to a teammate and add tags; filter the inbox by tag.
- Saved replies — save a reply as a reusable snippet and insert it with one click, or let AI draft an on-brand reply for you.
The inbox fills in as each connected channel's read access comes online (LinkedIn first).
Reviews new
With Google Business connected, the Reviews page
lists your location's reviews with star ratings. Reply (or edit a reply) right in
Pulse, and use Suggest reply for an on-brand draft — warm on praise,
empathetic and solution-oriented on criticism.
Mentions & monitoring (Listening)
Mentions & monitoring watches what the web is saying about your brand,
competitors, or any topic — always on. Add keywords and Pulse monitors
Bluesky, Mastodon, news, and Hacker News, grades each mention's
sentiment, pulls out recurring themes, and includes a daily
briefing in your PiP brief. If a tracked competitor's mentions spike, you get an
alert with a ready counter-angle. Click Draft on any mention to turn it into an
on-brand post.
Competitors new
The Competitors page measures share of voice —
how often you and each competitor are mentioned across the web — as a clean
comparison. Add competitors by name; open one in Listening to read the
actual mentions.
Messages (Pulse SMS)
Messages in the left menu is your business text-messaging hub —
a dedicated phone number for two-way conversations and broadcast campaigns, with
opt-out compliance built in.
Setup (admin)
- An admin enables it under Admin → Pulse SMS: Set up Pulse SMS provisions a dedicated number for your organization, then you search & claim a number.
- A2P 10DLC registration. US carriers require a one-time business registration before texts deliver reliably. The Pulse SMS tab shows a registration card — fill in the business, authorized-representative, and campaign questions, then Submit. Pulse files it with the carriers and tracks status (Refresh status); approval usually lands within a day.
- Carrier-compliant opt-in toolkit. The A2P card gives you everything carriers check for:
- A ready-made, hosted opt-in page with a one-click Copy / Open — a manual phone field and an unchecked, required consent box, with your business name and policy links. Or set your own opt-in page URL.
- Privacy & Terms links are pre-filled and added to your opt-in flow automatically (carriers require both, with the "mobile info & SMS consent aren't shared for marketing" statement).
- Copy-paste SMS compliance language — a Privacy-policy SMS section and an opt-in consent block, personalized with your business name, to drop into your own existing policies and sign-up form.
- If a campaign is rejected, Diagnose shows the live carrier status and whether your Privacy/Terms links are in the message flow; Resubmit campaign cleanly recreates it on your approved brand.
Conversations
- The Conversations tab is a 1:1 threaded view — pick a contact (or start a new thread by number) and text back and forth, with delivery status on each message. If a text doesn't deliver, the message shows the carrier's reason in plain English (e.g. "registered, carriers are still provisioning your number — wait and resend").
- Inbound replies also surface in the Inbox under the SMS tab. New replies and status changes appear live — Conversations and the Inbox refresh themselves.
- Tidy up. Switch to Archived to move a single message or a whole conversation out of the way. Anyone can archive; an admin can permanently delete from the archive (it's kept for audit until then), and archived threads can be restored.
Text-to-Pay new
- If your Pulse contact has enabled it for your number, a Payments tab appears. Enter the recipient, an amount, and a description, and Pulse texts the customer a secure payment link from your number.
- The customer pays on the gateway's hosted page — card details are never entered in Pulse. The Payments list tracks each request (sent → viewed → paid); use Refresh status or wait for the live update, and you'll get a "Payment received" notification when it's paid. When a payment lands, the customer also gets an automatic receipt text.
- Request payment in a conversation. A $ button in the message composer lets you ask for a payment right inside a thread — enter an amount (and optional description) and Pulse texts that contact the secure link without leaving the conversation.
- Revenue at a glance & reminders. The Payments tab shows Collected / Outstanding / Paid totals. Turn on Auto-remind unpaid invoices to have Pulse re-text the pay link on a schedule you set (every N days, up to a cap) until it's paid — opt-outs are respected.
- Charges settle to your own merchant account — your Pulse contact sets this up with your payment-gateway credentials.
Auto-replies (keywords) new
- Under Messages → Auto-replies, set keywords (matched on the first word of an inbound text, e.g.
JOIN) that trigger an automatic reply. Each keyword can also subscribe or unsubscribe the sender (logged to your consent trail).
- STOP, START, and HELP are handled automatically for compliance and can't be overridden.
Drip sequences new
- Messages → Sequences builds a timed series of texts (each step is "wait N hours" + a message). Enroll a contact, several numbers, or a whole list; Pulse sends each step on schedule and automatically skips anyone who has opted out.
Customer 360 new
- Click any contact (or the 360° button in a conversation header) to open a single view of that person: lifetime Collected / Outstanding / Paid, message counts and recent history, every payment request, and their consent timeline — so support and sales see the whole relationship at once.
WhatsApp & RCS new
- Pulse can send and receive WhatsApp Business and RCS messages from the same inbox, over your existing Twilio setup. An admin provisions a WhatsApp sender (or an RCS agent) in Twilio, then enables it under Admin → Pulse SMS.
- WhatsApp free-form replies work within the 24-hour customer-care window; business-initiated messages use approved templates. RCS upgrades your existing messages automatically (branded sender, rich cards) with SMS fallback. These channels are available on Growth and above and share your monthly message allowance.
Compliance: consent log & archiving new
- Consent log (TCPA). Every opt-in and opt-out is recorded with its source and timestamp. An admin can download the full log as CSV from Admin → Pulse SMS — a defensible record for carrier or legal audits.
- Compliance archiving. Regulated teams can forward a copy of every message to their own archiver (Smarsh, Global Relay, or any HTTPS endpoint) and export a tamper-evident record with a SHA-256 manifest. Configure it in Admin → Pulse SMS → Compliance archive.
Campaigns
- The Campaigns tab broadcasts one message to a list — send now or schedule for later. Recipients who've opted out are skipped automatically, and each campaign shows live sent / delivered / failed progress.
Contacts, lists & templates
- Contacts — add people (only those who've consented), import a CSV (
phone, name), keep per-contact notes, and see who has opted out.
- Lists — group contacts to broadcast to; manage membership with a checkbox picker.
- Templates — save reusable messages and insert them in a conversation or campaign.
Scheduling, MMS & compliance
- Schedule a 1:1 — use the clock in the conversation composer to send a single message later.
- MMS — attach an image to a text; it appears inline in the thread.
- Opt-out. Recipients reply STOP to unsubscribe (suppressed everywhere automatically) or HELP for info. Message and data rates may apply.
- SMS activity (sent, delivered, received) appears in the Dashboard analytics and the monthly summary, and counts toward your plan's monthly message allotment. A text counts as one message (up to 160 characters; longer texts use more), and a picture message (MMS) counts as two.
Email (Pulse Email) new
Pulse Email is a native email-marketing channel for reaching your
opted-in audience from your own verified domain — campaigns, automated
welcome/drip series, and hosted signup forms, all with a one-click unsubscribe built in.
It's for people who asked to hear from you; it is not for cold or
purchased lists. Open Email from the sidebar — it has five tabs:
Dashboard, Campaigns, Contacts, Forms, and Automations. Campaigns can be
written in the drag-and-drop email builder — blocks for text, images, buttons,
and dividers — or as simple rich text.
Contact enrichment
On a contact's card, Enrich fills in what you don't know — company, title, and
other public business details — from just a name and email, so your lists segment better and
your outreach lands smarter.
Set up your sending domain
- On the Campaigns tab, under Sending domains, add a domain you own (a subdomain like
mail.yourbrand.com is recommended).
- Publish the DNS records shown (SPF, DKIM, MX, and optionally DMARC) at your DNS host, then click Verify. New domains can take a little while to verify and should be "warmed up" — send low, steady volume at first so mailbox providers learn to trust you.
Contacts, lists & segments
- On the Contacts tab, add people one at a time or import a CSV (email + optional first/last name); imports can drop straight into a list.
- Group contacts into lists, apply tags, and filter by subscription status. Unsubscribes, bounces, and complaints are suppressed automatically and never emailed again.
Send a campaign
- New campaign → write a subject and body (or let PiP draft it on-brand), or start from a saved or prebuilt template. Use
{{first_name}} to personalize.
- Choose who to send to: a pasted/CSV list, a saved list, or a tag segment. Then Send now, Schedule for later, or Send test to yourself first.
- A/B test the subject by filling in a second subject line — recipients split 50/50 and the winner (by open rate) is flagged.
- The unsubscribe link and your business mailing address are added automatically (required by law), so a mailing address must be on file (it comes from your A2P/brand registration).
Signup forms & automations
- Forms — create a hosted opt-in signup page; share its link or embed it. New subscribers flow straight into your contacts (and a list/tags you choose).
- Automations — build a welcome series or drip: pick a trigger, add steps with delays, and activate. Contacts are enrolled automatically and receive each step on schedule. Triggers include signup forms and Shopify events (below).
Shopify ecommerce flows new
Connect your Shopify store in Email → Automations → "Connect your store" and Pulse
syncs your orders and checkouts to power ecommerce automations and revenue attribution.
- Connect (custom app). In Shopify go to Settings → Apps → Develop apps → Create an app, grant the scopes
read_orders, read_checkouts, read_customers, install it, then paste the Admin API access token and the app's API secret key into Pulse. We validate them and register the webhooks automatically. (No Shopify app-store review required.) Your credentials are stored securely and never shown again.
- Flow triggers. When building an automation, pick a Shopify trigger instead of a form: Abandoned checkout (fires when a checkout is left unpaid past your first step's delay), Order placed, First order, or Win-back (a customer with no order in 90+ days).
- Dynamic content. In your flow emails, use merge tags that fill from the order/cart:
{{recovery_url}}, {{cart_total}}, {{cart_items}} (for abandoned checkout), and {{order_number}}, {{order_total}}, {{order_items}} (for post-purchase). {{cart_items}} / {{order_items}} render the actual products with images.
- Customer segments. Pulse scores your customers by recency, frequency and spend into VIP, Loyal, New, Active, At-risk, Lapsed and Dormant. When sending a campaign, choose Send to → Shopify segment to target one — only opted-in contacts in that segment are emailed.
- Revenue attribution. Orders synced from Shopify are automatically credited to the email that drove them (last-touch click within the attribution window), so campaign revenue shows on your Email dashboard with no snippet to install.
Plans & tracking
- Email sends count toward your email plan's monthly allotment. Choose a plan in Admin → Billing (or ask your account manager). The Email dashboard shows delivered/open/click/bounce rates, a sends trend, top campaigns, and top clicked links.
Journeys new
Journeys (in the sidebar) builds a multi-step campaign that reaches a whole
contact list across email, SMS, and AI voice calls, with waits in between —
for example: welcome email → wait 2 days → text a reminder → wait 1 day → an AI voice call to
anyone who hasn't responded.
- Build the flow. Add steps in order — Email, SMS, Voice call, or a Wait. Each message reuses that channel's normal, compliant send path (opted-in email, SMS with opt-out handling, and voice).
- Enroll a list. Point the journey at a saved list or segment; each contact starts at step one and moves through on schedule. Anyone who's opted out of a channel is skipped for that step.
- Goals & branching. Set a goal (e.g. replied, booked, paid) and contacts who reach it exit early; add branches so the next step depends on what happened (opened, clicked, replied).
- HubSpot tracking. With HubSpot connected (see CRM integrations), journey activity and follow-up tasks can be written to the matching contact, so sales can pick up where the automation left off.
Journeys only message people who've opted in, and every step honors STOP / unsubscribe — the same compliance rules as Pulse SMS and Pulse Email apply across the whole flow.
AI voice calls (Pulse Voice) new
A journey can place an outbound AI phone call — a natural-sounding voice that
speaks your script and can hold a short conversation — powered by Pulse Voice.
- Connect once. In Journeys → Pulse Voice, an admin connects your Pulse Voice account (API key, default agent, and base URL). Until it's connected, voice steps still save in your journey — they just don't dial.
- Add a Voice call step. In the journey builder, add a Voice call step and pick the agent/script. When a contact reaches it, Pulse Voice calls them and reports the outcome back to the journey.
- Consent applies. Only call contacts who've agreed to receive calls; voice steps follow the same opt-out rules as the rest of the journey.
Link tracking
Admins can enable link tracking under Brand →
Workflow. When on, links in published posts are shortened to a branded
{your-domain}/l/… address that adds UTM tags and counts clicks. The
Dashboard shows total Link clicks. You can set the UTM campaign and
medium; the source defaults to the platform.
Library, labels & imports
- Labels / campaigns — tag posts in the Editor; filter by label and see label chips in the Library.
- Bulk CSV import — in the Library, Import CSV with columns
platform, text, hashtags, labels, date creates drafts (or scheduled posts when a date is given).
- RSS / blog import — Import RSS: paste a feed URL, pick recent items, and add them as drafts to tailor and schedule.
- Hashtag manager — in any post's Hashtags section, ✨ Suggest hashtags with AI, insert a saved group, or save the current set as a group (managed in Brand voice).
- AI carousels — generate a multi-slide carousel of branded image slides from your topic, ready for Instagram & LinkedIn.
- Repurpose — turn one post into native variants for your other channels as new drafts with one click.
- Read the whole post — Library tiles preview the first few lines; click Show more to expand a tile to the full copy. On the Dashboard, click an "Up next" row to expand it too.
Employee advocacy new
Turn approved posts into a team-share feed. Toggle Add to
employee advocacy feed on any post and it appears under Advocacy,
where teammates can one-click share it to their own profiles (the post is copied
and the network opens, with X pre-filled).
Link in bio new
Build a hosted, on-brand link-in-bio page for your profiles. In
Link in bio, set a title, subtitle, avatar, theme, and your links,
then publish — your page lives at {your-domain}/b/{slug} to drop into
any bio.
Analytics & reports
- The Dashboard shows activity (auto-published, link clicks, publish success, AI usage) and — once channels have read access — engagement by channel.
- Export CSV downloads the summary; Branded PDF opens a clean, branded performance report (overview KPIs, engagement, and a per-channel table) ready to save or send.
- A monthly summary email is sent automatically to each organization (where notifications are configured).
- Usage analytics (admins) — Admin → Usage shows where your team spends time: active members, screen views, time in app, a daily trend, and a per-member breakdown, over the last 7 / 30 / 90 days. It measures in-product activity only — no third-party trackers.
API & webhooks new
- Admins manage API access under Admin → API & Webhooks. Create an API key (shown once — copy it then) and send it as
Authorization: Bearer psc_….
- Endpoints:
GET/POST /api/v1/posts (list or create drafts), POST /api/v1/schedule (schedule to a connected account), and GET /api/v1/analytics (your summary).
- Webhooks — register an HTTPS URL to receive events:
post.published, post.failed, post.scheduled, and — for CRM and automation use — message.received, contact.opted_out, contact.opted_in, and payment.paid. Each delivery is signed with X-Pulse-Signature (HMAC-SHA256) using the secret shown when you create the hook — verify it before trusting the payload.
- CRM & automation. Native one-click connectors are built in for HubSpot, Salesforce, Pipedrive, monday.com, Zoho, Dynamics 365, and ActiveCampaign (see CRM integrations). For any other CRM, point these webhooks at Zapier, Make, or n8n to log Pulse activity — for example, write an inbound text or a completed payment onto the matching CRM contact.
CRM integrations new
Connect your CRM so Pulse keeps it in sync — pull contacts into your texting audience and
write conversations, consent changes, and payments onto each contact's timeline
automatically. Manage it all under Admin → Integrations.
Native one-click connectors are available for HubSpot, Salesforce, Pipedrive,
monday.com, Zoho CRM, Microsoft Dynamics 365, and ActiveCampaign — each does the same two things: Sync contacts
(pull your CRM contacts into your texting audience) and activity logging
(write every inbound message, opt-in/opt-out, and completed payment onto the matching
contact's timeline). HubSpot additionally supports inbound contact sync and a
"Send a Pulse text" workflow action. Any other CRM connects via
Zapier, Make, or n8n using our webhooks.
Connect HubSpot
- Open Admin → Integrations and click Connect next to HubSpot.
- You'll be sent to HubSpot — pick the account (portal) you want to connect and click Connect app to approve. You'll land back in Pulse marked Connected. (You need permission to install apps on that HubSpot account.)
- No CLI alternative. You can also click Connect with a token and paste a HubSpot private-app token — in HubSpot, Settings → Integrations → Private apps → create one with the contacts read & write scopes and copy its token. This connects a single portal without any developer setup.
Sync contacts
- Click Sync contacts to import your HubSpot contacts that have a phone or mobile number into your Pulse SMS audience. Only message people who've consented to receive texts.
Activity logging
- With Log Pulse activity… switched on (the default), Pulse adds a note to the matching HubSpot contact whenever an inbound message arrives, someone opts in or out, or a text-to-pay payment is completed — so your CRM timeline stays current with no copy-and-paste.
- Contacts are matched by the last 10 digits of the phone number, so make sure your HubSpot contacts have a phone or mobile number.
- Toggle logging off per connection any time, or Disconnect to revoke access.
Salesforce, Pipedrive, monday.com, Zoho, Dynamics 365 & ActiveCampaign
- Each connects the same way: Admin → Integrations → Connect, then Sync contacts, with activity logging on by default. Salesforce logs as Tasks; Pipedrive, Zoho, Dynamics and ActiveCampaign as notes/activities; and monday.com as item updates.
- monday.com has one extra step: because monday stores contacts as items in a board you design, after connecting you pick the board and the phone column to sync and log against, then Save.
- Microsoft Dynamics 365 asks for your environment URL (e.g. https://yourorg.crm.dynamics.com, from the Power Platform admin center) when you connect, then you sign in with your Dynamics account.
- ActiveCampaign needs no app at all — paste your API Access URL and Key from ActiveCampaign → Settings → Developer.
- Any other CRM still connects via Zapier, Make, or n8n using our webhooks — see API & webhooks.
Mobile apps new
Native iOS and Android apps wrap the same Pulse experience. Sign in as usual;
everything stays in sync with the web. Enable push notifications
to get publish, approval, and inbox alerts on your device. (Store availability is
rolling out — ask your Pulse contact for the current status.)
Support & help new
Hit a snag? Support in the left menu is your help desk. Ask
PiP for an instant fix, open a ticket if you still need us, or start a
live chat during business hours — and track everything in one place. You can also reach it
from the 🛟 button in the PiP chat.
Ask PiP first
- Open Support → New request, describe what's happening, and click Ask PiP first. PiP suggests concrete, step-by-step fixes in seconds — often that's all you need.
Open a ticket
- If it still needs a person, click Open ticket. Your conversation with PiP comes attached, so our team has the full context. Pick a category and priority, and you'll get updates as we work it.
- Track your tickets under My tickets — each opens a threaded view where you can reply. A reply re-opens a resolved ticket automatically.
Live chat
- During business hours a Live chat button is available for a real-time conversation with our team; outside those hours it shows as offline (with the hours) and you can open a ticket instead — we'll follow up by email.
Notifications
A 🔔 bell in the top-right shows in-app alerts with an unread count —
incoming texts, successful publishes, connections about to expire, approval requests,
monthly summaries, and trial reminders. Click it to read recent activity.
Admins add extra channels under Brand → Workflow: notification
emails, a Slack incoming webhook, and a
Microsoft Teams webhook (create a Workflow from the "post to a channel
when a webhook request is received" template and paste its URL). Mobile apps also
deliver push. If email isn't configured, organization admins are
notified by default; high-frequency events like incoming texts skip email so your inbox
stays clean.
Native Microsoft Teams notifications. If you use the Pulse SMS app
inside Teams, a Pulse admin can turn on a native Teams activity-feed alert (the
badge on the app icon) when a text comes in — routed to whoever's handling that
conversation, or to everyone otherwise. Enable it under Admin → Pulse SMS →
Native Teams notifications.
Plans & billing
Admins manage plans under Admin → Billing,
which shows your current plan, status, and usage versus your limits. Each plan
caps connected accounts, scheduled posts per month, AI generations per
month, and SMS segments per month. If you hit a limit, you'll be
prompted to upgrade.
- Social plans are priced per user — four tiers (Starter, Growth, Pro, and Agency) that scale connected accounts, scheduled posts, and AI usage. Add any number of seats; your monthly price is the tier rate × your active users. A custom Enterprise plan is available for larger teams.
- Email plans are priced by contacts — tiers scale with the size of your opted-in audience, from small lists to six figures, each with a monthly send allotment.
- Monthly or annual billing — pay monthly, or switch to yearly and get 2 months free. Toggle it on the pricing page and in Admin → Billing.
- A la carte add-ons top up any plan — extra social accounts, AI generations, or SMS. Buy them yourself from Admin → Billing: each add-on shows an Add button that takes you to a secure hosted page; once paid, the extra capacity is applied automatically and your owned quantity is shown.
- SMS is included in every social tier and is also available as a standalone Pulse SMS plan for organizations that just want business texting.
- PiP usage (assistant chats & voice) has a generous monthly allowance that scales with your plan.
- Choosing a plan sends you to a secure hosted payment page; billing then renews automatically.
- Card details are entered on the payment provider's page — Pulse never stores card numbers.
- You can cancel anytime; access continues through the end of the paid period.
Two-factor & single sign-on
- Two-factor (2FA) — enable it for your own account from Settings → Account using any authenticator app. An admin can require 2FA for everyone in the organization (Brand → Workflow); members are then prompted to set it up before they can continue.
- Single sign-on (SSO) — admins can configure OIDC SSO (Okta, Microsoft Entra, Google Workspace, Auth0, etc.) under Admin → SSO. Members whose email matches the configured domain sign in with the Sign in with SSO button, and accounts are provisioned on first login.
- One Pulse login (Pulse Partner portal) new — if your company uses other Pulse products, you can sign in once at the Pulse Partner portal (portal.pulsetechnologies.ai) and open Social Command straight from its launcher — already signed in, no separate password. From the same launcher you can jump to your other Pulse products too (PulseRFP, PulseVoice, PulseBill, PulseSMS, PulsePay).
- Secure that single login new — in the portal's Security tab, protect your one Pulse login with an authenticator app (2FA) and a set of one-time recovery codes. Save the recovery codes in a password manager — each works once and gets you back in if you lose your phone; you can regenerate a fresh set anytime from the same tab. (This is separate from Social Command's own 2FA above — you can use either or both.)
Admin tasks
- Invite people — Admin → Users → enter an email and role. If email isn't configured, you'll get a copyable invite link to send.
- Change roles / remove members — Admin → Users.
- Password reset for a member — Admin → Users → Reset link.
- Connect / disconnect channels — Admin → Connections.
- Approvals, notifications, link tracking, require-2FA — Brand → Workflow.
- SSO — Admin → SSO. Audit log — Admin → Audit.
- Brand voice & important dates — the Brand tab; this context feeds every generation, so keep it accurate.
Audit log
Admin → Audit shows a timeline of sensitive actions in the
organization — members invited/added/role-changed/removed, channels
connected/disconnected, and posts published — with who did what and when.
Compliance capture & archiving new
Regulated teams (finance, healthcare, insurance) can automatically forward a copy of every
message to their own archiving, supervision, and eDiscovery system — for retention, DLP, and
audits. Set it up in Settings → Compliance (org admin).
- What's captured. Outbound email (campaigns + automations) and social posts across your connected channels. Business text messages have their own archiver under Pulse SMS.
- Connectors. Add one or more destinations: an HTTPS webhook (signed), an SMTP journaling address, a Microsoft 365 / Purview mailbox (retention, eDiscovery, and Communication Compliance then apply), Proofpoint (journal ingestion), or SFTP file-drop for Smarsh, Global Relay, and 17a-4.
- Test & monitor. Each connector has a Test button that delivers a sample record, and a live tally of queued / delivered / failed. Deliveries retry automatically, so nothing is dropped silently.
- Your system, your control. You bring the destination and its credentials (stored write-only), so the archive stays under your control and Pulse isn't the records custodian. Restrict which channels a connector captures, or capture all.
Security & privacy
- Sign-in uses a secure, httpOnly session; passwords are stored only as salted hashes. Optional two-factor and SSO are available.
- Social access tokens are kept server-side and never exposed to the browser.
- Each organization's data is isolated from others, and admin actions are recorded in the audit log. Sign-in and AI endpoints are rate-limited.
- Your data — export & delete. Open Settings → Account → Download my data for a JSON copy of your account and workspace data, or Delete account to permanently remove your account (any workspace you solely own is erased). Tokens and payment details are never included in exports.
- Safety check. Before a post publishes, Pulse screens it and blocks payment card numbers or detected secrets from going out — fitting for a payments brand. You'll see a warning in the Editor if it spots one.
- Support sessions. If you ask support for help, a Pulse platform admin may briefly act inside your workspace to troubleshoot. These sessions are clearly bannered and recorded in the audit log.
- See our Trust & Security page, plus the Privacy Policy, Terms of Service, Data Processing Addendum, and Subprocessors list for details.
Troubleshooting
| Issue | What to check |
| "Connect" doesn't show my page/board/location | Make sure you're an admin/owner of it, and (for Instagram) that it's a Business account linked to the Facebook Page. |
| A channel's Connect button is missing | That network must be enabled by your Pulse administrator first. |
| A scheduled post failed | Open the Queue to see the reason; common causes are an expired connection (reconnect in Admin → Connections) or missing required media. Use retry after fixing. |
| YouTube won't schedule | YouTube is Publish-now and needs a video attached at publish time — use the Publish button rather than scheduling. |
| Bluesky sign-in failed | Use an app password (not your main password) and your full handle, e.g. name.bsky.social. |
| "Read-only role" | You're a viewer — ask an admin to make you an editor to create or publish. |
| Post needs approval | Approvals are on — an admin must approve it before it can publish. |
| Hit a plan limit | An admin can upgrade the plan under Admin → Billing. |
| Instagram/Pinterest post needs an image | These require media — add an image before scheduling or publishing. |
| Texts send but aren't received | Complete A2P 10DLC registration (Admin → Pulse SMS). US carriers filter unregistered numbers; the message log shows the carrier error until registration is approved. |
| "That number has opted out" | The recipient replied STOP. They must reply START to opt back in before you can message them again. |
| Text comes back "undelivered — error 30024" | Your number is registered but the carriers are still provisioning it for your approved 10DLC campaign. This clears on its own, usually within minutes to a few hours — wait and resend. |
| Text-to-Pay link wasn't sent / "not set up" | Text-to-Pay must be enabled for your number by Pulse, with your merchant credentials on file. Ask your Pulse contact to complete setup under Platform Admin → Text-to-Pay. |
| WhatsApp won't send / "WhatsApp isn't set up" | An admin must provision a WhatsApp sender in Twilio and enter the number under Admin → Pulse SMS → WhatsApp. Outside the 24-hour reply window you must send an approved message template, not free text. |
| RCS messages aren't upgrading | Your RCS agent must be carrier/Google-approved and added to your Messaging Service in Twilio; only then do sends upgrade to RCS. Non-RCS handsets always fall back to SMS. |
| An add-on shows "contact your account manager" instead of an Add button | That add-on's hosted payment page isn't configured yet. Once it's set up you'll get a one-click Add button in Admin → Billing. |
| AI video won't generate | Use a recent Chrome or Edge browser (video is encoded in the browser). If it says image/voiceover isn't configured, an admin needs to set FAL_KEY (or OPENAI_API_KEY). |
| "Couldn't host the video" / "Video isn't hosted yet" | Media storage isn't set up correctly. An admin should connect a Blob store in Vercel → Storage so BLOB_READ_WRITE_TOKEN (must start with vercel_blob_rw_) is valid, then regenerate the video. |
| TikTok video posted as a still image, or no sound | Regenerate it in Chrome/Edge — older browsers produce a file TikTok flattens to one frame. The current build encodes a proper MP4. |
| TikTok "Publish failed" | Choose a privacy level in the Post to TikTok dialog before posting. Direct Post is approved, so any audience (including Everyone) is available. |
| Hygraph "Couldn't verify" / 400 when connecting | Use the High Performance Content API URL from Project settings → API Access → Endpoints — in current Hygraph that's the content endpoint (it publishes with a token); there's no separate "regular" one. Use a Permanent Auth Token with Read + Create + Publish. If an earlier wrong URL was saved, disconnect and reconnect. See Publish to your CMS → Hygraph. |
| CMS publish failed (any provider) | Check the Model and Title / Slug / Content field names match your CMS schema exactly, and that the token/key can create and publish (not read-only). For a Rich-Text body keep Content is Rich Text on; for a plain field, turn it off. |
| A journey's voice step didn't call | Connect Pulse Voice in Journeys → Pulse Voice (API key + agent). Voice steps save without it but won't dial until it's connected. Also confirm the contact consented to calls. |
| I don't see a new feature / I'm seeing an old error | Your browser cached an old version. Hard-refresh (Ctrl+Shift+R) or open a private window. The faint build stamp in the bottom-left shows which version you're running. |
What's new — version history
A summary of major releases and enhancements. Pulse updates automatically — there's nothing to install.
Current releases now live in the Pulse Partner Portal under Connect → Changelog, alongside release notes for the rest of the Pulse platform (sign in with your Pulse account to see it). Older releases (v1.0–v3.7) are kept in the changelog archive.
Need more help?
Contact pulselegal@pulsetechnologies.ai
or your organization administrator.