Message composer
The message composer at the bottom of the chat includes several AgencyKey enhancements.
| Area | Location | Contains |
|---|
| Top Toolbar | Above text input | Emoji bar, Scripts button, Checklist button |
| Text Input | Center | Message text area |
| Bottom Toolbar | Below text input | Media buttons, Language toggle, Send button |
Sending text messages
- Click in the text input area
- Type your message
- Click Send (or press Enter)
The Send button turns blue when your message is ready to send.
Emoji
- Click emoji icons in the top toolbar for quick access
- Or use the emoji picker for full emoji selection
Text formatting
Click the text formatting button (Aa) in the bottom toolbar to access formatting options:
| Format | Button | Effect |
|---|
| Bold | B | Makes text bold |
| Italic | I | Makes text italic |
| Underline | U | Adds underline to text |
| Strikethrough | S | Adds strikethrough to text |
| Link | Link icon | Converts text to clickable hyperlink |
| Clear | Eraser | Removes all formatting |
You can also choose text styles from the dropdown:
- Default
- Heading 1
- Heading 2
- Paragraph
Click the media buttons in the bottom toolbar to add content:
| Button | Function |
|---|
| Gallery | Add photos from the vault |
| GIF | Search and add GIFs |
| Video | Add videos from the vault |
| Microphone | Record or add audio |
Vault integration
When you open the vault to select media, AgencyKey shows which items have already been sent to this fan:
- Dimmed items (50% opacity) — Already sent to this fan
- Normal items — Not yet sent
This helps you avoid sending duplicate content to the same fan.
Paid content (PPV)
PPV (Pay-Per-View) messages contain content that fans must purchase to unlock.
Creating a PPV message
- Click the price tag button in the bottom toolbar
- Add media to your message
- Set the price (minimum $3 USD)
- Optionally add free preview media
- Click Send
Free preview vs. paid content
You can organize media into two zones:
| Zone | Description |
|---|
| Free Preview | Media fans see before purchasing |
| Price to View | Media fans unlock after paying |
To move media between zones:
- Drag and drop media items
- Or use the arrow buttons on each item
Setting the price
- Click on the price field
- Enter the amount (minimum $3)
- The price appears on the sent message
PPV message display
Sent PPV messages show:
- Price badge — The cost to unlock
- Paid/Unpaid status — Whether the fan has purchased
- Media thumbnails — Preview of locked content
Scheduled messages
Schedule messages to send later or when the fan comes online.
Setting a delay
- Click the clock icon next to the Send button
- Choose a delay option:
| Option | Sends After |
|---|
| 30 sec | 30 seconds |
| 1 min | 1 minute |
| 2 min | 2 minutes |
| 3 min | 3 minutes |
| 5 min | 5 minutes |
| 10 min | 10 minutes |
| Custom | Your specified hours/minutes |
| When online | When the fan comes online |
Cancellation options
Configure when scheduled messages should be cancelled:
| Option | Effect |
|---|
| Cancel if they message | Auto-cancel if fan sends a message before your scheduled one |
| Cancel if I message | Auto-cancel if you send another message first |
Scheduled message indicator
Scheduled messages show a clock badge with the remaining time until they send.
Scripts (message templates)
Scripts are pre-written message templates you can insert or send with one click.
Using Scripts
- Click the Scripts button in the top toolbar
- Browse or search available scripts
- Choose an action:
| Action | What It Does |
|---|
| Insert | Puts the script text into your message input (you can edit before sending) |
| Send | Sends the script immediately as a message |
The name variable
Scripts can include the {name} placeholder, which automatically replaces with the fan’s name:
Script text: “Hey {name}, how are you today?”
Sent message: “Hey John, how are you today?”
The system uses this priority for the name:
- Fan’s custom nickname (if you set one)
- Default fan nickname (if configured)
- Literal
{name} (if no name available)
Scripts can include:
- Attached media (photos, videos, audio)
- Price (for PPV messages)
When you send a script with a price, it sends as a PPV message.
Translation
AgencyKey has a dedicated Translation settings popover on every chat. Click the translate icon in the chat topbar to open it. The popover has two tabs — Chat translation and When typing — so incoming messages and your own typing are configured separately. Your choices are saved per chat and restored the next time you open the conversation.
Tabs are shown only for features you have access to. If your role covers just one of them, the popover opens directly on that section.
Chat translation
Use this tab to translate messages inside the chat.
| Setting | Description |
|---|
| Enable incoming translation | Translates messages from the fan into your target language |
| Enable outgoing translation | Translates the messages you send into the fan’s language |
| Translate chat to | The target language used for the translations in this chat |
| Show translation only | Hides the original text and leaves only the translated version |
Turn on Show translation only to keep the chat clean when you are working in a single language.
When typing
Use this tab to translate what you type before it is sent.
| Setting | Description |
|---|
| Enable translation | Turns on live translation of your input as you type |
| Translate before sending to | The target language — pick a specific one or choose Auto-detect to match the fan |
| Warn on language change | Shows a warning if the detected language of the fan changes mid-conversation |
When Auto-detect is selected, the detected language of the fan is shown below the selector so you can double-check what the system picked up.
Translation provider
AgencyKey can translate through two services. You can switch between them depending on the quality you prefer or the language pair you need:
| Provider | Notes |
|---|
| Google Translate | Broadest language coverage — works for almost any pair |
| DeepL | Often produces more natural phrasing for major European languages |
Translations appear below the original message text. If a provider is temporarily unavailable, the system keeps the translation flowing using the other one.
Message statuses
After sending, messages show their delivery status:
| Status | Icon | Meaning |
|---|
| Sent | Single check | Message delivered to OnlyFans |
| Read | Double check (blue) | Fan has seen the message |
| Error | Warning triangle | Failed to send |
| Delayed | Clock icon | Scheduled for later |
Message actions
For your messages (outgoing)
Hover over a message or right-click to access actions:
| Action | Description |
|---|
| Unsend | Remove the message (time-limited) |
| Pin | Pin important messages for quick access |
| Reply | Quote this message and respond |
For Fan messages (incoming)
| Action | Description |
|---|
| Like | React to the message with a heart |
| Reply | Quote and reply to this specific message |
| Pin | Pin important messages |
| Copy | Copy message text to clipboard |
| Hide | Hide the message from view |
| Report | Report inappropriate content |
Replying to messages
When you reply to a message:
- Click the Reply button on any message
- A reply preview appears above the composer showing:
- Original author name
- Message text (truncated)
- Date sent
- Type your response
- Click Send — your message will be linked to the original
Click the X on the reply preview to cancel the reply.
Pinning messages
Pin important messages for quick reference:
- Click the Pin button on any message
- The message is added to pinned messages
- Click Pinned messages button in the chat header to view all pinned messages
Pinned messages show a filled pin icon instead of an outline.
To unpin: Click the pin button again on a pinned message.
PPV tab (in Insights Panel)
The right-side panel has a PPV tab showing all paid messages with this fan.
PPV statistics
| Stat | Description |
|---|
| Highest Price | Most expensive PPV this fan has seen |
| Average Price | Average PPV price for this fan |
| Lowest Price | Least expensive PPV this fan has seen |
PPV message list
Scrollable list showing all PPV messages:
- Message text preview
- Media thumbnails (up to 6 visible)
- Price and paid/unpaid status
- Send date
Permissions
What you can do depends on your permissions:
| Action | Required Permission |
|---|
| Send messages | Send messages permission |
| Send paid content | Send paid messages permission |
| Use scripts | View scripts permission |
| Use translation | Translation permission |
Tips
- Track vault usage — Dimmed items help you avoid sending duplicates
- Use scripts for efficiency — Pre-write common responses with
{name} variable for personalization
- Schedule strategically — Use “When online” for important messages
- Check PPV stats — The PPV tab shows what price points work for each fan
- Enable translation — Communicate effectively regardless of language barriers