文信侯呂不韋想攻打趙國以擴張他在河間的封地,他派剛成君蔡澤在燕國作大臣,經過三年努力,燕太子丹入秦為質。文信侯又請秦人張唐到燕國作相國,以聯合燕國攻伐趙國、擴大他在河間的封地。張唐推辭說:“到燕國去必須取道於趙國,由於過去伐趙結下仇怨,趙國正懸賞百里之地抓我。”文信侯很不高興地令他退下。少庶子甘羅問:“君侯為什麼這般不高興呢?”文信侯說:“我讓剛成君蔡澤到燕國做了幾年工作,使太子丹入朝為質,一切就緒了,現在我親自請張唐到燕國為相,他竟推辭不去!”甘羅說:“我有辦法讓他去。”文信侯厲聲斥到:“走開!我親自出馬他尚且無動於衷,你還能有什麼辦法!”甘羅辯解說:“古時項七歲時即為孔子師,我今年已十二歲了,君侯為何不讓我去試一試,為何不由分說便呵斥於我呢!”
於是甘羅拜謁張唐,問他:“閣下認為您的功勳比武安君如何?張唐說:“武安君戰功赫赫,攻城略地,不可勝數,我張唐不如他。”甘羅問:“閣下果真自知功不及武安君嗎?”張唐答道:“是的”甘羅又問:“閣下您看,當年執掌秦政的應侯範睢與今日文信侯相比,哪一個權勢更大?”張唐說:“應該不如文信侯。”甘羅問:“閣下確認這一點嗎?”張唐說:“是的。”甘羅說:“當年應侯想攻打趙國,可武安君阻攔他,結果應侯在離咸陽七里處絞死武安君。現在文信侯親自請您去燕國任相,閣下卻左右不肯,我不知道閣下身死何地啊!”張唐沉吟道:“那就麻煩您跟文信侯說我張唐樂意接受這一使命。”於是他讓人準備車馬盤纏,擇日起程。甘羅又去跟文信侯說:“請君侯替我備五輛車子,讓我先去趙國替張唐打通關節。”
於是甘羅去見趙王,趙王親自到郊外迎接他。甘羅問道:“大王聽說太子丹入秦為質的事嗎?”趙王說:“也聽到了風聲。”甘羅分析道:“太子丹到秦國,燕國就不敢背叛秦;張唐在燕,秦國也不會欺辱燕國。秦、燕相親,就是為了伐趙,趙國就危險了。秦、燕相好,別無他故,只是為了攻伐趙國,擴張河間地盤而已。為大王計,若能送給我五座城邑去拓展河間之地,就能使秦國遣還太子丹,並且聯合趙國一道攻打燕國。”趙王當即割讓五座城邑,秦國也打發太子丹歸燕。趙國攻打燕國,得上谷三十六縣,分給秦國十分之一的土地。