وی در سال ۱۳۵۸ مدیر برنامه‌های صداوسیمای مشهد را بر عهده داشت؛ و در سال ۱۳۶۱ به سمت مدیرکل صداوسیمای بوشهر و شیراز رسید، و در سال ۱۳۶۲ از شیراز به تهران منتقل و به عنوان مدیر رادیو ایران منصوب گردید، و تا سال۱۳۶۷ در این سمت باقی‌ماند و بعد از آن در همین سال به سمت معاونت برون مرزی صدا و سیما رسید و بعد از آن در دوره وزرات ارشاد سید محمد خاتمی به معاونت امور بین‌الملل وزارت فرهنگ و ارشاد اسلامی منصوب شد، با استعفای سید محمد خاتمی در سال ۱۳۷۱ وی نیز از سمت خود استعفا داد. در دوران ریاست علی لاریجانی بر سازمان صدا و سیمای جمهوری اسلامی ایران وی به عنوان نماینده صداوسیما در بیروت آغاز به کار کرد؛ و در انتخابات ریاست‌جمهوری ایران (۱۳۷۶) بیروت را رها کرد و به ستاد انتخاباتی سید محمد خاتمی پیوست و در تاریخ ۱۳۷۶/۴/۱۹به عنوان ریاست دفتر رئیس جمهور انتخاب شد. پس از انتخابات ریاست جمهوری (۱۳۸۰) در تاریخ ۱۳۸۰/۶/۱۱به سمت معاون امور حقوقی و مجلس رئیس جمهور انتخاب گردید. پس از انتخابات مجلس هفتم پس از سه بار استعفاء در تاریخ ۱۳۸۳/۷/۲۱ استعفایش مورد قبول رئیس‌جمهور قرار می‌گیرد و حکم مشاور رئیس‌جمهوری را دریافت می‌کند. وی همچنین از روز تأسیس مجمع روحانیان مبارز تاکنون عضو شورای مرکزی آن بوده‌است.