a:6:{i:0;s:7643:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for tele calling executive in ballabhgarh faridabad old faridabad faridabad nit faridabad</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.parasperfect.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.parasperfect.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for tele calling executive in ballabhgarh faridabad old faridabad faridabad nit faridabad</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Tele Calling Executive</div>
									<p class="mt7px fw6">Faridabad, Ballabhgarh, Old Faridabad, NIT, Greater Faridabad, NIT 3</p>
									
				<br>
				<p class="aj mt7px">We are searching for an engaged telecaller to boost sales by reaching out to current and possible clients. To this end, the telecaller will be required to obtain lists of individuals' information, and to source data for additional members of the target audience. You should also jot down important notes during conversations to facilitate follow-ups by our staff.<br />
<br />
To be successful as a telecaller, you should be able to convince even the toughest of individuals to purchase our offerings. A remarkable telecaller will suggest ways in which clients' feedback can be utilized to improve our services.<br />
<br />
Telecaller Responsibilities:<br />
Studying the details of each offering and remaining abreast of updates to these offerings.<br />
Obtaining and updating lists of individuals' contact details.<br />
Calling active and budding clients to encourage the purchase of items.<br />
Addressing clients' uncertainties, grievances, and suggestions on time.<br />
Noting important details of each conversation.<br />
Communicating verbal acceptances of offers to our sales team for closing.<br />
Recording all successful and unsuccessful attempts to close sales.<br />
Attending regular team meetings to clarify progress and performance-related expectations.<br />
Conducting each of your functions with the utmost respect, regardless of others' dispositions.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 2 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  25 Thousand  To  2  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">ITES / BPO / KPO / LPO / Customer Service</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Higher Secondary, Secondary School</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Call Center Executive</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Telecaller</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Sales Executive</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Telemarketing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> BPO</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Ritika Joy</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">715/31, Ashoka Enclave, Near Kanishka Tower,sector-31,</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7429678575 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:hr.superiorrecruitment@gmail.com"> hr.superiorrecruitment@gmail.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="879518">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="988580"><input type="hidden" name="subject" value="Applied for Tele Calling Executive">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</a> <b class="alpha50 bn small">(5)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'aDQ5QllpUjBXK0sydnFpcG03eTA1UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:121:"Job openings for tele calling executive in ballabhgarh faridabad old faridabad faridabad nit faridabad | Addison Services";i:2;s:209:"Tele Calling Executive Jobs,Tele Calling Executive Jobs in Faridabad,Tele Calling Executive Vacancy in Faridabad,Tele Calling Executive jobs in India,ITES / BPO / KPO / LPO / Customer Service jobs in Faridabad";i:3;s:330:"Apply for Tele Calling Executive Jobs in Faridabad India - Tele Calling Executive Vacancy  in ITES / BPO / KPO / LPO / Customer Service field with 0 to 2 years Work Experience, Key Skills are Call Center Executive, Telecaller, Sales Executive, Telemarketing, BPO, ITES / BPO / KPO / LPO / Customer Service jobs in Faridabad  India";i:4;s:2134:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Tele Calling Executive",
		  "baseSalary": " 1  Lac  25 Thousand  To  2  Lac ",
		  "description": "We are searching for an engaged telecaller to boost sales by reaching out to current and possible clients. To this end, the telecaller will be required to obtain lists of individuals' information, and to source data for additional members of the target audience. You should also jot down important notes during conversations to facilitate follow-ups by our staff.

To be successful as a telecaller, you should be able to convince even the toughest of individuals to purchase our offerings. A remarkable telecaller will suggest ways in which clients' feedback can be utilized to improve our services.

Telecaller Responsibilities:
Studying the details of each offering and remaining abreast of updates to these offerings.
Obtaining and updating lists of individuals' contact details.
Calling active and budding clients to encourage the purchase of items.
Addressing clients' uncertainties, grievances, and suggestions on time.
Noting important details of each conversation.
Communicating verbal acceptances of offers to our sales team for closing.
Recording all successful and unsuccessful attempts to close sales.
Attending regular team meetings to clarify progress and performance-related expectations.
Conducting each of your functions with the utmost respect, regardless of others' dispositions.",
		  "educationRequirements": "Higher Secondary, Secondary School",
		  "experienceRequirements": "0 - 2 Years",
		  "industry": "ITES / BPO / KPO / LPO / Customer Service",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Faridabad, Ballabhgarh, Old Faridabad, NIT, Greater Faridabad, NIT 3"
		    }
		  },
		 "qualifications": "Higher Secondary, Secondary School",
		     "skills": "Call Center Executive, Telecaller, Sales Executive, Telemarketing, BPO"
		  }
		</script>
		";i:5;N;}