Inbox

An Inbox That Sorts Itself

Stop scrolling a flat list of messages. Crispy labels hot leads, snoozes what can wait, archives the noise, and tells you which threads need a reply today. Ask for your inbox and get a triaged, prioritized view, not a wall of unread dots.

crispy — bash

Give me my inbox status for sales conversations and flag anything stale older than 5 days or any overdue commitments

{
  "needs_reply": [
    { "chat_id": "msg_abc123", "name": "Jane Smith", "waiting_days": 2 }
  ],
  "stale": [],
  "overdue_commitments": []
}

Sync my LinkedIn inbox now so I can see the latest replies

{
  "queued": true
}

Show me my 10 most recent LinkedIn conversations labeled Hot Lead and tell me which ones are waiting on my reply

[
  {
    "chat_id": "msg_abc123",
    "name": "Jane Smith",
    "last_message": "Sounds great, can you send the deck?",
    "their_turn": true,
    "label": "Hot Lead"
  }
]

11 Tools for Inbox

Each tool is available as an MCP tool for AI agents or as a REST API endpoint.

Get Inbox Status

Read

Get an instant triage summary of your LinkedIn inbox with zero live API calls, reading from synced data. It surfaces threads that need a reply, conversations that have gone stale past a configurable threshold, and overdue commitments you made. Filter by category like sales or recruiting, or by label like 'Hot Lead', and use force_live to recompute from the latest sync and queue a fresh pull in the background. Returns an empty needs_reply list when your inbox is clear.

get_inbox_status

Sync LinkedIn Inbox

Write

Trigger an immediate inbox sync to pull the latest messages from LinkedIn. The job runs asynchronously and returns {queued:true}, typically completing within 30 to 60 seconds. It cannot run without a linked LinkedIn account, in which case it returns success:false. Poll get_inbox_status with force_live to confirm fresh messages have landed.

sync_inbox

List LinkedIn Conversations

Read

List your LinkedIn conversations with a preview of the most recent message in each thread (1 to 100, default 20). Each result includes a chat_id for follow-up actions and a their_turn flag that tells you when the contact sent the last message and is awaiting your reply. Filter by label like 'Hot Lead' or 'Client', and optionally include archived threads. Use it to surface what needs attention before drafting responses.

list_conversations

Organize Conversation

Write

Run a single organizing action on a conversation: archive, unarchive, label, unlabel, snooze, or smart_archive. Labeling needs a label value, and snooze needs a future ISO 8601 snooze_until (capped at 200 per day), with smart_archive optionally auto-returning the thread when the other person replies. The call fails if the action is unknown or the chat_id is not found.

organize_conversation

List Conversation Labels

Read

Return every label currently applied across your conversations along with a count of how many threads carry each one, sorted by count. Returns an empty array when no labels exist yet. Pair it with list_conversations(label=...) to build a split inbox organized by your own categories.

list_labels

Accept Suggested Label

Write

Accept the suggested label for a conversation, such as 'sales' or 'networking', and promote that suggestion to the conversation's active category. Identify the thread by its chat_id. The call returns an error if the chat_id is not found or no suggestion exists for it.

accept_suggested_label

Schedule LinkedIn Message

Write

Schedule a message to send in a specific conversation at a future datetime (ISO 8601, up to 8000 characters). If the contact replies before the scheduled time, the send is automatically cancelled so you never talk over them. The call fails if send_at is not a valid future datetime, and an optional internal note can be attached for your own reference.

schedule_message

List Reminders and Scheduled Messages

Read

Return your pending snooze reminders and scheduled messages, defaulting to 50 results sorted by remind_at. Filter by status using pending (default), fired, cancelled, sent, failed, or 'all' to inspect any part of the lifecycle. Returns an empty array when nothing matches.

list_reminders

Bulk Archive Stale Conversations

Write

Archive conversations that have gone quiet for longer than a set number of days (default 30, minimum 7) where you were the last to message. Each archived thread automatically returns to your inbox if the other person replies, so nothing is lost. Use dry_run=true to preview the list first, and expect an empty result when no stale conversations are found.

bulk_archive

Mark Conversation Read

Write

Mark a LinkedIn conversation as read using its chat_id from list_conversations, with a safety limit of 200 per day. The action is idempotent and returns {marked_read: true}, so repeating it on the same thread is harmless. It fails if the chat_id is not found or belongs to another account. Use it to clear unread badges on threads you have already handled.

mark_chat_read

Search LinkedIn Messages

Read

Search your cached LinkedIn messages by keyword across all conversations with zero live API calls (1 to 100, default 20). Each match returns the chat_id, sender, and timestamp so you can jump straight to the relevant thread, and you can narrow results to only messages you sent or only those you received. Returns an empty array when nothing matches. Use it to recall where a topic, name, or commitment was discussed.

search_messages

Use Cases

Here's how teams use Crispy's inbox tools in their day-to-day workflows.

Triage your whole inbox in one ask

Crispy reads every open thread, labels the ones that matter, snoozes the rest, and hands you a short list of who to reply to. The job your inbox should do for you, done.

Example prompt

Go through my inbox, label any VP+ conversations as 'Hot lead', snooze anything I can deal with next week, and tell me who's waiting on a reply

Never lose a warm thread again

Snooze a conversation and it comes back when you said it would. Set reminders on the people you owe a follow-up so nothing slips through the cracks.

Example prompt

Snooze this thread until Tuesday and remind me to follow up with the three people who replied but I haven't answered

Clear the noise without missing anything

Bulk-archive stale and low-signal threads so your inbox shows only live conversations. The important ones stay labeled and at the top.

Example prompt

Archive everything older than 30 days with no reply, but keep anything labeled 'Hot lead' or 'Client'

Find that one conversation instantly

Search across every message and attachment by person, company, or what was said. No more scrolling to find the thread where someone agreed to a call.

Example prompt

Find the conversation where someone from a fintech company asked about pricing last month

Get started in 3 steps

1

Sign up

Create your Crispy account. No credit card required for the first setup.

2

Connect LinkedIn

Link your LinkedIn account from the dashboard. Takes 30 seconds.

3

Start using

Add Crispy to Claude, Cursor, or any MCP client, or call the REST API directly.

$49/seat/mo. Everything included.

No API call limits. Every tool included. Cancel anytime.

View pricing

Frequently Asked Questions

How does labeling work?

Crispy can apply your own labels or suggest them. Ask it to label 'anything from a VP+' as a hot lead, or set up labels like 'Pricing', 'Partnerships', or 'Recruiters' and let it sort new threads as they come in.

What happens when I snooze a thread?

It disappears from your active view and comes back at the time you chose. If the person replies before then, the thread resurfaces immediately so you never miss a live conversation.

Does Crispy reply for me?

Crispy drafts replies in your voice and queues them, but you stay in control. Nothing sends without your say-so unless you explicitly set up a campaign sequence to handle follow-ups.

Can I manage multiple accounts' inboxes?

Yes. Crispy supports multiple connected LinkedIn profiles, so you can triage your own inbox and your team's from the same AI chat, with each account's conversations kept separate.

Will my data be safe?

Messages are read and sent through your own LinkedIn session. Contacts and conversation metadata are stored to power labels, snooze, and search. You can export or delete your data anytime, with no lock-in.

The complete LinkedIn API. Ready when you are.

Connect your first LinkedIn profile in under 5 minutes. Every tool, every seat, no feature gates. Safe limits, warm-up, and full permission control built in.