I made the mistake of inviting some friends to LinkedIn .

The result is that LinkedIn will now re-send e-mails a few more times to remind them that they didn't register yet.

Is there a way to make it not do that after the first time the invitation was sent?

3 Answers 3


Have you tried the following?

  1. Choose Sent from the Inbox menu in the top navigation bar.
  2. Choose the Sent Invitations tab
  3. Open any of the pending "Invitation to connect on LinkedIn" messages you've sent to your friends.
  4. Click Withdraw (the button below the invitation, next to "Resend")

I'm not sure about it, but the "withdraw" option does seem promising. You can also "delete" sent invitations, but to me "withdraw" sounds more likely to do what you're after.

  • Is it possible to "mass withdraw" ?
    – Tal Galili
    Commented Sep 27, 2010 at 18:17
  • @Tal, I didn't spot such an option (unless "delete" does the same as "withdraw"; mass delete is possible). But wait, I found this entry about invitation reminders at LinkedIn FAQ. It says: "[...] customer service can withdraw all pending Invitations on your behalf" and instructs how to request that.
    – Jonik
    Commented Sep 27, 2010 at 19:20

LinkedIn mass withdraw:

Answering Tal's question and follow up: it seems there is no mass withdraw functionality on the LinkedIn site.

So I used selenium and chromedriver to write a crude little python program, which I ran in IDLE, to do this. (The continuing issues of firefox version vs selenium caused firefox to not be helpful for me. ymmv)

You need to edit the definitions of the email address and password you use to login to linkedin.

(Obviously, edit out the messages printed to IDLE shell if that's too verbose. fwiw, I didn't see how to change the number of messages displayed on the linkedin 'sent' messages page to be greater than 10.)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC
import unittest, time, re

userid = 'youremailaddress'  # edit to the email address you use to login to linkedin
pwd = 'yourlinkedinpassword' # edit to your linkedin password

class LI(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.base_url = "https://www.linkedin.com/"
        self.verificationErrors = []
        self.accept_next_alert = True

    def test_l_i(self):
        driver = self.driver
        driver.get(self.base_url + "uas/login")
        mbox_ids =  []
        email_textbox = driver.find_element_by_id("session_key-login")
        password_textbox = driver.find_element_by_id("session_password-login")
        driver.get(self.base_url + "inbox/sent")
        first_src = driver.page_source

        data_count_start = first_src.find('data-count') + 12
        data_count_end = data_count_start + first_src[data_count_start:].find('"')
        data_count = int(first_src[data_count_start:data_count_end]) + 9
        page_count = data_count / 10
        print str(page_count) + ' pages of messages'

        for i in range(page_count + 1):
            driver.get(self.base_url + "inbox/sent?startRow=" + str((i * 10) + 1))
            src = driver.page_source
            while src.find('data-gid') != -1:
                id_start = src.find('data-gid') + 10
                id_end = id_start + 14
                src= src[id_end:]
        print str(len(mbox_ids)) + ' messages'

        msg_count = 0              
        for x in mbox_ids:
            driver.get("http://www.linkedin.com/inbox/#detail?itemId=" + x + "&trk=COMM_NI")
            msg_count = msg_count + 1
                withdraw_link = driver.find_element_by_link_text("Withdraw")
                if withdraw_link != None:
                    print 'withdrew message ' + str(msg_count) + ', id number ' + x
                    print 'no withdraw button found for message ' + str(msg_count) + ', id number ' + x
            except NoSuchElementException, e:
                print 'no withdraw button found for message ' + str(msg_count) + ', id number ' + x

    def is_element_present(self, how, what):
            self.driver.find_element(by=how, value=what)
        except NoSuchElementException, e:
            return False
        return True

    def is_alert_present(self):
        except NoAlertPresentException, e:
            return False
        return True

    def close_alert_and_get_its_text(self):
            alert = self.driver.switch_to_alert()
            alert_text = alert.text
            if self.accept_next_alert:
            return alert_text
        finally: self.accept_next_alert = True

    def tearDown(self):
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":

Instead of the method of using some scripts or individually going to every sent invite and clicking withdraw, I found a semi-automatic, simpler way of withdrawing invites, without any scripts.

Just go to Sent items. Below the name you will see the text "Join my network on LinkedIn". Right click and press T in the keyboard which opens it in a new tab. Do this for all the invites in the sent folder. Then use AltTab to move from tab to tab and click the 'Withdraw' option and then close all the tabs in one shot.

I used Chrome for doing this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.