<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="format-detection" content="telephone=no">
<title>NLPearl | Automate Phone Calls & Voice Interactions with AI</title>
<meta name="description" content="Build human-like AI call centers with natural language prompts. No code, no complexity - just describe what you need.">
<meta name="author" content="NLPearl" />
<!-- Preload Roboto font to avoid FOUT -->
<link rel="preload" href="/fonts/roboto/roboto-latin.woff2" as="font" type="font/woff2" crossorigin />
<meta property="og:type" content="website" />
<meta property="og:image" content="https://nlpearl.ai/images/og-social.png">
<meta name="image" property="og:image" content="https://nlpearl.ai/images/og-social.png">
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@nlpearl" />
<meta name="twitter:image" content="https://nlpearl.ai/images/og-social.png">
<!-- Attribution Context -->
<script>
(function(){var UTM_KEYS=['utm_source','utm_medium','utm_campaign','utm_content','utm_term'];var CLICK_KEYS=['gclid','fbclid','msclkid','ttclid'];var COOKIE_NAME='attribution_context';var DAYS=90;function nowTs(){return Math.floor(Date.now()/1000)}function getParams(){var qs=window.location.search;if(qs&&qs!=='?')return new URLSearchParams(qs);var hash=window.location.hash||'';var i=hash.indexOf('?');return i>=0?new URLSearchParams(hash.slice(i+1)):new URLSearchParams()}function pick(params,keys){var out={};for(var i=0;i<keys.length;i++){var k=keys[i];var v=params.get(k);if(v&&v.trim())out[k]=v.trim()}return out}function getRef(params){var v=params.get('ref');if(!v)return null;v=v.trim();return v?v:null}function readCookie(name){var all=document.cookie||'';var parts=all.split('; ');for(var i=0;i<parts.length;i++){var p=parts[i];var eq=p.indexOf('=');if(eq<0)continue;if(p.slice(0,eq)!==name)continue;var raw=p.slice(eq+1);try{return decodeURIComponent(raw)}catch(e){return raw}}return null}function writeCookie(name,value,days){var exp=new Date(Date.now()+days*864e5).toUTCString();var cookie=name+'='+encodeURIComponent(value)+'; Expires='+exp+'; Path=/'+'; SameSite=Lax'+'; Domain=.nlpearl.ai';if(location.protocol==='https:')cookie+='; Secure';document.cookie=cookie}function safeJsonParse(str){if(!str)return null;try{return JSON.parse(str)}catch(e){return null}}var params=getParams();var utms=pick(params,UTM_KEYS);var clicks=pick(params,CLICK_KEYS);var ref=getRef(params);var hasUtm=Object.keys(utms).length>0;var hasClicks=Object.keys(clicks).length>0;var hasRef=!!ref;if(!hasUtm&&!hasClicks&&!hasRef)return;var ctx=safeJsonParse(readCookie(COOKIE_NAME));if(!ctx||typeof ctx!=='object')ctx={v:1,first:null};var hadFirst=!!ctx.first;var touch=Object.assign({},utms,ref?{ref:ref}:{},{ts:nowTs()});if(!ctx.first){ctx.first=touch}else{if(hasUtm||hasRef)ctx.last=touch}if(hasClicks){ctx.click_ids=(ctx.click_ids&&typeof ctx.click_ids==='object')?ctx.click_ids:{};var firstEmpty=!ctx.click_ids.first||Object.keys(ctx.click_ids.first).length===0;if(firstEmpty)ctx.click_ids.first=Object.assign({},clicks);if(hadFirst)ctx.click_ids.last=Object.assign({},ctx.click_ids.last||{},clicks)}writeCookie(COOKIE_NAME,JSON.stringify(ctx),DAYS)})();
</script>
<meta property="og:title" content="NLPearl | Automate Phone Calls & Voice Interactions with AI">
<meta name="twitter:title" content="NLPearl | Automate Phone Calls & Voice Interactions with AI">
<meta property="og:description" content="Build human-like AI call centers with natural language prompts. No code, no complexity - just describe what you need.">
<meta name="twitter:description" content="Build human-like AI call centers with natural language prompts. No code, no complexity - just describe what you need.">
<script type="module" crossorigin src="/assets/index-BqMTLeYB.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-Cqg6nwg3.css">
<script defer src="https://nlpearl.ai/~flock.js" data-proxy-url="https://nlpearl.ai/~api/analytics"></script></head>
<body>
<div id="root"></div>
</body>
</html>