> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thoughtly.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Browse Thoughtly promptbooks

> Browse Thoughtly promptbooks — short, focused guides for building voice agents for outbound calling, transfers, scheduling, and CRM workflows.

export const CustomFooter = () => {
  const year = new Date().getFullYear();
  return <footer>
			<div style={{
    borderTop: '1px solid #e5e7eb',
    marginTop: '4rem',
    paddingTop: '3rem',
    paddingBottom: '3rem',
    fontSize: '0.875rem',
    color: '#9ca3af'
  }} className="dark:border-gray-700 dark:text-gray-400">
				<div className="flex flex-col md:flex-row items-center justify-between w-full max-w-8xl px-4 lg:px-12 mx-auto">
					<a href="https://thoughtly.com" target="_blank">
						<img src="https://cdn.thoughtly.com/logo/wordmark-light.svg" alt="Thoughtly Logo" className="h-5 block dark:hidden" />
						<img src="https://cdn.thoughtly.com/logo/wordmark-dark.svg" alt="Thoughtly Logo" className="h-5 hidden dark:block" />
					</a>
					<div className="pt-4 md:pt-0">
						© {year} Thoughtly, Inc. All Rights Reserved.
					</div>
				</div>
			</div>
		</footer>;
};

export const PromptbookBrowse = () => {
  const promptbooks = [{
    id: "1kp8LmATOV0ijz1vEpFU",
    title: "Building your first Voice Agent",
    description: "Learn how to build your first Voice Agent in just a few steps.",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=2048/extension-uploads/1kp8LmATOV0ijz1vEpFU/image/37e92db2-5c3f-4cda-9839-8f1359ad1d0a.png",
    category: "Agents",
    integrations: [],
    url: "/promptbooks/building-your-first-voice-agent"
  }, {
    id: "SVt4DqaqF4a6rZrxUduu",
    title: "Creating multilingual interactions",
    description: "Learn how to make your agent able to speak with someone from any language",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/SVt4DqaqF4a6rZrxUduu/image/687d49cd-b100-45b5-bd0c-d99cf4a5b2ac.png",
    category: "Agents",
    integrations: [],
    url: "/promptbooks/creating-multilingual-interactions"
  }, {
    id: "ugW6PRJS0i0cvxWyotIF",
    title: "Triggering calls from GoHighLevel",
    description: "Learn how to call contacts based on criteria inside of GoHighLevel",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/ugW6PRJS0i0cvxWyotIF/image/6ae6551d-a36d-47f4-8534-407227cb3845.png",
    category: "CRM",
    integrations: ["GoHighLevel"],
    url: "/promptbooks/triggering-calls-from-gohighlevel"
  }, {
    id: "MaOO9bPhyHAP5ZdOq8Gt",
    title: "Instant voice cloning",
    description: "In just a few steps, learn how to clone your voice to power your Voice Agents on phone calls– all powered by Cartesia's sonic model.",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=2048/extension-uploads/MaOO9bPhyHAP5ZdOq8Gt/image/7fb2adcf-0e04-4b56-8919-775160f66117.png",
    category: "Voices",
    integrations: ["Cartesia"],
    url: "/promptbooks/instant-voice-cloning"
  }, {
    id: "n3896qqwHpZW5O9iu90o",
    title: "Inviting new team members",
    description: "Learn how to invite people to your account",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/n3896qqwHpZW5O9iu90o/image/e2e1b034-c74a-4b13-b33c-999ed40ce88b.png",
    category: "General",
    integrations: [],
    url: "/promptbooks/inviting-new-team-members"
  }, {
    id: "uzlTkaqow0lom72ib9Dm",
    title: "Sending mid-call text messages",
    description: "Learn how to send the caller a text message mid-call",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/https://image.mux.com/YnUpA8uHK2HYeSrpIcRVKXa7m8ttgUkpXrSRs73Nmjo/thumbnail.png?time=0",
    category: "General",
    integrations: [],
    url: "/promptbooks/sending-mid-call-text-messages"
  }, {
    id: "qskUJajPjmxVWD3JwQR0",
    title: "Setting up Advanced Settings",
    description: "A short display for Advanced Settings inside the Thoughtly builder",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/qskUJajPjmxVWD3JwQR0/image/db2452ec-2914-48bc-bf98-2b3727a0ff94.png",
    category: "General",
    integrations: [],
    url: "/promptbooks/setting-up-advanced-settings"
  }, {
    id: "B0aYUhVQOTz0eIuz1HMl",
    title: "How to deal with \"call me later\" requests",
    description: "Learn how to have your agent call a contact back based on the time they requested",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/B0aYUhVQOTz0eIuz1HMl/image/161d9a94-8666-4c87-b604-c6edd0540800.png",
    category: "Automations",
    integrations: [],
    url: "/promptbooks/how-to-deal-with-call-me-later-requests"
  }, {
    id: "9jAIABj8M74UuCK5eIWx",
    title: "Triggering calls from HubSpot",
    description: "Learn how to call contacts based on criteria inside of GoHighLevel",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/9jAIABj8M74UuCK5eIWx/image/cc14d98f-a93d-4408-8074-f5d3557e7dc0.png",
    category: "CRM",
    integrations: ["HubSpot"],
    url: "/promptbooks/triggering-calls-from-hubspot"
  }, {
    id: "74dxxooX1GwDH3guiafK",
    title: "Identifying the callers state based on phone number ",
    description: "Learn how to teach your inbound agent the state of the caller thats calling into your phone number",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/74dxxooX1GwDH3guiafK/image/1382aa05-3f5c-449b-abba-51aea2fa8689.png",
    category: "Automations",
    integrations: [],
    url: "/promptbooks/identifying-the-callers-state-based-on-phone-number"
  }, {
    id: "KWAQ7ZNwJz5QiRWqDaUX",
    title: "Creating a basic transfer triage agent",
    description: "Learn how to make an agent whose sole responsibility is to transfer to the correct person",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/KWAQ7ZNwJz5QiRWqDaUX/image/cca23ed9-a099-4cc4-b1ed-8556649e1251.png",
    category: "Agents",
    integrations: [],
    url: "/promptbooks/creating-a-basic-transfer-triage-agent"
  }, {
    id: "OXFsHRttZ536lU6FiaWE",
    title: "Bulk Upload and Bulk Calls",
    description: "Learn how to upload a CSV into Thoughtly and bulk call on Thoughtly",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/OXFsHRttZ536lU6FiaWE/image/393715d3-b366-44c5-a197-78862f226610.png",
    category: "General",
    integrations: [],
    url: "/promptbooks/bulk-upload-and-bulk-calls"
  }, {
    id: "oIIeliNzSWZxMtVK9UKP",
    title: "Looking up your prospects website mid-call",
    description: "Learn how to search for your callers website and pitch them in a personalized way",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/oIIeliNzSWZxMtVK9UKP/image/4cc1c7dd-0cce-4cad-a559-bc3b525bb298.png",
    category: "General",
    integrations: [],
    url: "/promptbooks/looking-up-your-prospects-website-mid-call"
  }, {
    id: "knJ3Y3UhxdkNKvzknIMO",
    title: "Joining the Thoughtly affiliate program",
    description: "Learn about the affiliate portal ",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=3840/extension-uploads/knJ3Y3UhxdkNKvzknIMO/image/db478c86-c569-4fd9-8f7b-42eb2a734fc0.png",
    category: "General",
    integrations: [],
    url: "/promptbooks/joining-the-thoughtly-affiliate-program"
  }, {
    id: "vJycSf6zxSkIDFsep3SF",
    title: "Sending data back to HubSpot",
    description: "Learn how to collect data from a call and send it back to HubSpot",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/vJycSf6zxSkIDFsep3SF/image/90bcff56-fafa-41f5-a3ea-0b01dd2a575c.png",
    category: "CRM",
    integrations: ["HubSpot"],
    url: "/promptbooks/sending-data-back-to-hubspot"
  }, {
    id: "NFOikfIvb4i8MKmCMftc",
    title: "Two ways of tagging conversations",
    description: "Learn the two best ways to tag your conversations with the appropriate tags",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/NFOikfIvb4i8MKmCMftc/image/e7e510ab-0d2c-4600-bb69-8ef3a8d5a2af.png",
    category: "General",
    integrations: [],
    url: "/promptbooks/two-ways-of-tagging-conversations"
  }, {
    id: "mFbHmb6uTW7aDGtjD2pR",
    title: "Building an Agent with Conditional Navigation",
    description: "Learn how to use Thoughtly's new conditional navigation feature for dynamic conversations. ",
    image: "https://cdn.arcade.software/extension-uploads/mFbHmb6uTW7aDGtjD2pR/image/e1bd87d8-174f-4600-970a-06017e2e1213.png",
    category: "Agents",
    integrations: [],
    url: "/promptbooks/building-an-agent-with-conditional-navigation"
  }, {
    id: "c9BBeutY22IOKB19XDUD",
    title: "Sending data back to GoHighLevel",
    description: "Learn how to collect data from a call and send it back to GoHighLevel",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/niRNJbwGIccDI4rqplbk/image/ad02b70b-4f7d-4d1e-96eb-2f4487fba6fd.png",
    category: "CRM",
    integrations: ["GoHighLevel"],
    url: "/promptbooks/sending-data-back-to-gohighlevel"
  }, {
    id: "Ui6FulcqDj9ItNRwQTds",
    title: "Purchasing a Phone Number",
    description: "Learn how to purchase a U.S. and Non-U.S. phone numbers",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/Ui6FulcqDj9ItNRwQTds/image/c094c2ca-25ed-4d8d-9cd5-9bf7b088b822.png",
    category: "General",
    integrations: [],
    url: "/promptbooks/purchasing-a-phone-number"
  }, {
    id: "sIoa2HWUess6E5GyDBud",
    title: "Connect to different inbound agents based on hours",
    description: "Learn how to find what time it is and direct to different agents accordingly ",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/sIoa2HWUess6E5GyDBud/image/1f21a1d1-8189-40ba-80a3-e898282a0f3c.png",
    category: "Automations",
    integrations: [],
    url: "/promptbooks/connect-to-different-inbound-agents-based-on-hours"
  }, {
    id: "5BqykJxyLmpgeYT0bxHz",
    title: "Updating the genius automatically on each call",
    description: "Learn how to teach your agent new information on each call",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/5BqykJxyLmpgeYT0bxHz/image/b3beed0b-1907-4020-9ba1-a56b8ef739da.png",
    category: "General",
    integrations: [],
    url: "/promptbooks/updating-the-genius-automatically-on-each-call"
  }, {
    id: "KmiNZVFi2gBYdjDW0Uko",
    title: "Automated calling via Salesforce",
    description: "Automatically call leads from Salesforce and log call outcomes back to the CRM.",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,f=auto,width=1920,q=75/extension-uploads/MaOO9bPhyHAP5ZdOq8Gt/image/7fb2adcf-0e04-4b56-8919-775160f66117.png",
    category: "CRM",
    integrations: ["Salesforce"],
    url: "/promptbooks/automated-calling-via-salesforce"
  }, {
    id: "sBky4Sex9zdRy6dufAYb",
    title: "Connect to different outbound agents based on hours",
    description: "Learn how to find what time it is and direct to different outbound agents accordingly",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/extension-uploads/sBky4Sex9zdRy6dufAYb/image/879470ee-a022-46aa-a8f2-e8bf63471401.png",
    category: "Automations",
    integrations: [],
    url: "/promptbooks/connect-to-different-outbound-agents-based-on-hours"
  }, {
    id: "3HFcjQBVnbqirj8s473o",
    title: "Scoring calls inside of Thoughtly automations",
    description: "Learn how to create a basic automation that allows you to score your calls based on what matters to you",
    image: "https://cdn.arcade.software/cdn-cgi/image/fit=scale-down,format=auto,dpr=2,width=1920/https://image.mux.com/4lt5MWkuIX9M8RPkdu003QrR4m7Q8JdJfJ017II00OXeJg/thumbnail.png?time=0",
    category: "Automations",
    integrations: [],
    url: "/promptbooks/scoring-calls-inside-of-thoughtly-automations"
  }];
  const categories = ['Filter', ...promptbooks.reduce((acc, book) => {
    if (!acc.includes(book.category)) {
      acc.push(book.category);
    }
    return acc;
  }, [])];
  const colors = ['#EF6E8B', '#F59E0B', '#7C83FD', '#FF92A5', '#A78BFA', '#60A5FA', '#C084FC', '#FB7185', '#F472B6', '#FACC15'];
  const categoryColors = promptbooks.reduce((acc, book) => {
    if (!acc[book.category]) {
      acc[book.category] = colors[Object.keys(acc).length];
    }
    return acc;
  }, {});
  return <div className="w-full">
			<div className="responsive-promptbook-heading">
				<div className="flex flex-row gap-x-4 items-center">
					<span className="text-2xl font-medium text-gray-900 dark:text-white">
						Browse Promptbooks
					</span>
					<Icon icon="arrow-down" iconType="light" size={16} />
				</div>
				<div className="flex flex-row gap-3 items-center justify-end">
					<div className="border border-gray-200 dark:border-gray-700 rounded-md flex items-center px-4 py-2">
						<Icon icon="magnifying-glass" iconType="light" color="gray" size={12} />
						<input type="text" id="promptbookSearch" placeholder="Search promptbooks..." className="pl-2 text-sm bg-transparent focus:outline-none lg:pr-8" />
					</div>

					<div className="border border-gray-200 dark:border-gray-700 rounded-md flex items-center px-4 py-2">
						<Icon icon="filter" iconType="light" color="gray" size={12} />
						<select id="categoryFilter" className="pl-2 appearance-none bg-transparent focus:outline-non text-sm">
							{categories.map(cat => <option key={cat} value={cat}>{cat}</option>)}
						</select>
					</div>
				</div>
			</div>
			<div id="promptbookGrid" className="grid gap-6 py-8">
				{promptbooks.map(book => <div key={book.id} className="promptbook-card transition rounded-xl border border-gray-200 dark:border-gray-700 overflow-hidden" data-category={book.category}>
						<a href={book.url} className="block h-full">
							<div className="bg-primary border-b border-gray-200 dark:border-gray-700 relative overflow-hidden px-4" style={{
    height: "150px"
  }}>
								<div className="relative" style={{
    borderRadius: "8px",
    overflow: "hidden",
    height: "100%",
    transform: "translateY(10%)"
  }}>
									<img src={book.image} alt={book.title} className="w-full h-full object-cover" />
								</div>
								<div style={{
    position: 'absolute',
    top: '0.375rem',
    right: '0.375rem',
    fontSize: '0.75rem',
    fontWeight: 500,
    display: 'flex',
    alignItems: 'center',
    columnGap: '0.5rem'
  }}>
									{book.integrations?.map(integration => <div className="text-xs text-white font-medium dark:text-gray-200 rounded-md px-2 py-1 shadow-lg bg-primary" style={{
    backgroundColor: colors[Math.floor(Math.random() * 10)]
  }}>
											{integration}
										</div>)}
									<div className="text-xs text-white font-medium dark:text-gray-200 rounded-md px-2 py-1 shadow-lg" style={{
    backgroundColor: categoryColors[book.category]
  }}>
										{book.category}
									</div>
								</div>
							</div>
							<div className="p-4">
								<h3 className="text-lg font-semibold text-gray-900 dark:text-white mb-1">{book.title}</h3>
								<p className="text-sm text-gray-600 dark:text-gray-400">{book.description}</p>
							</div>
						</a>
					</div>)}
			</div>
		</div>;
};

<div className="px-4 mx-auto max-w-8xl lg:px-12 min-h-screen">
  <div className="py-8 pointer-events-none cursor-default">
    <img className="block dark:hidden mb-8" src="https://mintcdn.com/thoughtly/SDuN6oJ1BG6zNAlA/images/misc/promptbooks-light.svg?fit=max&auto=format&n=SDuN6oJ1BG6zNAlA&q=85&s=0ffc45763665cbf7965e7fcd4e790bbf" alt="Promptbooks" width="3772" height="688" data-path="images/misc/promptbooks-light.svg" />

    <img className="hidden dark:block mb-8" src="https://mintcdn.com/thoughtly/SDuN6oJ1BG6zNAlA/images/misc/promptbooks-dark.svg?fit=max&auto=format&n=SDuN6oJ1BG6zNAlA&q=85&s=612599d6b4718c7cae6ec4330d3dbb97" alt="Promptbooks" width="3772" height="688" data-path="images/misc/promptbooks-dark.svg" />

    <p
      className="text-lg opacity-80"
      style={{
			maxWidth: '30rem'
		}}
    >
      Resources, templates, and walkthroughs to help you build powerful, fully integrated Voice Agents.
    </p>
  </div>

  ***

  <br />

  <PromptbookBrowse />
</div>

<CustomFooter />
