> ## Documentation Index
> Fetch the complete documentation index at: https://help.pipelime.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# LinkedIn Chat

> Read and answer LinkedIn conversations, and see the states a lead moves through before a chat exists.

export const Kbd = ({children}) => <kbd className="pl-kbd">{children}</kbd>;

export const UiPath = ({children}) => {
  const parts = String(children).split(/\s*(?:→|>)\s*/).filter(Boolean);
  return <span className="pl-path">
      {parts.map((part, index) => <span key={`${index}-${part}`}>
          {index > 0 && <span className="pl-path__sep">→</span>}
          {part}
        </span>)}
    </span>;
};

export const Screenshot = ({id, alt, caption, frame = 'browser', url, marks = [], lang = 'en', workspace = 'northwind-outbound'}) => {
  const src = `/images/screenshots/${lang}/${id}.png`;
  const chrome = url ? `app.pipelime.ai/${workspace}${url}` : 'app.pipelime.ai';
  return <figure className={`pl-shot pl-shot--${frame} not-prose`}>
      <div className="pl-shot__frame">
        {frame !== 'bare' && <div className="pl-shot__bar">
            <span className="pl-shot__dots">
              <span className="pl-shot__dot" />
              <span className="pl-shot__dot" />
              <span className="pl-shot__dot" />
            </span>
            <span className="pl-shot__url">{chrome}</span>
          </div>}
        <div className="pl-shot__media">
          <img src={src} alt={alt} loading="lazy" />
          {marks.map(mark => <span key={mark.n} className="pl-shot__mark" style={{
    left: `${mark.x}%`,
    top: `${mark.y}%`
  }} aria-hidden="true">
              {mark.n}
            </span>)}
        </div>
      </div>
      {caption && <figcaption className="pl-shot__caption">{caption}</figcaption>}
    </figure>;
};

Read and answer your leads' LinkedIn conversations from one screen, and recognise the states a lead passes through before a chat exists at all.

<div className="pl-availability">
  <div className="pl-availability__row">
    <div className="pl-availability__label">Where</div>
    <div className="pl-availability__value"><span className="pl-path">Communication<span className="pl-path__sep">→</span>LinkedIn Chat</span></div>
  </div>

  <div className="pl-availability__row">
    <div className="pl-availability__label">Your role needs</div>
    <div className="pl-availability__value">Read access to LinkedIn Chat <code>read-messages</code>. Admin, Member and Viewer have it by default.</div>
  </div>

  <div className="pl-availability__row">
    <div className="pl-availability__label">To create or change</div>
    <div className="pl-availability__value"><code>create-messages</code> to add one, <code>update-messages</code> to change one, on top of the permission above.</div>
  </div>

  <div className="pl-availability__row">
    <div className="pl-availability__label">Your plan</div>
    <div className="pl-availability__value">Needs at least one seat for LinkedIn accounts.</div>
  </div>

  <div className="pl-availability__note">If you cannot find this in your sidebar, your workspace may have a custom menu configuration. Contact support and we will check it for you.</div>
</div>

## Before you begin

* A LinkedIn account connected in this workspace and Active. Without one, **Connect a LinkedIn account to interact** takes the place of the message box, and of the buttons that would otherwise start a conversation.
* A LinkedIn profile URL on the lead. A lead with no URL on record and no LinkedIn activity yet is greyed out in the list, reads **No LinkedIn URL found**, and cannot be opened at all.
* Retrying a failed message needs `update-messages` on top of the access above.

## Steps

<Steps>
  <Step title="Open the list">
    Go to <UiPath>Communication → LinkedIn Chat</UiPath>. The left panel is your lead list, ordered by most
    recent LinkedIn activity. It is not narrowed to leads you have already messaged, so leads with nothing
    on LinkedIn yet are in it too. **Search leads...** narrows it by name. Selecting a lead opens the thread
    on the right and marks it read immediately, even before you reply.

    **No LinkedIn conversations yet** replaces the list when there are no leads to show at all: an empty
    workspace, or a search that matches nothing. A workspace with leads but no LinkedIn activity still lists
    every one of them.

    <Screenshot id="channels/linkedin-chat--empty" url="/linkedin-chat" alt="The LinkedIn Chat screen with an empty lead list: a message icon, the heading 'No LinkedIn conversations yet' and a line of explanatory text below it" caption="This workspace has no leads at all. Leads with no LinkedIn activity would still be listed." />
  </Step>

  <Step title="Take a lead from a first look to a connection request">
    A lead with a LinkedIn URL but no LinkedIn activity yet opens on one button, **View Profile**. Nothing
    else is offered until a profile view is on record.

    The panel then shows a **Profile viewed** badge and the button becomes **Send Connection Request**. That
    opens a dialog where the note is optional: write one, or leave it empty, then **Send Request**. If you are
    sending from a Basic LinkedIn account there is no note box at all, and the dialog says that Basic LinkedIn
    accounts cannot include a note with connection requests.

    While the request is outstanding the panel shows a clock and a line telling you that you will be able to
    chat once they accept. There is no message box on this screen.

    <Screenshot id="channels/linkedin-chat--invitation-pending" url="/linkedin-chat" alt="The right panel for a lead whose connection request is still pending: the lead's name and job title, a clock icon and a note that you'll be able to chat once they accept, with no message box below it" caption="A representative example. No seeded workspace has a pending invitation on file." />
  </Step>

  <Step title="Reply once they've accepted, and read the thread">
    Once the invitation is accepted the header adds a **Connected** badge and the panel becomes a timeline
    with a message box under it. Type into **Type a message...**, then press <Kbd>Enter</Kbd> to send and
    <Kbd>Shift</Kbd> + <Kbd>Enter</Kbd> for a new line.

    The thread is grouped by day. A viewed profile and an invitation sent without a note are one-line entries
    rather than bubbles, and that invitation entry reads **Connection accepted** once they accept. An
    invitation that carried a note is drawn as a bubble instead, labelled **Invitation note**.

    A message you have just sent sits in the thread marked **Sending...** until it lands. If it does not, the
    bubble turns red and reads **Failed** (hover it for the reason), and a retry button beside it sends the
    same text again without retyping it.

    <Screenshot id="channels/linkedin-chat--conversation-list" url="/linkedin-chat" alt="The LinkedIn Chat list on the left with five leads, and an open thread on the right showing a back-and-forth of sent and received messages under day dividers" caption="A representative example. No seeded workspace has LinkedIn message history on file. The list sorts on whatever happened last on a lead, message or not." />
  </Step>

  <Step title="Deal with a message that has not gone out yet">
    A LinkedIn message queued for later, or saved as a draft, sits in the same timeline, dimmed until you
    hover it. A queued one shows how long until it goes out, and hovering that shows the exact date and time.
    A draft is marked **Draft · not scheduled** and has no send time at all.

    Select either bubble to get its actions: **Send now**, **Edit** and **Delete**, plus **Save as draft** on a
    scheduled one, which keeps the text and drops the send time.
  </Step>

  <Step title="Filter, search and catch up">
    **Unread only** narrows the list to leads with something unread. Once nothing is left, it shows
    **You're all caught up** and a **Show all conversations** button that clears the filter. **Mark all read**
    sits above the list whenever anything in the workspace is unread, and clears every unread badge in the
    workspace at once.
  </Step>

  <Step title="Choose which account is talking">
    An account selector appears in the header only when the workspace has more than one Active LinkedIn
    account. On a lead with nothing on LinkedIn yet, it picks which account views the profile and sends the
    request. It locks as soon as the lead has any LinkedIn activity at all, so the account that opened a
    thread is the one that stays on it, and on a thread that already exists it shows the account already
    running it.
  </Step>
</Steps>

## What happens next

<Check>
  Your message appears in the thread straight away marked **Sending...**, and settles into a sent bubble once
  it goes out.
</Check>

The list is ordered by most recent LinkedIn activity and refreshes on its own, so a reply that has just come
in surfaces the lead without a page reload.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Connect a LinkedIn account to interact">
    No LinkedIn account in this workspace is connected and Active.
    [Connect a LinkedIn account](/en/channels/connect-linkedin-account) to send from, then select the lead
    again. The panel reads the account list when you open a lead, not on a timer, so a screen left open on
    this line keeps showing it until you reopen the lead.
  </Accordion>

  <Accordion title="A lead is greyed out and says No LinkedIn URL found">
    That lead has no LinkedIn profile URL on record and no LinkedIn activity behind it, so there is nothing to
    open and the row does not respond. Add the profile URL to the lead and the row becomes selectable. A lead
    that does have activity but no URL on record opens normally and reads **No LinkedIn profile found for this
    lead.** in the panel instead.
  </Accordion>

  <Accordion title="A message shows Failed">
    Hover **Failed** for the reason the send came back with, then use the retry button beside it to send the
    same text again. The retry button is only there if your role can change messages.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Connect a LinkedIn account" icon="link" href="/en/channels/connect-linkedin-account">
    Sign in with your LinkedIn credentials, clear the security checkpoint, and reconnect when the session
    drops.
  </Card>

  <Card title="LinkedIn action limits, schedule and ramp-up" icon="gauge" href="/en/channels/linkedin-limits-and-ramp-up">
    Why a new LinkedIn account sends less than its limit, and how the sending window works.
  </Card>

  <Card title="Inbox overview" icon="inbox" href="/en/inbox/overview">
    The email inbox's own thread list, reading pane and unread count, for comparison.
  </Card>
</CardGroup>
