文信侯吕不韦想攻打赵国以扩张他在河间的封地,他派刚成君蔡泽在燕国作大臣,经过三年努力,燕太子丹入秦为质。文信侯又请秦人张唐到燕国作相国,以联合燕国攻伐赵国、扩大他在河间的封地。张唐推辞说:“到燕国去必须取道于赵国,由于过去伐赵结下仇怨,赵国正悬赏百里之地抓我。”文信侯很不高兴地令他退下。少庶子甘罗问:“君侯为什么这般不高兴呢?”文信侯说:“我让刚成君蔡泽到燕国做了几年工作,使太子丹入朝为质,一切就绪了,现在我亲自请张唐到燕国为相,他竟推辞不去!”甘罗说:“我有办法让他去。”文信侯厉声斥到:“走开!我亲自出马他尚且无动于衷,你还能有什么办法!”甘罗辩解说:“古时项七岁时即为孔子师,我今年已十二岁了,君侯为何不让我去试一试,为何不由分说便呵斥于我呢!”
于是甘罗拜谒张唐,问他:“阁下认为您的功勋比武安君如何?张唐说:“武安君战功赫赫,攻城略地,不可胜数,我张唐不如他。”甘罗问:“阁下果真自知功不及武安君吗?”张唐答道:“是的”甘罗又问:“阁下您看,当年执掌秦政的应侯范睢与今日文信侯相比,哪一个权势更大?”张唐说:“应该不如文信侯。”甘罗问:“阁下确认这一点吗?”张唐说:“是的。”甘罗说:“当年应侯想攻打赵国,可武安君阻拦他,结果应侯在离咸阳七里处绞死武安君。现在文信侯亲自请您去燕国任相,阁下却左右不肯,我不知道阁下身死何地啊!”张唐沉吟道:“那就麻烦您跟文信侯说我张唐乐意接受这一使命。”于是他让人准备车马盘缠,择日起程。甘罗又去跟文信侯说:“请君侯替我备五辆车子,让我先去赵国替张唐打通关节。”
于是甘罗去见赵王,赵王亲自到郊外迎接他。甘罗问道:“大王听说太子丹入秦为质的事吗?”赵王说:“也听到了风声。”甘罗分析道:“太子丹到秦国,燕国就不敢背叛秦;张唐在燕,秦国也不会欺辱燕国。秦、燕相亲,就是为了伐赵,赵国就危险了。秦、燕相好,别无他故,只是为了攻伐赵国,扩张河间地盘而已。为大王计,若能送给我五座城邑去拓展河间之地,就能使秦国遣还太子丹,并且联合赵国一道攻打燕国。”赵王当即割让五座城邑,秦国也打发太子丹归燕。赵国攻打燕国,得上谷三十六县,分给秦国十分之一的土地。